NGINX Ingress Provider
Co-authored-by: Kevin Pollet <pollet.kevin@gmail.com>
This commit is contained in:
parent
b39ee8ede5
commit
9bd5c61782
32 changed files with 3894 additions and 18 deletions
|
|
@ -339,6 +339,9 @@ Enable debug mode for the FastProxy implementation. (Default: ```false```)
|
|||
`--experimental.kubernetesgateway`:
|
||||
(Deprecated) Allow the Kubernetes gateway api provider usage. (Default: ```false```)
|
||||
|
||||
`--experimental.kubernetesingressnginx`:
|
||||
Allow the Kubernetes Ingress NGINX provider usage. (Default: ```false```)
|
||||
|
||||
`--experimental.localplugins.<name>`:
|
||||
Local plugins configuration. (Default: ```false```)
|
||||
|
||||
|
|
@ -1047,6 +1050,51 @@ Ingress refresh throttle duration (Default: ```0```)
|
|||
`--providers.kubernetesingress.token`:
|
||||
Kubernetes bearer token (not needed for in-cluster client). It accepts either a token value or a file path to the token.
|
||||
|
||||
`--providers.kubernetesingressnginx`:
|
||||
Enable Kubernetes Ingress NGINX provider. (Default: ```false```)
|
||||
|
||||
`--providers.kubernetesingressnginx.certauthfilepath`:
|
||||
Kubernetes certificate authority file path (not needed for in-cluster client).
|
||||
|
||||
`--providers.kubernetesingressnginx.controllerclass`:
|
||||
Ingress Class Controller value this controller satisfies. (Default: ```k8s.io/ingress-nginx```)
|
||||
|
||||
`--providers.kubernetesingressnginx.defaultbackendservice`:
|
||||
Service used to serve HTTP requests not matching any known server name (catch-all). Takes the form 'namespace/name'.
|
||||
|
||||
`--providers.kubernetesingressnginx.disablesvcexternalname`:
|
||||
Disable support for Services of type ExternalName. (Default: ```false```)
|
||||
|
||||
`--providers.kubernetesingressnginx.endpoint`:
|
||||
Kubernetes server endpoint (required for external cluster client).
|
||||
|
||||
`--providers.kubernetesingressnginx.ingressclass`:
|
||||
Name of the ingress class this controller satisfies. (Default: ```nginx```)
|
||||
|
||||
`--providers.kubernetesingressnginx.ingressclassbyname`:
|
||||
Define if Ingress Controller should watch for Ingress Class by Name together with Controller Class. (Default: ```false```)
|
||||
|
||||
`--providers.kubernetesingressnginx.publishservice`:
|
||||
Service fronting the Ingress controller. Takes the form 'namespace/name'.
|
||||
|
||||
`--providers.kubernetesingressnginx.publishstatusaddress`:
|
||||
Customized address (or addresses, separated by comma) to set as the load-balancer status of Ingress objects this controller satisfies.
|
||||
|
||||
`--providers.kubernetesingressnginx.throttleduration`:
|
||||
Ingress refresh throttle duration. (Default: ```0```)
|
||||
|
||||
`--providers.kubernetesingressnginx.token`:
|
||||
Kubernetes bearer token (not needed for in-cluster client). It accepts either a token value or a file path to the token.
|
||||
|
||||
`--providers.kubernetesingressnginx.watchingresswithoutclass`:
|
||||
Define if Ingress Controller should also watch for Ingresses without an IngressClass or the annotation specified. (Default: ```false```)
|
||||
|
||||
`--providers.kubernetesingressnginx.watchnamespace`:
|
||||
Namespace the controller watches for updates to Kubernetes objects. All namespaces are watched if this parameter is left empty.
|
||||
|
||||
`--providers.kubernetesingressnginx.watchnamespaceselector`:
|
||||
Selector selects namespaces the controller watches for updates to Kubernetes objects.
|
||||
|
||||
`--providers.nomad`:
|
||||
Enable Nomad backend with default settings. (Default: ```false```)
|
||||
|
||||
|
|
|
|||
|
|
@ -339,6 +339,9 @@ Enable debug mode for the FastProxy implementation. (Default: ```false```)
|
|||
`TRAEFIK_EXPERIMENTAL_KUBERNETESGATEWAY`:
|
||||
(Deprecated) Allow the Kubernetes gateway api provider usage. (Default: ```false```)
|
||||
|
||||
`TRAEFIK_EXPERIMENTAL_KUBERNETESINGRESSNGINX`:
|
||||
Allow the Kubernetes Ingress NGINX provider usage. (Default: ```false```)
|
||||
|
||||
`TRAEFIK_EXPERIMENTAL_LOCALPLUGINS_<NAME>`:
|
||||
Local plugins configuration. (Default: ```false```)
|
||||
|
||||
|
|
@ -999,6 +1002,51 @@ Kubernetes bearer token (not needed for in-cluster client). It accepts either a
|
|||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESS`:
|
||||
Enable Kubernetes backend with default settings. (Default: ```false```)
|
||||
|
||||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESSNGINX`:
|
||||
Enable Kubernetes Ingress NGINX provider. (Default: ```false```)
|
||||
|
||||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESSNGINX_CERTAUTHFILEPATH`:
|
||||
Kubernetes certificate authority file path (not needed for in-cluster client).
|
||||
|
||||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESSNGINX_CONTROLLERCLASS`:
|
||||
Ingress Class Controller value this controller satisfies. (Default: ```k8s.io/ingress-nginx```)
|
||||
|
||||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESSNGINX_DEFAULTBACKENDSERVICE`:
|
||||
Service used to serve HTTP requests not matching any known server name (catch-all). Takes the form 'namespace/name'.
|
||||
|
||||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESSNGINX_DISABLESVCEXTERNALNAME`:
|
||||
Disable support for Services of type ExternalName. (Default: ```false```)
|
||||
|
||||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESSNGINX_ENDPOINT`:
|
||||
Kubernetes server endpoint (required for external cluster client).
|
||||
|
||||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESSNGINX_INGRESSCLASS`:
|
||||
Name of the ingress class this controller satisfies. (Default: ```nginx```)
|
||||
|
||||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESSNGINX_INGRESSCLASSBYNAME`:
|
||||
Define if Ingress Controller should watch for Ingress Class by Name together with Controller Class. (Default: ```false```)
|
||||
|
||||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESSNGINX_PUBLISHSERVICE`:
|
||||
Service fronting the Ingress controller. Takes the form 'namespace/name'.
|
||||
|
||||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESSNGINX_PUBLISHSTATUSADDRESS`:
|
||||
Customized address (or addresses, separated by comma) to set as the load-balancer status of Ingress objects this controller satisfies.
|
||||
|
||||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESSNGINX_THROTTLEDURATION`:
|
||||
Ingress refresh throttle duration. (Default: ```0```)
|
||||
|
||||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESSNGINX_TOKEN`:
|
||||
Kubernetes bearer token (not needed for in-cluster client). It accepts either a token value or a file path to the token.
|
||||
|
||||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESSNGINX_WATCHINGRESSWITHOUTCLASS`:
|
||||
Define if Ingress Controller should also watch for Ingresses without an IngressClass or the annotation specified. (Default: ```false```)
|
||||
|
||||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESSNGINX_WATCHNAMESPACE`:
|
||||
Namespace the controller watches for updates to Kubernetes objects. All namespaces are watched if this parameter is left empty.
|
||||
|
||||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESSNGINX_WATCHNAMESPACESELECTOR`:
|
||||
Selector selects namespaces the controller watches for updates to Kubernetes objects.
|
||||
|
||||
`TRAEFIK_PROVIDERS_KUBERNETESINGRESS_ALLOWEMPTYSERVICES`:
|
||||
Allow creation of services without endpoints. (Default: ```false```)
|
||||
|
||||
|
|
|
|||
|
|
@ -143,6 +143,21 @@
|
|||
ip = "foobar"
|
||||
hostname = "foobar"
|
||||
publishedService = "foobar"
|
||||
[providers.kubernetesIngressNGINX]
|
||||
endpoint = "foobar"
|
||||
token = "foobar"
|
||||
certAuthFilePath = "foobar"
|
||||
throttleDuration = "42s"
|
||||
watchNamespace = "foobar"
|
||||
watchNamespaceSelector = "foobar"
|
||||
ingressClass = "foobar"
|
||||
controllerClass = "foobar"
|
||||
watchIngressWithoutClass = true
|
||||
ingressClassByName = true
|
||||
publishService = "foobar"
|
||||
publishStatusAddress = ["foobar", "foobar"]
|
||||
defaultBackendService = "foobar"
|
||||
disableSvcExternalName = true
|
||||
[providers.kubernetesCRD]
|
||||
endpoint = "foobar"
|
||||
token = "foobar"
|
||||
|
|
@ -572,6 +587,7 @@
|
|||
[experimental]
|
||||
abortOnPluginFailure = true
|
||||
otlplogs = true
|
||||
kubernetesIngressNGINX = true
|
||||
kubernetesGateway = true
|
||||
[experimental.plugins]
|
||||
[experimental.plugins.Descriptor0]
|
||||
|
|
|
|||
|
|
@ -158,6 +158,23 @@ providers:
|
|||
disableClusterScopeResources: true
|
||||
nativeLBByDefault: true
|
||||
strictPrefixMatching: true
|
||||
kubernetesIngressNGINX:
|
||||
endpoint: foobar
|
||||
token: foobar
|
||||
certAuthFilePath: foobar
|
||||
throttleDuration: 42s
|
||||
watchNamespace: foobar
|
||||
watchNamespaceSelector: foobar
|
||||
ingressClass: foobar
|
||||
controllerClass: foobar
|
||||
watchIngressWithoutClass: true
|
||||
ingressClassByName: true
|
||||
publishService: foobar
|
||||
publishStatusAddress:
|
||||
- foobar
|
||||
- foobar
|
||||
defaultBackendService: foobar
|
||||
disableSvcExternalName: true
|
||||
kubernetesCRD:
|
||||
endpoint: foobar
|
||||
token: foobar
|
||||
|
|
@ -670,6 +687,7 @@ experimental:
|
|||
fastProxy:
|
||||
debug: true
|
||||
otlplogs: true
|
||||
kubernetesIngressNGINX: true
|
||||
kubernetesGateway: true
|
||||
core:
|
||||
defaultRuleSyntax: foobar
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue