blob: 4310c38d63412da7979a480ec68e282d24363c4f [file] [log] [blame]
Giorgi Lekveishvili6bcc4972023-11-27 20:02:29 +04001# apiVersion: helm.toolkit.fluxcd.io/v2beta1
2# kind: HelmRelease
3# metadata:
4# name: rpuppy
5# namespace: {{ .Release.Namespace }}
6# spec:
7# chart:
8# spec:
9# chart: charts/rpuppy
10# sourceRef:
11# kind: GitRepository
12# name: pcloud
13# namespace: {{ .Global.Id }}
14# interval: 1m0s
15# values:
16# Default values for coredns.
17# This is a YAML-formatted file.
18# Declare variables to be passed into your templates.
19
20image:
21 repository: coredns/coredns
22 # Overrides the image tag whose default is the chart appVersion.
23 tag: ""
24 pullPolicy: IfNotPresent
25 ## Optionally specify an array of imagePullSecrets.
26 ## Secrets must be manually created in the namespace.
27 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
28 ##
29 pullSecrets: []
30 # pullSecrets:
31 # - name: myRegistryKeySecretName
32
33replicaCount: 1
34
35resources:
36 limits:
37 cpu: 100m
38 memory: 128Mi
39 requests:
40 cpu: 100m
41 memory: 128Mi
42
43rollingUpdate:
44 maxUnavailable: 1
45 maxSurge: 25%
46
47terminationGracePeriodSeconds: 30
48
49podAnnotations: {}
50# cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
51
52serviceType: "ClusterIP"
53
54prometheus:
55 service:
56 enabled: false
57 annotations:
58 prometheus.io/scrape: "true"
59 prometheus.io/port: "9153"
60 monitor:
61 enabled: false
62 additionalLabels: {}
63 namespace: ""
64 interval: ""
65
66service:
67# clusterIP: ""
68# clusterIPs: []
69# loadBalancerIP: ""
70# externalIPs: []
71# externalTrafficPolicy: ""
72# ipFamilyPolicy: ""
73 # The name of the Service
74 # If not set, a name is generated using the fullname template
75 name: coredns
76 annotations: {}
77 # metallb.universe.tf/address-pool: local
78
79serviceAccount:
80 create: false
81 # The name of the ServiceAccount to use
82 # If not set and create is true, a name is generated using the fullname template
83 name: ""
84 annotations: {}
85
86rbac:
87 # If true, create & use RBAC resources
88 create: true
89 # If true, create and use PodSecurityPolicy
90 pspEnable: false
91 # The name of the ServiceAccount to use.
92 # If not set and create is true, a name is generated using the fullname template
93 # name:
94
95# isClusterService specifies whether chart should be deployed as cluster-service or normal k8s app.
96isClusterService: true
97
98# Optional priority class to be used for the coredns pods. Used for autoscaler if autoscaler.priorityClassName not set.
99priorityClassName: ""
100
101# Configure the pod level securityContext.
102podSecurityContext: {}
103
104# Configure SecurityContext for Pod.
105# Ensure that required linux capability to bind port number below 1024 is assigned (`CAP_NET_BIND_SERVICE`).
106securityContext:
107 capabilities:
108 add:
109 - NET_BIND_SERVICE
110
111# Default zone is what Kubernetes recommends:
112# https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns-configmap-options
113servers:
114- zones:
115 - zone: .
116 port: 53
117 # If serviceType is nodePort you can specify nodePort here
118 # nodePort: 30053
119 # hostPort: 53
120 plugins:
121 - name: log
122 # Serves a /health endpoint on :8080, required for livenessProbe
123 - name: health
124 configBlock: |-
125 lameduck 5s
126 # Serves a /ready endpoint on :8181, required for readinessProbe
127 - name: ready
128
129# Complete example with all the options:
130# - zones: # the `zones` block can be left out entirely, defaults to "."
131# - zone: hello.world. # optional, defaults to "."
132# scheme: tls:// # optional, defaults to "" (which equals "dns://" in CoreDNS)
133# - zone: foo.bar.
134# scheme: dns://
135# use_tcp: true # set this parameter to optionally expose the port on tcp as well as udp for the DNS protocol
136# # Note that this will not work if you are also exposing tls or grpc on the same server
137# port: 12345 # optional, defaults to "" (which equals 53 in CoreDNS)
138# plugins: # the plugins to use for this server block
139# - name: kubernetes # name of plugin, if used multiple times ensure that the plugin supports it!
140# parameters: foo bar # list of parameters after the plugin
141# configBlock: |- # if the plugin supports extra block style config, supply it here
142# hello world
143# foo bar
144
145# Extra configuration that is applied outside of the default zone block.
146# Example to include additional config files, which may come from extraVolumes:
147# extraConfig:
148# import:
149# parameters: /opt/coredns/*.conf
150extraConfig:
151 import:
152 parameters: /etc/dodo/dodo.conf
153
154# To use the livenessProbe, the health plugin needs to be enabled in CoreDNS' server config
155livenessProbe:
156 enabled: true
157 initialDelaySeconds: 60
158 periodSeconds: 10
159 timeoutSeconds: 5
160 failureThreshold: 5
161 successThreshold: 1
162# To use the readinessProbe, the ready plugin needs to be enabled in CoreDNS' server config
163readinessProbe:
164 enabled: true
165 initialDelaySeconds: 30
166 periodSeconds: 10
167 timeoutSeconds: 5
168 failureThreshold: 5
169 successThreshold: 1
170
171# expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#affinity-v1-core
172# for example:
173# affinity:
174# nodeAffinity:
175# requiredDuringSchedulingIgnoredDuringExecution:
176# nodeSelectorTerms:
177# - matchExpressions:
178# - key: foo.bar.com/role
179# operator: In
180# values:
181# - master
182affinity: {}
183
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.
186# For example:
187# topologySpreadConstraints:
188# - labelSelector:
189# matchLabels:
190# app.kubernetes.io/name: '{{ template "coredns.name" . }}'
191# app.kubernetes.io/instance: '{{ .Release.Name }}'
192# topologyKey: topology.kubernetes.io/zone
193# maxSkew: 1
194# whenUnsatisfiable: ScheduleAnyway
195# - labelSelector:
196# matchLabels:
197# app.kubernetes.io/name: '{{ template "coredns.name" . }}'
198# app.kubernetes.io/instance: '{{ .Release.Name }}'
199# topologyKey: kubernetes.io/hostname
200# maxSkew: 1
201# whenUnsatisfiable: ScheduleAnyway
202topologySpreadConstraints: []
203
204# Node labels for pod assignment
205# Ref: https://kubernetes.io/docs/user-guide/node-selection/
206nodeSelector: {}
207
208# expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#toleration-v1-core
209# for example:
210# tolerations:
211# - key: foo.bar.com/role
212# operator: Equal
213# value: master
214# effect: NoSchedule
215tolerations: []
216
217# https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
218podDisruptionBudget: {}
219
220# configure custom zone files as per https://coredns.io/2017/05/08/custom-dns-entries-for-kubernetes/
221zoneFiles: []
222 # - filename: bar.ge.db
223 # domain: bar.ge
224 # contents: |
225 # bar.ge. IN SOA sns.dns.icann.com. noc.dns.icann.com. 2015082541 7200 3600 1209600 3600
226 # * 10800 IN CNAME bar.ge.
227 # bar.ge. IN A 192.168.99.102
228 # *.t1 10800 IN A 65.109.222.106
229 # *.t2 10800 IN A 65.109.222.107
230 # *.t3 10800 IN A 65.109.222.108
231 # *.t4 10800 IN A 65.109.222.109
232 # *.t5 10800 IN A 65.109.222.100
233 # @ 10800 IN A 65.109.222.106
234 # www 10800 IN CNAME bar.ge.
235
236# optional array of sidecar containers
237extraContainers: []
238# - name: rename-keys
239# image: giolekva/rename-keys:latest
240# imagePullPolicy: Always
241# command: ["/usr/bin/rename-keys.sh"]
242# volumeMounts:
243# - name: dodo
244# mountPath: /etc/dodo
245# optional array of extra volumes to create
246extraVolumes:
247- name: keys
248 persistentVolumeClaim:
249 claimName: keys
250# - name: dodo
251# configMap:
252# name: dodo-dns
253# - name: some-volume-name
254# emptyDir: {}
255# optional array of mount points for extraVolumes
256extraVolumeMounts:
257- name: keys
258 mountPath: /etc/dodo
259# - name: dodo
260# mountPath: /etc/dodo
261# - name: some-volume-name
262# mountPath: /etc/wherever
263
264# optional array of secrets to mount inside coredns container
265# possible usecase: need for secure connection with etcd backend
266extraSecrets: []
267# - name: etcd-client-certs
268# mountPath: /etc/coredns/tls/etcd
269# defaultMode: 420
270# - name: some-fancy-secret
271# mountPath: /etc/wherever
272# defaultMode: 440
273
274# To support legacy deployments using CoreDNS with the "k8s-app: kube-dns" label selectors.
275# See https://github.com/coredns/helm/blob/master/charts/coredns/README.md#adopting-existing-coredns-resources
276# k8sAppLabelOverride: "kube-dns"
277
278# Custom labels to apply to Deployment, Pod, Configmap, Service, ServiceMonitor. Including autoscaler if enabled.
279customLabels: {}
280
281# Custom annotations to apply to Deployment, Pod, Configmap, Service, ServiceMonitor. Including autoscaler if enabled.
282customAnnotations: {}
283
284## Alternative configuration for HPA deployment if wanted
285## Create HorizontalPodAutoscaler object.
286##
287# hpa:
288# enabled: false
289# minReplicas: 1
290# maxReplicas: 10
291# metrics:
292# metrics:
293# - type: Resource
294# resource:
295# name: memory
296# target:
297# type: Utilization
298# averageUtilization: 60
299# - type: Resource
300# resource:
301# name: cpu
302# target:
303# type: Utilization
304# averageUtilization: 60
305
306hpa:
307 enabled: false
308 minReplicas: 1
309 maxReplicas: 2
310 metrics: []
311
312## Configue a cluster-proportional-autoscaler for coredns
313# See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler
314autoscaler:
315 # Enabled the cluster-proportional-autoscaler
316 enabled: false
317
318 # Number of cores in the cluster per coredns replica
319 coresPerReplica: 256
320 # Number of nodes in the cluster per coredns replica
321 nodesPerReplica: 16
322 # Min size of replicaCount
323 min: 0
324 # Max size of replicaCount (default of 0 is no max)
325 max: 0
326 # Whether to include unschedulable nodes in the nodes/cores calculations - this requires version 1.8.0+ of the autoscaler
327 includeUnschedulableNodes: false
328 # If true does not allow single points of failure to form
329 preventSinglePointFailure: true
330
331 # Annotations for the coredns proportional autoscaler pods
332 podAnnotations: {}
333
334 ## Optionally specify some extra flags to pass to cluster-proprtional-autoscaler.
335 ## Useful for e.g. the nodelabels flag.
336 # customFlags:
337 # - --nodelabels=topology.kubernetes.io/zone=us-east-1a
338
339 image:
340 repository: registry.k8s.io/cpa/cluster-proportional-autoscaler
341 tag: "1.8.5"
342 pullPolicy: IfNotPresent
343 ## Optionally specify an array of imagePullSecrets.
344 ## Secrets must be manually created in the namespace.
345 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
346 ##
347 pullSecrets: []
348 # pullSecrets:
349 # - name: myRegistryKeySecretName
350
351 # Optional priority class to be used for the autoscaler pods. priorityClassName used if not set.
352 priorityClassName: ""
353
354 # expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#affinity-v1-core
355 affinity: {}
356
357 # Node labels for pod assignment
358 # Ref: https://kubernetes.io/docs/user-guide/node-selection/
359 nodeSelector: {}
360
361 # expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#toleration-v1-core
362 tolerations: []
363
364 # resources for autoscaler pod
365 resources:
366 requests:
367 cpu: "20m"
368 memory: "10Mi"
369 limits:
370 cpu: "20m"
371 memory: "10Mi"
372
373 # Options for autoscaler configmap
374 configmap:
375 ## Annotations for the coredns-autoscaler configmap
376 # i.e. strategy.spinnaker.io/versioned: "false" to ensure configmap isn't renamed
377 annotations: {}
378
379 # Enables the livenessProbe for cluster-proportional-autoscaler - this requires version 1.8.0+ of the autoscaler
380 livenessProbe:
381 enabled: true
382 initialDelaySeconds: 10
383 periodSeconds: 5
384 timeoutSeconds: 5
385 failureThreshold: 3
386 successThreshold: 1
387
388 # optional array of sidecar containers
389 extraContainers: []
390 # - name: some-container-name
391 # image: some-image:latest
392 # imagePullPolicy: Always
393
394deployment:
395 enabled: true
396 name: ""
397 ## Annotations for the coredns deployment
398 annotations: {}