blob: 908e9c1f7ce7762c0172d349cc14cc4ad0a9afea [file] [log] [blame]
# Helm values for Traefik, the ingress controller replacing ingress-nginx.
#
# helm upgrade --install traefik traefik --repo https://traefik.github.io/charts \
# --version 42.1.3 -n traefik --create-namespace -f traefik/values.yaml
#
# Traefik serves the existing Ingress objects of class "nginx" through its
# ingress-nginx compatibility provider, so the Ingresses need no changes.
# The CRD provider is enabled for routes that need Traefik middlewares
# (e.g., the cgit rate limit in git/git.yaml).
#
# Both entrypoints run the per-client-IP rate limit from
# traefik/middlewares.yaml, which must be applied before this release.
deployment:
replicas: 1
# Single node with hostPorts: the old pod must release the ports before the
# new one can start.
updateStrategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 0
maxUnavailable: 1
resources:
requests:
cpu: 100m
memory: 100Mi
# ifirn is occasionally CPU-starved; the default 2s timeout caused liveness
# kills under load.
readinessProbe:
timeoutSeconds: 5
livenessProbe:
timeoutSeconds: 5
accessLog:
enabled: true
ingressClass:
# The "nginx" IngressClass (traefik/ingressclass.yaml) is kept instead.
enabled: false
providers:
kubernetesCRD:
enabled: true
allowCrossNamespace: false
kubernetesIngress:
enabled: false
kubernetesIngressNGINX:
enabled: true
ingressClass: nginx
controllerClass: k8s.io/ingress-nginx
# Defaults carried over from the old ingress-nginx ConfigMap.
proxyBufferSize: 65536
proxyRequestBuffering: true
service:
spec:
type: NodePort
ports:
web:
hostPort: 80
http:
aliasHeadersStrategy: delete
middlewares: &middlewares
- traefik-ratelimit-per-ip@kubernetescrd
encodedCharacters: &encodedCharacters
allowEncodedBackSlash: true
allowEncodedHash: true
allowEncodedPercent: true
allowEncodedQuestionMark: true
allowEncodedSemicolon: true
allowEncodedSlash: true
websecure:
hostPort: 443
http:
aliasHeadersStrategy: delete
middlewares: *middlewares
encodedCharacters: *encodedCharacters