| gio | e72b54f | 2024-04-22 10:44:41 +0400 | [diff] [blame] | 1 | input: { |
| 2 | servers: [...#Server] | ||||
| 3 | } | ||||
| 4 | |||||
| 5 | #Server: { | ||||
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 6 | zone: string |
| gio | e72b54f | 2024-04-22 10:44:41 +0400 | [diff] [blame] | 7 | address: string |
| 8 | } | ||||
| 9 | |||||
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 10 | name: "dns-gateway" |
| gio | e72b54f | 2024-04-22 10:44:41 +0400 | [diff] [blame] | 11 | namespace: "dns-gateway" |
| 12 | |||||
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 13 | out: { |
| 14 | images: { | ||||
| 15 | coredns: { | ||||
| 16 | repository: "coredns" | ||||
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 17 | name: "coredns" |
| 18 | tag: "1.11.1" | ||||
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 19 | pullPolicy: "IfNotPresent" |
| 20 | } | ||||
| gio | e72b54f | 2024-04-22 10:44:41 +0400 | [diff] [blame] | 21 | } |
| gio | e72b54f | 2024-04-22 10:44:41 +0400 | [diff] [blame] | 22 | |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 23 | charts: { |
| 24 | coredns: { | ||||
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 25 | kind: "GitRepository" |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 26 | address: "https://code.v1.dodo.cloud/helm-charts" |
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 27 | branch: "main" |
| 28 | path: "charts/coredns" | ||||
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 29 | } |
| gio | e72b54f | 2024-04-22 10:44:41 +0400 | [diff] [blame] | 30 | } |
| gio | e72b54f | 2024-04-22 10:44:41 +0400 | [diff] [blame] | 31 | |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 32 | helm: { |
| 33 | coredns: { | ||||
| 34 | chart: charts.coredns | ||||
| 35 | values: { | ||||
| 36 | image: { | ||||
| 37 | repository: images.coredns.fullName | ||||
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 38 | tag: images.coredns.tag |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 39 | pullPolicy: images.coredns.pullPolicy |
| gio | e72b54f | 2024-04-22 10:44:41 +0400 | [diff] [blame] | 40 | } |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 41 | replicaCount: 1 |
| 42 | resources: { | ||||
| 43 | limits: { | ||||
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 44 | cpu: "100m" |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 45 | memory: "128Mi" |
| 46 | } | ||||
| 47 | requests: { | ||||
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 48 | cpu: "100m" |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 49 | memory: "128Mi" |
| 50 | } | ||||
| gio | e72b54f | 2024-04-22 10:44:41 +0400 | [diff] [blame] | 51 | } |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 52 | rollingUpdate: { |
| 53 | maxUnavailable: 1 | ||||
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 54 | maxSurge: "25%" |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 55 | } |
| 56 | terminationGracePeriodSeconds: 30 | ||||
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 57 | serviceType: "ClusterIP" |
| 58 | service: name: "coredns" | ||||
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 59 | serviceAccount: create: false |
| 60 | rbac: { | ||||
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 61 | create: false |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 62 | pspEnable: false |
| 63 | } | ||||
| 64 | isClusterService: false | ||||
| 65 | if len(input.servers) > 0 { | ||||
| 66 | servers: [ | ||||
| 67 | for s in input.servers { | ||||
| 68 | zones: [{ | ||||
| 69 | zone: s.zone | ||||
| 70 | }] | ||||
| 71 | port: 53 | ||||
| 72 | plugins: [{ | ||||
| 73 | name: "log" | ||||
| 74 | }, { | ||||
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 75 | name: "forward" |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 76 | parameters: ". \(s.address)" |
| 77 | }, { | ||||
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 78 | name: "health" |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 79 | configBlock: "lameduck 5s" |
| 80 | }, { | ||||
| 81 | name: "ready" | ||||
| 82 | }] | ||||
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 83 | }, |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 84 | ] |
| 85 | } | ||||
| 86 | if len(input.servers) == 0 { | ||||
| 87 | servers: [{ | ||||
| gio | e72b54f | 2024-04-22 10:44:41 +0400 | [diff] [blame] | 88 | zones: [{ |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 89 | zone: "." |
| gio | e72b54f | 2024-04-22 10:44:41 +0400 | [diff] [blame] | 90 | }] |
| 91 | port: 53 | ||||
| 92 | plugins: [{ | ||||
| gio | e72b54f | 2024-04-22 10:44:41 +0400 | [diff] [blame] | 93 | name: "ready" |
| 94 | }] | ||||
| gio | e72b54f | 2024-04-22 10:44:41 +0400 | [diff] [blame] | 95 | }] |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 96 | } |
| 97 | livenessProbe: { | ||||
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 98 | enabled: true |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 99 | initialDelaySeconds: 60 |
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 100 | periodSeconds: 10 |
| 101 | timeoutSeconds: 5 | ||||
| 102 | failureThreshold: 5 | ||||
| 103 | successThreshold: 1 | ||||
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 104 | } |
| 105 | readinessProbe: { | ||||
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 106 | enabled: true |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 107 | initialDelaySeconds: 30 |
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 108 | periodSeconds: 10 |
| 109 | timeoutSeconds: 5 | ||||
| 110 | failureThreshold: 5 | ||||
| 111 | successThreshold: 1 | ||||
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 112 | } |
| 113 | zoneFiles: [] | ||||
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 114 | hpa: enabled: false |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 115 | autoscaler: enabled: false |
| 116 | deployment: enabled: true | ||||
| gio | e72b54f | 2024-04-22 10:44:41 +0400 | [diff] [blame] | 117 | } |
| gio | e72b54f | 2024-04-22 10:44:41 +0400 | [diff] [blame] | 118 | } |
| 119 | } | ||||
| 120 | } | ||||