Official traefik values

main
Jaromir Rivera 2022-08-31 12:06:41 -04:00
parent 2463836b79
commit 7445b7d0e4
1 changed files with 96 additions and 48 deletions

View File

@ -22,6 +22,8 @@ data:
kind: Deployment kind: Deployment
# Number of pods of the deployment (only applies when kind == Deployment) # Number of pods of the deployment (only applies when kind == Deployment)
replicas: 3 replicas: 3
# Number of old history to retain to allow rollback (If not set, default Kubernetes value is set to 10)
# revisionHistoryLimit: 1
# Amount of time (in seconds) before Kubernetes will send the SIGKILL signal if Traefik does not shut down # Amount of time (in seconds) before Kubernetes will send the SIGKILL signal if Traefik does not shut down
terminationGracePeriodSeconds: 60 terminationGracePeriodSeconds: 60
# The minimum number of seconds Traefik needs to be up and running before the DaemonSet/ Deployment controller considers it available # The minimum number of seconds Traefik needs to be up and running before the DaemonSet/ Deployment controller considers it available
@ -58,6 +60,8 @@ data:
# volumeMounts: # volumeMounts:
# - name: data # - name: data
# mountPath: /data # mountPath: /data
# Use process namespace sharing
shareProcessNamespace: false
# Custom pod DNS policy. Apply if `hostNetwork: true` # Custom pod DNS policy. Apply if `hostNetwork: true`
# dnsPolicy: ClusterFirstWithHostNet # dnsPolicy: ClusterFirstWithHostNet
# Additional imagePullSecrets # Additional imagePullSecrets
@ -89,13 +93,14 @@ data:
# Enable experimental features # Enable experimental features
experimental: experimental:
http3:
enabled: false
plugins: plugins:
enabled: false enabled: false
kubernetesGateway: kubernetesGateway:
enabled: false enabled: false
appLabelSelector: "traefik" # certificate:
certificates: [] # group: "core"
# - group: "core"
# kind: "Secret" # kind: "Secret"
# name: "mysecret" # name: "mysecret"
# By default, Gateway would be created to the Namespace you are deploying Traefik to. # By default, Gateway would be created to the Namespace you are deploying Traefik to.
@ -105,7 +110,7 @@ data:
# Create an IngressRoute for the dashboard # Create an IngressRoute for the dashboard
ingressRoute: ingressRoute:
dashboard: dashboard:
enabled: false enabled: true
# Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class) # Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class)
annotations: {} annotations: {}
# Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels) # Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels)
@ -115,6 +120,20 @@ data:
maxUnavailable: 1 maxUnavailable: 1
maxSurge: 1 maxSurge: 1
# Customize liveness and readiness probe values.
readinessProbe:
failureThreshold: 1
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 2
livenessProbe:
failureThreshold: 3
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 2
# #
# Configure providers # Configure providers
@ -122,16 +141,19 @@ data:
providers: providers:
kubernetesCRD: kubernetesCRD:
enabled: true enabled: true
# allowCrossNamespace: false allowCrossNamespace: false
# allowExternalNameServices: false allowExternalNameServices: false
allowEmptyServices: false
ingressClass: traefik-internal ingressClass: traefik-internal
# labelSelector: environment=production,method=traefik # labelSelector: environment=production,method=traefik
namespaces: namespaces: []
- "default" # - "default"
kubernetesIngress: kubernetesIngress:
enabled: true enabled: true
allowExternalNameServices: false allowExternalNameServices: false
allowEmptyServices: false
# ingressClass: traefik-internal
# labelSelector: environment=production,method=traefik # labelSelector: environment=production,method=traefik
namespaces: [] namespaces: []
# - "default" # - "default"
@ -150,10 +172,7 @@ data:
# - "--providers.file.filename=/config/dynamic.toml" # - "--providers.file.filename=/config/dynamic.toml"
# - "--ping" # - "--ping"
# - "--ping.entrypoint=web" # - "--ping.entrypoint=web"
volumes: volumes: []
# - name: ssl
# secret:
# secretName: wildcard-k3s.securait.local
# - name: public-cert # - name: public-cert
# mountPath: "/certs" # mountPath: "/certs"
# type: secret # type: secret
@ -162,9 +181,7 @@ data:
# type: configMap # type: configMap
# Additional volumeMounts to add to the Traefik container # Additional volumeMounts to add to the Traefik container
additionalVolumeMounts: additionalVolumeMounts: []
# - name: ssl
# mountPath: /ssl
# For instance when using a logshipper for access logs # For instance when using a logshipper for access logs
# - name: traefik-logs # - name: traefik-logs
# mountPath: /var/log/traefik # mountPath: /var/log/traefik
@ -196,7 +213,7 @@ data:
# retryattempts: true # retryattempts: true
# minduration: 10ms # minduration: 10ms
# Fields # Fields
# https://docs.traefik.io/observability/access-logs/#limiting-the-fieldsincluding-headers # https://docs.traefik.io/observability/access-logs/ #limiting-the-fieldsincluding-headers
fields: fields:
general: general:
defaultmode: keep defaultmode: keep
@ -219,9 +236,19 @@ data:
# protocol: udp # protocol: udp
prometheus: prometheus:
entryPoint: metrics entryPoint: metrics
# addRoutersLabels: true
# statsd: # statsd:
# address: localhost:8125 # address: localhost:8125
tracing: {}
# instana:
# enabled: true
# datadog:
# localAgentHostPort: 127.0.0.1:8126
# debug: false
# globalTag: ""
# prioritySampling: false
globalArguments: globalArguments:
- "--global.checknewversion=false" - "--global.checknewversion=false"
- "--global.sendanonymoususage=false" - "--global.sendanonymoususage=false"
@ -229,7 +256,7 @@ data:
# #
# Configure Traefik static configuration # Configure Traefik static configuration
# Additional arguments to be passed at Traefik's binary # Additional arguments to be passed at Traefik's binary
# All available options available on https://docs.traefik.io/reference/static-configuration/cli/ # All available options available on https://docs.traefik.io/reference/ static-configuration/cli/
## Use curly braces to pass values: `helm install --set="additionalArguments={--providers. kubernetesingress.ingressclass=traefik-internal,--log.level=DEBUG}"` ## Use curly braces to pass values: `helm install --set="additionalArguments={--providers. kubernetesingress.ingressclass=traefik-internal,--log.level=DEBUG}"`
additionalArguments: additionalArguments:
- "--serversTransport.insecureSkipVerify=true" - "--serversTransport.insecureSkipVerify=true"
@ -301,7 +328,7 @@ data:
# Port Redirections # Port Redirections
# Added in 2.2, you can make permanent redirects via entrypoints. # Added in 2.2, you can make permanent redirects via entrypoints.
# https://docs.traefik.io/routing/entrypoints/#redirection # https://docs.traefik.io/routing/entrypoints/#redirection
# redirectTo: websecure redirectTo: websecure
websecure: websecure:
port: 8443 port: 8443
# hostPort: 8443 # hostPort: 8443
@ -310,6 +337,10 @@ data:
# The port protocol (TCP/UDP) # The port protocol (TCP/UDP)
protocol: TCP protocol: TCP
# nodePort: 32443 # nodePort: 32443
# Enable HTTP/3.
# Requires enabling experimental http3 feature and tls.
# Note that you cannot have a UDP entrypoint with the same port.
# http3: true
# Set TLS at the entrypoint # Set TLS at the entrypoint
# https://doc.traefik.io/traefik/routing/entrypoints/#tls # https://doc.traefik.io/traefik/routing/entrypoints/#tls
tls: tls:
@ -376,6 +407,11 @@ data:
# - 1.2.3.4 # - 1.2.3.4
# One of SingleStack, PreferDualStack, or RequireDualStack. # One of SingleStack, PreferDualStack, or RequireDualStack.
# ipFamilyPolicy: SingleStack # ipFamilyPolicy: SingleStack
# List of IP families (e.g. IPv4 and/or IPv6).
# ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
# ipFamilies:
# - IPv4
# - IPv6
## Create HorizontalPodAutoscaler object. ## Create HorizontalPodAutoscaler object.
## ##
@ -410,11 +446,32 @@ data:
annotations: {} annotations: {}
# subPath: "" # only mount a subpath of the Volume into the pod # subPath: "" # only mount a subpath of the Volume into the pod
certResolvers: {}
# letsencrypt:
# # for challenge options cf. https://doc.traefik.io/traefik/https/acme/
# email: email@example.com
# dnsChallenge:
# # also add the provider's required configuration under env
# # or expand then from secrets/configmaps with envfrom
# # cf. https://doc.traefik.io/traefik/https/acme/#providers
# provider: digitalocean
# # add futher options for the dns challenge as needed
# # cf. https://doc.traefik.io/traefik/https/acme/#dnschallenge
# delayBeforeCheck: 30
# resolvers:
# - 1.1.1.1
# - 8.8.8.8
# tlsChallenge: true
# httpChallenge:
# entryPoint: "web"
# # match the path to persistence
# storage: /data/acme.json
# If hostNetwork is true, runs traefik in the host network namespace # If hostNetwork is true, runs traefik in the host network namespace
# To prevent unschedulabel pods due to port collisions, if hostNetwork=true # To prevent unschedulabel pods due to port collisions, if hostNetwork=true
# and replicas>1, a pod anti-affinity is recommended and will be set if the # and replicas>1, a pod anti-affinity is recommended and will be set if the
# affinity is left as default. # affinity is left as default.
hostNetwork: true hostNetwork: false
# Whether Role Based Access Control objects like roles and rolebindings should be created # Whether Role Based Access Control objects like roles and rolebindings should be created
rbac: rbac:
@ -452,22 +509,13 @@ data:
# requiredDuringSchedulingIgnoredDuringExecution: # requiredDuringSchedulingIgnoredDuringExecution:
# - labelSelector: # - labelSelector:
# matchExpressions: # matchExpressions:
# - key: app # - key: app.kubernetes.io/name
# operator: In # operator: In
# values: # values:
# - {{ template "traefik.name" . }} # - {{ template "traefik.name" . }}
# topologyKey: failure-domain.beta.kubernetes.io/zone # topologyKey: kubernetes.io/hostname
nodeSelector: {} nodeSelector: {}
tolerations: tolerations: []
- key: "CriticalAddonsOnly"
operator: "Exists"
- key: "node-role.kubernetes.io/control-plane"
operator: "Exists"
effect: "NoSchedule"
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoSchedule"
# Pods can have priority. # Pods can have priority.
# Priority indicates the importance of a Pod relative to other Pods. # Priority indicates the importance of a Pod relative to other Pods.