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-fips
7 # Overrides the image tag whose default is the chart appVersion.
8 tag: latest@sha256:84f3c195197c71d5c5fe5320ff502dd27fa6f27200244112002de5e90f967322
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"
57 # loadBalancerClass: ""
59 # externalTrafficPolicy: ""
61 # trafficDistribution: PreferClose
62 # The name of the Service
63 # If not set, a name is generated using the fullname template
70 # The name of the ServiceAccount to use
71 # If not set and create is true, a name is generated using the fullname template
75 # If true, create & use RBAC resources
78 # By default a name is generated using the fullname template.
79 # Override here if desired:
81# isClusterService specifies whether chart should be deployed as cluster-service or normal k8s app.
83# Optional priority class to be used for the coredns pods. Used for autoscaler if autoscaler.priorityClassName not set.
85# Configure the pod level securityContext.
87# Configure SecurityContext for Pod.
88# Ensure that required linux capability to bind port number below 1024 is assigned (`CAP_NET_BIND_SERVICE`).
90 allowPrivilegeEscalation: false
96 readOnlyRootFilesystem: true
97# Default zone is what Kubernetes recommends:
98# https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns-configmap-options
104 # -- expose the service on a different port
106 # If serviceType is nodePort you can specify nodePort here
111 # Serves a /health endpoint on :8080, required for livenessProbe
115 # Serves a /ready endpoint on :8181, required for readinessProbe
117 # Required to query kubernetes API for data
119 parameters: cluster.local in-addr.arpa ip6.arpa
122 fallthrough in-addr.arpa ip6.arpa
124 # Serves a /metrics endpoint on :9153, required for serviceMonitor
126 parameters: 0.0.0.0:9153
128 parameters: . /etc/resolv.conf
134# Complete example with all the options:
135# - zones: # the `zones` block can be left out entirely, defaults to "."
136# - zone: hello.world. # optional, defaults to "."
137# scheme: tls:// # optional, defaults to "" (which equals "dns://" in CoreDNS)
140# use_tcp: true # set this parameter to optionally expose the port on tcp as well as udp for the DNS protocol
141# # Note that this will not work if you are also exposing tls or grpc on the same server
142# port: 12345 # optional, defaults to "" (which equals 53 in CoreDNS)
143# plugins: # the plugins to use for this server block
144# - name: kubernetes # name of plugin, if used multiple times ensure that the plugin supports it!
145# parameters: foo bar # list of parameters after the plugin
146# configBlock: |- # if the plugin supports extra block style config, supply it here
150# Extra configuration that is applied outside of the default zone block.
151# Example to include additional config files, which may come from extraVolumes:
154# parameters: /opt/coredns/*.conf
156# To use the livenessProbe, the health plugin needs to be enabled in CoreDNS' server config
159 initialDelaySeconds: 60
164# To use the readinessProbe, the ready plugin needs to be enabled in CoreDNS' server config
167 initialDelaySeconds: 30
172# expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#affinity-v1-core
176# requiredDuringSchedulingIgnoredDuringExecution:
179# - key: foo.bar.com/role
184# expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#topologyspreadconstraint-v1-core
185# and supports Helm templating.
187# topologySpreadConstraints:
190# app.kubernetes.io/name: '{{ template "coredns.name" . }}'
191# app.kubernetes.io/instance: '{{ .Release.Name }}'
192# topologyKey: topology.kubernetes.io/zone
194# whenUnsatisfiable: ScheduleAnyway
197# app.kubernetes.io/name: '{{ template "coredns.name" . }}'
198# app.kubernetes.io/instance: '{{ .Release.Name }}'
199# topologyKey: kubernetes.io/hostname
201# whenUnsatisfiable: ScheduleAnyway
202topologySpreadConstraints: []
203# Node labels for pod assignment
204# Ref: https://kubernetes.io/docs/user-guide/node-selection/
206# expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#toleration-v1-core
209# - key: foo.bar.com/role
214# https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
215podDisruptionBudget: {}
216# configure custom zone files as per https://coredns.io/2017/05/08/custom-dns-entries-for-kubernetes/
218# - filename: example.db
221# example.com. IN SOA sns.dns.icann.com. noc.dns.icann.com. 2015082541 7200 3600 1209600 3600
222# example.com. IN NS b.iana-servers.net.
223# example.com. IN NS a.iana-servers.net.
224# example.com. IN A 192.168.99.102
225# *.example.com. IN A 192.168.99.102
227# optional array of sidecar containers
229# - name: some-container-name
230# image: some-image:latest
231# imagePullPolicy: Always
232# optional array of extra volumes to create
234# - name: some-volume-name
236# optional array of mount points for extraVolumes
238# - name: some-volume-name
239# mountPath: /etc/wherever
241# optional array of secrets to mount inside coredns container
242# possible usecase: need for secure connection with etcd backend
244# - name: etcd-client-certs
245# mountPath: /etc/coredns/tls/etcd
247# - name: some-fancy-secret
248# mountPath: /etc/wherever
251# optional array of environment variables for coredns container
252# possible usecase: provides username and password for etcd user authentications
254# - name: WHATEVER_ENV
256# - name: SOME_SECRET_ENV
259# name: some-secret-name
262# To support legacy deployments using CoreDNS with the "k8s-app: kube-dns" label selectors.
263# See https://github.com/coredns/helm/blob/master/charts/coredns/README.md#adopting-existing-coredns-resources
264# k8sAppLabelOverride: "kube-dns"
266# Custom labels to apply to Deployment, Pod, Configmap, Service, ServiceMonitor. Including autoscaler if enabled.
268# Custom annotations to apply to Deployment, Pod, Configmap, Service, ServiceMonitor. Including autoscaler if enabled.
270## Alternative configuration for HPA deployment if wanted
271## Create HorizontalPodAutoscaler object.
284# averageUtilization: 60
290# averageUtilization: 60
296## Configue a cluster-proportional-autoscaler for coredns
297# See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler
299 # Enabled the cluster-proportional-autoscaler
301 # Number of cores in the cluster per coredns replica
303 # Number of nodes in the cluster per coredns replica
305 # Min size of replicaCount
307 # Max size of replicaCount (default of 0 is no max)
309 # Whether to include unschedulable nodes in the nodes/cores calculations - this requires version 1.8.0+ of the autoscaler
310 includeUnschedulableNodes: false
311 # If true does not allow single points of failure to form
312 preventSinglePointFailure: true
313 # Annotations for the coredns proportional autoscaler pods
315 ## Optionally specify some extra flags to pass to cluster-proprtional-autoscaler.
316 ## Useful for e.g. the nodelabels flag.
318 # - --nodelabels=topology.kubernetes.io/zone=us-east-1a
320 repository: cgr.dev/chainguard-private/cluster-proportional-autoscaler-fips
321 tag: latest@sha256:3ba6f905e38a05aae055fc61c20f806d145d2d64a0975931d0945c9c31ce2519
322 pullPolicy: IfNotPresent
323 ## Optionally specify an array of imagePullSecrets.
324 ## Secrets must be manually created in the namespace.
325 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
329 # - name: myRegistryKeySecretName
330 # Optional priority class to be used for the autoscaler pods. priorityClassName used if not set.
331 priorityClassName: ""
332 # expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#affinity-v1-core
334 # Node labels for pod assignment
335 # Ref: https://kubernetes.io/docs/user-guide/node-selection/
337 # expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#toleration-v1-core
339 # resources for autoscaler pod
347 # Options for autoscaler configmap
349 ## Annotations for the coredns-autoscaler configmap
350 # i.e. strategy.spinnaker.io/versioned: "false" to ensure configmap isn't renamed
352 # Enables the livenessProbe for cluster-proportional-autoscaler - this requires version 1.8.0+ of the autoscaler
355 initialDelaySeconds: 10
360 # optional array of sidecar containers
362 # - name: some-container-name
363 # image: some-image:latest
364 # imagePullPolicy: Always
369 ## Annotations for the coredns deployment
373 # dnsPolicy determines how DNS resolution is handled for the pod.
374 # When isClusterService is true, this defaults to "Default" to avoid circular DNS resolution.
375 # Options: Default, ClusterFirst, ClusterFirstWithHostNet, None
376 # If set to "None", you must provide dnsConfig.
378 # dnsConfig allows fine-grained DNS configuration for the pod.
379 # Only used when dnsPolicy is set to "None" or when custom DNS settings are needed.
385 # - my.dns.search.suffix
390# Configures initcontainers for the coredns deployment.