1# Default values for coredns.
2# This is a YAML-formatted file.
3# Declare variables to be passed into your templates.
6 repository: cgr.dev/chainguard-private/coredns
7 # Overrides the image tag whose default is the chart appVersion.
8 tag: latest@sha256:1ce1295f4087b12ab2ef4bb6d6c34db54c6e194f028a31304170f3f49e3fc536
9 pullPolicy: IfNotPresent
10 ## Optionally specify an array of imagePullSecrets.
11 ## Secrets must be manually created in the namespace.
12 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
16 # - name: myRegistryKeySecretName
28terminationGracePeriodSeconds: 30
30# cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
33serviceType: "ClusterIP"
38 prometheus.io/scrape: "true"
39 prometheus.io/port: "9153"
51 # loadBalancerClass: ""
53 # externalTrafficPolicy: ""
55 # trafficDistribution: PreferClose
56 # The name of the Service
57 # If not set, a name is generated using the fullname template
64 # The name of the ServiceAccount to use
65 # If not set and create is true, a name is generated using the fullname template
69 # If true, create & use RBAC resources
72 # By default a name is generated using the fullname template.
73 # Override here if desired:
75# isClusterService specifies whether chart should be deployed as cluster-service or normal k8s app.
77# Optional priority class to be used for the coredns pods. Used for autoscaler if autoscaler.priorityClassName not set.
79# Configure the pod level securityContext.
81# Configure SecurityContext for Pod.
82# Ensure that required linux capability to bind port number below 1024 is assigned (`CAP_NET_BIND_SERVICE`).
84 allowPrivilegeEscalation: false
90 readOnlyRootFilesystem: true
91# Default zone is what Kubernetes recommends:
92# https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns-configmap-options
98 # -- expose the service on a different port
100 # If serviceType is nodePort you can specify nodePort here
105 # Serves a /health endpoint on :8080, required for livenessProbe
109 # Serves a /ready endpoint on :8181, required for readinessProbe
111 # Required to query kubernetes API for data
113 parameters: cluster.local in-addr.arpa ip6.arpa
116 fallthrough in-addr.arpa ip6.arpa
118 # Serves a /metrics endpoint on :9153, required for serviceMonitor
120 parameters: 0.0.0.0:9153
122 parameters: . /etc/resolv.conf
128# Complete example with all the options:
129# - zones: # the `zones` block can be left out entirely, defaults to "."
130# - zone: hello.world. # optional, defaults to "."
131# scheme: tls:// # optional, defaults to "" (which equals "dns://" in CoreDNS)
134# use_tcp: true # set this parameter to optionally expose the port on tcp as well as udp for the DNS protocol
135# # Note that this will not work if you are also exposing tls or grpc on the same server
136# port: 12345 # optional, defaults to "" (which equals 53 in CoreDNS)
137# plugins: # the plugins to use for this server block
138# - name: kubernetes # name of plugin, if used multiple times ensure that the plugin supports it!
139# parameters: foo bar # list of parameters after the plugin
140# configBlock: |- # if the plugin supports extra block style config, supply it here
144# Extra configuration that is applied outside of the default zone block.
145# Example to include additional config files, which may come from extraVolumes:
148# parameters: /opt/coredns/*.conf
150# To use the livenessProbe, the health plugin needs to be enabled in CoreDNS' server config
153 initialDelaySeconds: 60
158# To use the readinessProbe, the ready plugin needs to be enabled in CoreDNS' server config
161 initialDelaySeconds: 30
166# expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#affinity-v1-core
170# requiredDuringSchedulingIgnoredDuringExecution:
173# - key: foo.bar.com/role
178# expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#topologyspreadconstraint-v1-core
179# and supports Helm templating.
181# topologySpreadConstraints:
184# app.kubernetes.io/name: '{{ template "coredns.name" . }}'
185# app.kubernetes.io/instance: '{{ .Release.Name }}'
186# topologyKey: topology.kubernetes.io/zone
188# whenUnsatisfiable: ScheduleAnyway
191# app.kubernetes.io/name: '{{ template "coredns.name" . }}'
192# app.kubernetes.io/instance: '{{ .Release.Name }}'
193# topologyKey: kubernetes.io/hostname
195# whenUnsatisfiable: ScheduleAnyway
196topologySpreadConstraints: []
197# Node labels for pod assignment
198# Ref: https://kubernetes.io/docs/user-guide/node-selection/
200# expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#toleration-v1-core
203# - key: foo.bar.com/role
208# https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
209podDisruptionBudget: {}
210# configure custom zone files as per https://coredns.io/2017/05/08/custom-dns-entries-for-kubernetes/
212# - filename: example.db
215# example.com. IN SOA sns.dns.icann.com. noc.dns.icann.com. 2015082541 7200 3600 1209600 3600
216# example.com. IN NS b.iana-servers.net.
217# example.com. IN NS a.iana-servers.net.
218# example.com. IN A 192.168.99.102
219# *.example.com. IN A 192.168.99.102
221# optional array of sidecar containers
223# - name: some-container-name
224# image: some-image:latest
225# imagePullPolicy: Always
226# optional array of extra volumes to create
228# - name: some-volume-name
230# optional array of mount points for extraVolumes
232# - name: some-volume-name
233# mountPath: /etc/wherever
235# optional array of secrets to mount inside coredns container
236# possible usecase: need for secure connection with etcd backend
238# - name: etcd-client-certs
239# mountPath: /etc/coredns/tls/etcd
241# - name: some-fancy-secret
242# mountPath: /etc/wherever
245# optional array of environment variables for coredns container
246# possible usecase: provides username and password for etcd user authentications
248# - name: WHATEVER_ENV
250# - name: SOME_SECRET_ENV
253# name: some-secret-name
256# To support legacy deployments using CoreDNS with the "k8s-app: kube-dns" label selectors.
257# See https://github.com/coredns/helm/blob/master/charts/coredns/README.md#adopting-existing-coredns-resources
258# k8sAppLabelOverride: "kube-dns"
260# Custom labels to apply to Deployment, Pod, Configmap, Service, ServiceMonitor. Including autoscaler if enabled.
262# Custom annotations to apply to Deployment, Pod, Configmap, Service, ServiceMonitor. Including autoscaler if enabled.
264## Alternative configuration for HPA deployment if wanted
265## Create HorizontalPodAutoscaler object.
278# averageUtilization: 60
284# averageUtilization: 60
290## Configue a cluster-proportional-autoscaler for coredns
291# See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler
293 # Enabled the cluster-proportional-autoscaler
295 # Number of cores in the cluster per coredns replica
297 # Number of nodes in the cluster per coredns replica
299 # Min size of replicaCount
301 # Max size of replicaCount (default of 0 is no max)
303 # Whether to include unschedulable nodes in the nodes/cores calculations - this requires version 1.8.0+ of the autoscaler
304 includeUnschedulableNodes: false
305 # If true does not allow single points of failure to form
306 preventSinglePointFailure: true
307 # Annotations for the coredns proportional autoscaler pods
309 ## Optionally specify some extra flags to pass to cluster-proprtional-autoscaler.
310 ## Useful for e.g. the nodelabels flag.
312 # - --nodelabels=topology.kubernetes.io/zone=us-east-1a
314 repository: cgr.dev/chainguard-private/cluster-proportional-autoscaler
315 tag: latest@sha256:99537f12dd2e7c8254bba5e3ed7d951a25d5f34f982ddd46bdf594b6858a075d
316 pullPolicy: IfNotPresent
317 ## Optionally specify an array of imagePullSecrets.
318 ## Secrets must be manually created in the namespace.
319 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
323 # - name: myRegistryKeySecretName
324 # Optional priority class to be used for the autoscaler pods. priorityClassName used if not set.
325 priorityClassName: ""
326 # expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#affinity-v1-core
328 # Node labels for pod assignment
329 # Ref: https://kubernetes.io/docs/user-guide/node-selection/
331 # expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#toleration-v1-core
333 # resources for autoscaler pod
341 # Options for autoscaler configmap
343 ## Annotations for the coredns-autoscaler configmap
344 # i.e. strategy.spinnaker.io/versioned: "false" to ensure configmap isn't renamed
346 # Enables the livenessProbe for cluster-proportional-autoscaler - this requires version 1.8.0+ of the autoscaler
349 initialDelaySeconds: 10
354 # optional array of sidecar containers
356 # - name: some-container-name
357 # image: some-image:latest
358 # imagePullPolicy: Always
363 ## Annotations for the coredns deployment
367 # dnsPolicy determines how DNS resolution is handled for the pod.
368 # When isClusterService is true, this defaults to "Default" to avoid circular DNS resolution.
369 # Options: Default, ClusterFirst, ClusterFirstWithHostNet, None
370 # If set to "None", you must provide dnsConfig.
372 # dnsConfig allows fine-grained DNS configuration for the pod.
373 # Only used when dnsPolicy is set to "None" or when custom DNS settings are needed.
379 # - my.dns.search.suffix
384# Configures initcontainers for the coredns deployment.