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