248 lines
12 KiB
YAML
248 lines
12 KiB
YAML
|
---
|
||
|
apiVersion: apiextensions.k8s.io/v1
|
||
|
kind: CustomResourceDefinition
|
||
|
metadata:
|
||
|
annotations:
|
||
|
controller-gen.kubebuilder.io/version: v0.16.1
|
||
|
name: ingressroutetcps.traefik.io
|
||
|
spec:
|
||
|
group: traefik.io
|
||
|
names:
|
||
|
kind: IngressRouteTCP
|
||
|
listKind: IngressRouteTCPList
|
||
|
plural: ingressroutetcps
|
||
|
singular: ingressroutetcp
|
||
|
scope: Namespaced
|
||
|
versions:
|
||
|
- name: v1alpha1
|
||
|
schema:
|
||
|
openAPIV3Schema:
|
||
|
description: IngressRouteTCP is the CRD implementation of a Traefik TCP Router.
|
||
|
properties:
|
||
|
apiVersion:
|
||
|
description: |-
|
||
|
APIVersion defines the versioned schema of this representation of an object.
|
||
|
Servers should convert recognized schemas to the latest internal value, and
|
||
|
may reject unrecognized values.
|
||
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
||
|
type: string
|
||
|
kind:
|
||
|
description: |-
|
||
|
Kind is a string value representing the REST resource this object represents.
|
||
|
Servers may infer this from the endpoint the client submits requests to.
|
||
|
Cannot be updated.
|
||
|
In CamelCase.
|
||
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||
|
type: string
|
||
|
metadata:
|
||
|
type: object
|
||
|
spec:
|
||
|
description: IngressRouteTCPSpec defines the desired state of IngressRouteTCP.
|
||
|
properties:
|
||
|
entryPoints:
|
||
|
description: |-
|
||
|
EntryPoints defines the list of entry point names to bind to.
|
||
|
Entry points have to be configured in the static configuration.
|
||
|
More info: https://doc.traefik.io/traefik/v3.2/routing/entrypoints/
|
||
|
Default: all.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
routes:
|
||
|
description: Routes defines the list of routes.
|
||
|
items:
|
||
|
description: RouteTCP holds the TCP route configuration.
|
||
|
properties:
|
||
|
match:
|
||
|
description: |-
|
||
|
Match defines the router's rule.
|
||
|
More info: https://doc.traefik.io/traefik/v3.2/routing/routers/#rule_1
|
||
|
type: string
|
||
|
middlewares:
|
||
|
description: Middlewares defines the list of references to MiddlewareTCP
|
||
|
resources.
|
||
|
items:
|
||
|
description: ObjectReference is a generic reference to a Traefik
|
||
|
resource.
|
||
|
properties:
|
||
|
name:
|
||
|
description: Name defines the name of the referenced Traefik
|
||
|
resource.
|
||
|
type: string
|
||
|
namespace:
|
||
|
description: Namespace defines the namespace of the referenced
|
||
|
Traefik resource.
|
||
|
type: string
|
||
|
required:
|
||
|
- name
|
||
|
type: object
|
||
|
type: array
|
||
|
priority:
|
||
|
description: |-
|
||
|
Priority defines the router's priority.
|
||
|
More info: https://doc.traefik.io/traefik/v3.2/routing/routers/#priority_1
|
||
|
type: integer
|
||
|
services:
|
||
|
description: Services defines the list of TCP services.
|
||
|
items:
|
||
|
description: ServiceTCP defines an upstream TCP service to
|
||
|
proxy traffic to.
|
||
|
properties:
|
||
|
name:
|
||
|
description: Name defines the name of the referenced Kubernetes
|
||
|
Service.
|
||
|
type: string
|
||
|
namespace:
|
||
|
description: Namespace defines the namespace of the referenced
|
||
|
Kubernetes Service.
|
||
|
type: string
|
||
|
nativeLB:
|
||
|
description: |-
|
||
|
NativeLB controls, when creating the load-balancer,
|
||
|
whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP.
|
||
|
The Kubernetes Service itself does load-balance to the pods.
|
||
|
By default, NativeLB is false.
|
||
|
type: boolean
|
||
|
nodePortLB:
|
||
|
description: |-
|
||
|
NodePortLB controls, when creating the load-balancer,
|
||
|
whether the LB's children are directly the nodes internal IPs using the nodePort when the service type is NodePort.
|
||
|
It allows services to be reachable when Traefik runs externally from the Kubernetes cluster but within the same network of the nodes.
|
||
|
By default, NodePortLB is false.
|
||
|
type: boolean
|
||
|
port:
|
||
|
anyOf:
|
||
|
- type: integer
|
||
|
- type: string
|
||
|
description: |-
|
||
|
Port defines the port of a Kubernetes Service.
|
||
|
This can be a reference to a named port.
|
||
|
x-kubernetes-int-or-string: true
|
||
|
proxyProtocol:
|
||
|
description: |-
|
||
|
ProxyProtocol defines the PROXY protocol configuration.
|
||
|
More info: https://doc.traefik.io/traefik/v3.2/routing/services/#proxy-protocol
|
||
|
properties:
|
||
|
version:
|
||
|
description: Version defines the PROXY Protocol version
|
||
|
to use.
|
||
|
type: integer
|
||
|
type: object
|
||
|
serversTransport:
|
||
|
description: |-
|
||
|
ServersTransport defines the name of ServersTransportTCP resource to use.
|
||
|
It allows to configure the transport between Traefik and your servers.
|
||
|
Can only be used on a Kubernetes Service.
|
||
|
type: string
|
||
|
terminationDelay:
|
||
|
description: |-
|
||
|
TerminationDelay defines the deadline that the proxy sets, after one of its connected peers indicates
|
||
|
it has closed the writing capability of its connection, to close the reading capability as well,
|
||
|
hence fully terminating the connection.
|
||
|
It is a duration in milliseconds, defaulting to 100.
|
||
|
A negative value means an infinite deadline (i.e. the reading capability is never closed).
|
||
|
Deprecated: TerminationDelay will not be supported in future APIVersions, please use ServersTransport to configure the TerminationDelay instead.
|
||
|
type: integer
|
||
|
tls:
|
||
|
description: TLS determines whether to use TLS when dialing
|
||
|
with the backend.
|
||
|
type: boolean
|
||
|
weight:
|
||
|
description: Weight defines the weight used when balancing
|
||
|
requests between multiple Kubernetes Service.
|
||
|
type: integer
|
||
|
required:
|
||
|
- name
|
||
|
- port
|
||
|
type: object
|
||
|
type: array
|
||
|
syntax:
|
||
|
description: |-
|
||
|
Syntax defines the router's rule syntax.
|
||
|
More info: https://doc.traefik.io/traefik/v3.2/routing/routers/#rulesyntax_1
|
||
|
type: string
|
||
|
required:
|
||
|
- match
|
||
|
type: object
|
||
|
type: array
|
||
|
tls:
|
||
|
description: |-
|
||
|
TLS defines the TLS configuration on a layer 4 / TCP Route.
|
||
|
More info: https://doc.traefik.io/traefik/v3.2/routing/routers/#tls_1
|
||
|
properties:
|
||
|
certResolver:
|
||
|
description: |-
|
||
|
CertResolver defines the name of the certificate resolver to use.
|
||
|
Cert resolvers have to be configured in the static configuration.
|
||
|
More info: https://doc.traefik.io/traefik/v3.2/https/acme/#certificate-resolvers
|
||
|
type: string
|
||
|
domains:
|
||
|
description: |-
|
||
|
Domains defines the list of domains that will be used to issue certificates.
|
||
|
More info: https://doc.traefik.io/traefik/v3.2/routing/routers/#domains
|
||
|
items:
|
||
|
description: Domain holds a domain name with SANs.
|
||
|
properties:
|
||
|
main:
|
||
|
description: Main defines the main domain name.
|
||
|
type: string
|
||
|
sans:
|
||
|
description: SANs defines the subject alternative domain
|
||
|
names.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
type: object
|
||
|
type: array
|
||
|
options:
|
||
|
description: |-
|
||
|
Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
|
||
|
If not defined, the `default` TLSOption is used.
|
||
|
More info: https://doc.traefik.io/traefik/v3.2/https/tls/#tls-options
|
||
|
properties:
|
||
|
name:
|
||
|
description: Name defines the name of the referenced Traefik
|
||
|
resource.
|
||
|
type: string
|
||
|
namespace:
|
||
|
description: Namespace defines the namespace of the referenced
|
||
|
Traefik resource.
|
||
|
type: string
|
||
|
required:
|
||
|
- name
|
||
|
type: object
|
||
|
passthrough:
|
||
|
description: Passthrough defines whether a TLS router will terminate
|
||
|
the TLS connection.
|
||
|
type: boolean
|
||
|
secretName:
|
||
|
description: SecretName is the name of the referenced Kubernetes
|
||
|
Secret to specify the certificate details.
|
||
|
type: string
|
||
|
store:
|
||
|
description: |-
|
||
|
Store defines the reference to the TLSStore, that will be used to store certificates.
|
||
|
Please note that only `default` TLSStore can be used.
|
||
|
properties:
|
||
|
name:
|
||
|
description: Name defines the name of the referenced Traefik
|
||
|
resource.
|
||
|
type: string
|
||
|
namespace:
|
||
|
description: Namespace defines the namespace of the referenced
|
||
|
Traefik resource.
|
||
|
type: string
|
||
|
required:
|
||
|
- name
|
||
|
type: object
|
||
|
type: object
|
||
|
required:
|
||
|
- routes
|
||
|
type: object
|
||
|
required:
|
||
|
- metadata
|
||
|
- spec
|
||
|
type: object
|
||
|
served: true
|
||
|
storage: true
|