--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.13.0 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.0/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.0/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.0/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 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.0/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 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 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.0/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.0/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.0/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.0/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