blob: 4d977d08b7476cb0c5c9509304ee11b6b80e7822 [file] [log] [blame]
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +04001input: {
2 apiConfigMapName: string
3 volume: {
4 size: string
5 claimName: string
6 mountPath: string
7 }
8}
9
10images: {
11 dnsZoneController: {
12 repository: "giolekva"
13 name: "dns-ns-controller"
14 tag: "latest"
15 pullPolicy: "Always"
16 }
17 kubeRBACProxy: {
18 registry: "gcr.io"
19 repository: "kubebuilder"
20 name: "kube-rbac-proxy"
21 tag: "v0.13.0"
22 pullPolicy: "IfNotPresent"
23 }
24 coredns: {
25 repository: "coredns"
26 name: "coredns"
27 tag: "1.11.1"
28 pullPolicy: "IfNotPresent"
29 }
30}
31
32charts: {
33 volume: {
34 chart: "charts/volumes"
35 sourceRef: {
36 kind: "GitRepository"
37 name: "pcloud"
38 namespace: global.pcloudEnvName
39 }
40 }
41 dnsZoneController: {
42 chart: "charts/dns-ns-controller"
43 sourceRef: {
44 kind: "GitRepository"
45 name: "pcloud"
46 namespace: global.pcloudEnvName
47 }
48 }
49 coredns: {
50 chart: "charts/coredns"
51 sourceRef: {
52 kind: "GitRepository"
53 name: "pcloud"
54 namespace: global.pcloudEnvName
55 }
56 }
57}
58
59_volumeName: "zone-configs"
60
61helm: {
62 volume: {
63 chart: charts.volume
64 values: {
65 name: input.volume.claimName
66 size: input.volume.size
67 accessMode: "ReadWriteMany"
68 }
69 }
70 "dns-zone-controller": {
71 chart: charts.dnsZoneController
72 values: {
73 installCRDs: true
74 apiConfigMapName: input.apiConfigMapName
75 volume: {
76 claimName: input.volume.claimName
77 mountPath: input.volume.mountPath
78 }
79 image: {
80 repository: images.dnsZoneController.fullName
81 tag: images.dnsZoneController.tag
82 pullPolicy: images.dnsZoneController.pullPolicy
83 }
84 kubeRBACProxy: {
85 image: {
86 repository: images.kubeRBACProxy.fullName
87 tag: images.kubeRBACProxy.tag
88 pullPolicy: images.kubeRBACProxy.pullPolicy
89 }
90 }
91 }
92 }
93 coredns: {
94 chart: charts.coredns
95 values: {
96 image: {
97 repository: images.coredns.fullName
98 tag: images.coredns.tag
99 pullPolicy: images.coredns.pullPolicy
100 }
101 replicaCount: 1
102 resources: {
103 limits: {
104 cpu: "100m"
105 memory: "128Mi"
106 }
107 requests: {
108 cpu: "100m"
109 memory: "128Mi"
110 }
111 }
112 rollingUpdate: {
113 maxUnavailable: 1
114 maxSurge: "25%"
115 }
116 terminationGracePeriodSeconds: 30
117 serviceType: "ClusterIP"
118 service: name: "coredns"
119 serviceAccount: create: false
120 rbac: {
121 create: true
122 pspEnable: false
123 }
124 isClusterService: true
125 securityContext: capabilities: add: ["NET_BIND_SERVICE"]
126 servers: [{
127 zones: [{
128 zone: "."
129 }]
130 port: 53
131 plugins: [
132 {
133 name: "log"
134 },
135 {
136 name: "health"
137 configBlock: "lameduck 5s"
138 },
139 {
140 name: "ready"
141 }
142 ]
143 }]
144 extraConfig: import: parameters: "\(input.volume.mountPath)/coredns.conf"
145 extraVolumes: [{
146 name: _volumeName
147 persistentVolumeClaim: claimName: input.volume.claimName
148 }]
149 extraVolumeMounts: [{
150 name: _volumeName
151 mountPath: input.volume.mountPath
152 }]
153 livenessProbe: {
154 enabled: true
155 initialDelaySeconds: 60
156 periodSeconds: 10
157 timeoutSeconds: 5
158 failureThreshold: 5
159 successThreshold: 1
160 }
161 readinessProbe: {
162 enabled: true
163 initialDelaySeconds: 30
164 periodSeconds: 10
165 timeoutSeconds: 5
166 failureThreshold: 5
167 successThreshold: 1
168 }
169 zoneFiles: []
170 hpa: enabled: false
171 autoscaler: enabled: false
172 deployment: enabled: true
173 }
174 }
175}