blob: 93ce90c942a5858d59a44ec8790e6706fdca24f1 [file] [log] [blame]
gio3cdee592024-04-17 10:15:56 +04001import (
2 "encoding/base64"
3)
4
5input: {
6 sshPrivateKey: string
7}
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +04008
Giorgi Lekveishvili03d6f4b2024-03-08 13:05:21 +04009name: "ingress-public"
10namespace: "ingress-public"
11
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +040012images: {
13 ingressNginx: {
14 registry: "registry.k8s.io"
15 repository: "ingress-nginx"
16 name: "controller"
17 tag: "v1.8.0"
18 pullPolicy: "IfNotPresent"
19 }
gio3cdee592024-04-17 10:15:56 +040020 portAllocator: {
21 repository: "giolekva"
22 name: "port-allocator"
23 tag: "latest"
24 pullPolicy: "Always"
25 }
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +040026}
27
28charts: {
29 ingressNginx: {
30 chart: "charts/ingress-nginx"
31 sourceRef: {
32 kind: "GitRepository"
33 name: "pcloud"
34 namespace: global.pcloudEnvName
35 }
36 }
gio3cdee592024-04-17 10:15:56 +040037 portAllocator: {
38 chart: "charts/port-allocator"
39 sourceRef: {
40 kind: "GitRepository"
41 name: "pcloud"
42 namespace: global.pcloudEnvName
43 }
44 }
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +040045}
46
47helm: {
48 "ingress-public": {
49 chart: charts.ingressNginx
50 values: {
51 fullnameOverride: _ingressPublic
52 controller: {
53 kind: "DaemonSet"
54 hostNetwork: true
55 hostPort: enabled: true
56 service: enabled: false
57 ingressClassByName: true
58 ingressClassResource: {
59 name: _ingressPublic
60 enabled: true
61 default: false
62 controllerValue: "k8s.io/\(_ingressPublic)"
63 }
64 config: "proxy-body-size": "100M" // TODO(giolekva): configurable
65 image: {
66 registry: images.ingressNginx.registry
67 image: images.ingressNginx.imageName
68 tag: images.ingressNginx.tag
69 pullPolicy: images.ingressNginx.pullPolicy
70 }
71 }
72 tcp: {
73 "53": "\(global.pcloudEnvName)-dns-zone-manager/coredns:53"
74 }
75 udp: {
76 "53": "\(global.pcloudEnvName)-dns-zone-manager/coredns:53"
77 }
78 }
79 }
gio3cdee592024-04-17 10:15:56 +040080 "port-allocator": {
81 chart: charts.portAllocator
82 values: {
83 repoAddr: release.repoAddr
84 sshPrivateKey: base64.Encode(null, input.sshPrivateKey)
85 ingressNginxPath: "\(release.appDir)/ingress-public.yaml"
86 image: {
87 repository: images.portAllocator.fullName
88 tag: images.portAllocator.tag
89 pullPolicy: images.portAllocator.pullPolicy
90 }
91 }
92 }
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +040093}