323 lines
15 KiB
YAML
323 lines
15 KiB
YAML
# Default values for external-dns.
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
|
|
global:
|
|
# -- Global image pull secrets.
|
|
imagePullSecrets: [] # @schema item: object
|
|
|
|
image: # @schema additionalProperties: false
|
|
# -- Image repository for the `external-dns` container.
|
|
repository: registry.k8s.io/external-dns/external-dns
|
|
# -- Image tag for the `external-dns` container, this will default to `.Chart.AppVersion` if not set.
|
|
tag: # @schema type:[string, null]
|
|
# -- Image pull policy for the `external-dns` container.
|
|
pullPolicy: IfNotPresent # @schema enum:[IfNotPresent, Always]
|
|
|
|
# -- Image pull secrets.
|
|
imagePullSecrets: [] # @schema item: object
|
|
|
|
# -- (string) Override the name of the chart.
|
|
nameOverride: # @schema type:[string, null]; default: null
|
|
|
|
# -- (string) Override the full name of the chart.
|
|
fullnameOverride: # @schema type:[string, null]; default: null
|
|
|
|
# -- Labels to add to all chart resources.
|
|
commonLabels: {}
|
|
|
|
serviceAccount:
|
|
# -- If `true`, create a new `ServiceAccount`.
|
|
create: true
|
|
# -- Labels to add to the service account.
|
|
labels: {}
|
|
# -- Annotations to add to the service account. Templates are allowed in both the key and the value. Example: `example.com/annotation/{{ .Values.nameOverride }}: {{ .Values.nameOverride }}`
|
|
annotations: {}
|
|
# -- (string) If this is set and `serviceAccount.create` is `true` this will be used for the created `ServiceAccount` name, if set and `serviceAccount.create` is `false` then this will define an existing `ServiceAccount` to use.
|
|
name: # @schema type:[string, null]; default: null
|
|
# -- Set this to `false` to [opt out of API credential automounting](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#opt-out-of-api-credential-automounting) for the `ServiceAccount`.
|
|
automountServiceAccountToken: true
|
|
|
|
service:
|
|
# -- Service annotations.
|
|
annotations: {}
|
|
# -- Service HTTP port.
|
|
port: 7979 # @schema minimum:0; default:7979
|
|
# -- Service IP families (e.g. IPv4 and/or IPv6).
|
|
ipFamilies: [] # @schema type: [array, null]; item: string; itemEnum: ["IPv4", "IPv6"]; minItems:0; maxItems:2; uniqueItems: true
|
|
# - IPv4
|
|
# - IPv6
|
|
# -- Service IP family policy.
|
|
ipFamilyPolicy: # @schema type: [string, null]; enum:[SingleStack, PreferDualStack, RequireDualStack, null]
|
|
|
|
rbac: # @schema additionalProperties: true
|
|
# -- If `true`, create a `ClusterRole` & `ClusterRoleBinding` with access to the Kubernetes API.
|
|
create: true
|
|
# -- Additional rules to add to the `ClusterRole`.
|
|
additionalPermissions: []
|
|
|
|
# -- Annotations to add to the `Deployment`.
|
|
deploymentAnnotations: {}
|
|
|
|
# -- Extra containers to add to the `Deployment`.
|
|
extraContainers: []
|
|
|
|
# -- [Deployment Strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy).
|
|
deploymentStrategy: # @schema additionalProperties: true
|
|
type: Recreate # @schema enum:[Recreate, RollingUpdate]; type:string; default: Recreate
|
|
|
|
# -- (int) Specify the number of old `ReplicaSets` to retain to allow rollback of the `Deployment``.
|
|
revisionHistoryLimit: # @schema type:[integer, null];minimum:0
|
|
|
|
# -- Labels to add to the `Pod`.
|
|
podLabels: {}
|
|
|
|
# -- Annotations to add to the `Pod`.
|
|
podAnnotations: {}
|
|
|
|
# -- (bool) Set this to `false` to [opt out of API credential automounting](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#opt-out-of-api-credential-automounting) for the `Pod`.
|
|
automountServiceAccountToken: true
|
|
|
|
# -- If `true`, the `Pod` will have [process namespace sharing](https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/) enabled.
|
|
shareProcessNamespace: false
|
|
|
|
# -- [Pod security context](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#podsecuritycontext-v1-core), this supports full customisation.
|
|
# @default -- See _values.yaml_
|
|
podSecurityContext:
|
|
runAsNonRoot: true
|
|
fsGroup: 65534
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
|
|
# -- (string) Priority class name for the `Pod`.
|
|
priorityClassName: # @schema type:[string, null]; default: null
|
|
|
|
# -- (int) Termination grace period for the `Pod` in seconds.
|
|
terminationGracePeriodSeconds: # @schema type:[integer, null]
|
|
|
|
# -- (string) [DNS policy](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy) for the pod, if not set the default will be used.
|
|
dnsPolicy: # @schema type:[string, null]; default: null
|
|
|
|
# -- (object) [DNS config](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config) for the pod, if not set the default will be used.
|
|
dnsConfig: # @schema type:[object, null]; default: null
|
|
|
|
# -- [Init containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) to add to the `Pod` definition.
|
|
initContainers: []
|
|
|
|
# -- [Security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) for the `external-dns` container.
|
|
# @default -- See _values.yaml_
|
|
securityContext:
|
|
privileged: false
|
|
allowPrivilegeEscalation: false
|
|
readOnlyRootFilesystem: true
|
|
runAsNonRoot: true
|
|
runAsUser: 65532
|
|
runAsGroup: 65532
|
|
capabilities:
|
|
drop: ["ALL"]
|
|
|
|
# -- [Environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) for the `external-dns` container.
|
|
env: []
|
|
|
|
# -- [Liveness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `external-dns` container.
|
|
# @default -- See _values.yaml_
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: http
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
failureThreshold: 2
|
|
successThreshold: 1
|
|
|
|
# -- [Readiness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `external-dns` container.
|
|
# @default -- See _values.yaml_
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: http
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
failureThreshold: 6
|
|
successThreshold: 1
|
|
|
|
# -- Extra [volumes](https://kubernetes.io/docs/concepts/storage/volumes/) for the `Pod`.
|
|
extraVolumes: []
|
|
|
|
# -- Extra [volume mounts](https://kubernetes.io/docs/concepts/storage/volumes/) for the `external-dns` container.
|
|
extraVolumeMounts: []
|
|
|
|
# -- [Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the `external-dns` container.
|
|
resources: {}
|
|
|
|
# -- Node labels to match for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/).
|
|
nodeSelector: {}
|
|
|
|
# -- Affinity settings for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/). If an explicit label selector is not provided for pod affinity or pod anti-affinity one will be created from the pod selector labels.
|
|
affinity: {}
|
|
|
|
# -- Topology spread constraints for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/). If an explicit label selector is not provided one will be created from the pod selector labels.
|
|
topologySpreadConstraints: []
|
|
|
|
# -- Node taints which will be tolerated for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/).
|
|
tolerations: []
|
|
|
|
serviceMonitor:
|
|
# -- If `true`, create a `ServiceMonitor` resource to support the _Prometheus Operator_.
|
|
enabled: false
|
|
# -- Additional labels for the `ServiceMonitor`.
|
|
additionalLabels: {}
|
|
# -- Annotations to add to the `ServiceMonitor`.
|
|
annotations: {}
|
|
# -- (string) If set create the `ServiceMonitor` in an alternate namespace.
|
|
namespace: # @schema type:[string, null]; default: null
|
|
# -- (string) If set override the _Prometheus_ default interval.
|
|
interval: # @schema type:[string, null]; default: null
|
|
# -- (string) If set override the _Prometheus_ default scrape timeout.
|
|
scrapeTimeout: # @schema type:[string, null]; default: null
|
|
# -- (string) If set overrides the _Prometheus_ default scheme.
|
|
scheme: # @schema type:[string, null]; default: null
|
|
# -- Configure the `ServiceMonitor` [TLS config](https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#tlsconfig).
|
|
tlsConfig: {}
|
|
# -- (string) Provide a bearer token file for the `ServiceMonitor`.
|
|
bearerTokenFile: # @schema type:[string, null]; default: null
|
|
# -- [Relabel configs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config) to apply to samples before ingestion.
|
|
relabelings: []
|
|
# -- [Metric relabel configs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs) to apply to samples before ingestion.
|
|
metricRelabelings: []
|
|
# -- Provide target labels for the `ServiceMonitor`.
|
|
targetLabels: []
|
|
|
|
# -- Log level.
|
|
logLevel: info # @schema enum:[panic, debug, info, warning, error, fatal]; type:string; default: "info"
|
|
|
|
# -- Log format.
|
|
logFormat: text # @schema enum:["text", "json"]; type:string; default: "text"
|
|
|
|
# -- Interval for DNS updates.
|
|
interval: 1m
|
|
|
|
# -- If `true`, triggers run loop on create/update/delete events in addition of regular interval.
|
|
triggerLoopOnEvent: false
|
|
|
|
# -- if `true`, _ExternalDNS_ will run in a namespaced scope (`Role`` and `Rolebinding`` will be namespaced too).
|
|
namespaced: false
|
|
|
|
# -- _Gateway API_ gateway namespace to watch.
|
|
gatewayNamespace: # @schema type:[string, null]; default: null
|
|
|
|
# -- _Kubernetes_ resources to monitor for DNS entries.
|
|
sources:
|
|
- service
|
|
- ingress
|
|
|
|
# -- How DNS records are synchronized between sources and providers; available values are `create-only`, `sync`, & `upsert-only`.
|
|
policy: upsert-only # @schema enum:[create-only, sync, upsert-only]; type:string; default: "upsert-only"
|
|
|
|
# -- Specify the registry for storing ownership and labels.
|
|
# Valid values are `txt`, `aws-sd`, `dynamodb` & `noop`.
|
|
registry: txt # @schema enum:[txt, aws-sd, dynamodb, noop]; default: "txt"
|
|
# -- (string) Specify an identifier for this instance of _ExternalDNS_ when using a registry other than `noop`.
|
|
txtOwnerId: # @schema type:[string, null]; default: null
|
|
# -- (string) Specify a prefix for the domain names of TXT records created for the `txt` registry.
|
|
# Mutually exclusive with `txtSuffix`.
|
|
txtPrefix: # @schema type:[string, null]; default: null
|
|
# -- (string) Specify a suffix for the domain names of TXT records created for the `txt` registry.
|
|
# Mutually exclusive with `txtPrefix`.
|
|
txtSuffix: # @schema type:[string, null]; default: null
|
|
|
|
# -- Limit possible target zones by domain suffixes.
|
|
domainFilters: []
|
|
|
|
# -- Intentionally exclude domains from being managed.
|
|
excludeDomains: []
|
|
|
|
# -- Filter resources queried for endpoints by label selector.
|
|
labelFilter: # @schema type: [string,null]; default: null
|
|
|
|
# -- Filter resources queried for endpoints by annotation selector.
|
|
annotationFilter: # @schema type: [string,null]; default: null
|
|
|
|
# -- Annotation prefix for external-dns annotations (useful for split horizon DNS with multiple instances).
|
|
annotationPrefix: # @schema type: [string,null]; default: null
|
|
|
|
# -- Record types to manage (default: A, AAAA, CNAME)
|
|
managedRecordTypes: [] # @schema type: [array, null]; item: string; uniqueItems: true
|
|
|
|
provider: # @schema type: [object, string]
|
|
# -- _ExternalDNS_ provider name; for the available providers and how to configure them see [README](https://github.com/kubernetes-sigs/external-dns/blob/master/charts/external-dns/README.md#providers).
|
|
name: aws
|
|
webhook:
|
|
image:
|
|
# -- (string) Image repository for the `webhook` container.
|
|
repository: # @schema type:[string, null]; default: null
|
|
# -- (string) Image tag for the `webhook` container.
|
|
tag: # @schema type:[string, null]; default: null
|
|
# -- Image pull policy for the `webhook` container.
|
|
pullPolicy: IfNotPresent
|
|
# -- [Environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) for the `webhook` container.
|
|
env: []
|
|
# -- Extra arguments to provide for the `webhook` container.
|
|
args: []
|
|
# -- Extra [volume mounts](https://kubernetes.io/docs/concepts/storage/volumes/) for the `webhook` container.
|
|
extraVolumeMounts: []
|
|
# -- [Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the `webhook` container.
|
|
resources: {}
|
|
# -- [Pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) for the `webhook` container.
|
|
# @default -- See _values.yaml_
|
|
securityContext: {}
|
|
# -- [Liveness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `external-dns` container.
|
|
# @default -- See _values.yaml_
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /healthz # @schema type:[string, null]; default: null
|
|
port: http-webhook # @schema type:[integer,string]; default: string
|
|
initialDelaySeconds: 10 # @schema type:[integer, null]; default: null
|
|
periodSeconds: 10 # @schema type:[integer, null]; default: null
|
|
timeoutSeconds: 5 # @schema type:[integer, null]; default: null
|
|
failureThreshold: 2 # @schema type:[integer, null]; default: null
|
|
successThreshold: 1 # @schema type:[integer, null]; default: null
|
|
# -- [Readiness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `webhook` container.
|
|
# @default -- See _values.yaml_
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /healthz # @schema type:[string, null]; default: null
|
|
port: http-webhook # @schema type:[integer,string]; default: string
|
|
initialDelaySeconds: 5 # @schema type:[integer, null]; default: null
|
|
periodSeconds: 10 # @schema type:[integer, null]; default: null
|
|
timeoutSeconds: 5 # @schema type:[integer, null]; default: null
|
|
failureThreshold: 6 # @schema type:[integer, null]; default: null
|
|
successThreshold: 1 # @schema type:[integer, null]; default: null
|
|
service:
|
|
# -- Webhook exposed HTTP port for the service.
|
|
port: 8080
|
|
# -- Optional [Service Monitor](https://prometheus-operator.dev/docs/operator/design/#servicemonitor) configuration for the `webhook` container.
|
|
# @default -- See _values.yaml_
|
|
serviceMonitor:
|
|
interval: # @schema type:[string, null]; default: null
|
|
scheme: # @schema type:[string, null]; default: null
|
|
tlsConfig: {}
|
|
bearerTokenFile: # @schema type:[string, null]; default: null
|
|
scrapeTimeout: # @schema type:[string, null]; default: null
|
|
metricRelabelings: []
|
|
relabelings: []
|
|
|
|
# -- Extra arguments to provide to _ExternalDNS_.
|
|
# An array or map can be used, with maps allowing for value overrides; maps also support slice values to use the same arg multiple times.
|
|
extraArgs: {} # @schema type: [array, null, object]; item: string; uniqueItems: true
|
|
|
|
secretConfiguration:
|
|
# -- If `true`, create a `Secret` to store sensitive provider configuration (**DEPRECATED**).
|
|
enabled: false
|
|
# -- Mount path for the `Secret`, this can be templated.
|
|
mountPath: # @schema type:[string, null]; default: null
|
|
# -- Sub-path for mounting the `Secret`, this can be templated.
|
|
subPath: # @schema type:[string, null]; default: null
|
|
# -- `Secret` data.
|
|
data: {}
|
|
|
|
# -- (bool) No effect - reserved for use in sub-charting.
|
|
enabled: # @schema type: [boolean, null]; description: No effect - reserved for use in sub-charting
|