DodoApp: Support dev virtual machines
Change-Id: Ib7641adb5be477bdde7cd9a06df4b45aa65a1c01
diff --git a/core/installer/values-tmpl/ingress-public.cue b/core/installer/values-tmpl/ingress-public.cue
index abb2439..fe6098e 100644
--- a/core/installer/values-tmpl/ingress-public.cue
+++ b/core/installer/values-tmpl/ingress-public.cue
@@ -9,116 +9,118 @@
name: "ingress-public"
namespace: "ingress-public"
-images: {
- ingressNginx: {
- registry: "registry.k8s.io"
- repository: "ingress-nginx"
- name: "controller"
- tag: "v1.8.0"
- pullPolicy: "IfNotPresent"
- }
- portAllocator: {
- repository: "giolekva"
- name: "port-allocator"
- tag: "latest"
- pullPolicy: "Always"
- }
-}
-
-charts: {
- ingressNginx: {
- kind: "GitRepository"
- address: "https://code.v1.dodo.cloud/helm-charts"
- branch: "main"
- path: "charts/ingress-nginx"
- }
- portAllocator: {
- kind: "GitRepository"
- address: "https://code.v1.dodo.cloud/helm-charts"
- branch: "main"
- path: "charts/port-allocator"
- }
-}
-
-helm: {
- "ingress-public": {
- chart: charts.ingressNginx
- values: {
- fullnameOverride: "\(global.pcloudEnvName)-ingress-public"
- controller: {
- kind: "Deployment"
- replicaCount: 1 // TODO(gio): configurable
- topologySpreadConstraints: [{
- labelSelector: {
- matchLabels: {
- "app.kubernetes.io/instance": "ingress-public"
- }
- }
- maxSkew: 1
- topologyKey: "kubernetes.io/hostname"
- whenUnsatisfiable: "DoNotSchedule"
- }]
- hostNetwork: false
- hostPort: enabled: false
- updateStrategy: {
- type: "RollingUpdate"
- rollingUpdate: {
- maxSurge: "100%"
- maxUnavailable: "30%"
- }
- }
- service: {
- enabled: true
- type: "NodePort"
- nodePorts: {
- http: 80
- https: 443
- tcp: {
- "53": 53
- }
- udp: {
- "53": 53
- }
- }
- }
- ingressClassByName: true
- ingressClassResource: {
- name: networks.public.ingressClass
- enabled: true
- default: false
- controllerValue: "k8s.io/\(networks.public.ingressClass)"
- }
- config: {
- "proxy-body-size": "200M" // TODO(giolekva): configurable
- "server-snippet": """
- more_clear_headers "X-Frame-Options";
- """
- }
- image: {
- registry: images.ingressNginx.registry
- image: images.ingressNginx.imageName
- tag: images.ingressNginx.tag
- pullPolicy: images.ingressNginx.pullPolicy
- }
- }
- tcp: {
- "53": "\(global.pcloudEnvName)-dns-gateway/coredns:53"
- }
- udp: {
- "53": "\(global.pcloudEnvName)-dns-gateway/coredns:53"
- }
+out: {
+ images: {
+ ingressNginx: {
+ registry: "registry.k8s.io"
+ repository: "ingress-nginx"
+ name: "controller"
+ tag: "v1.8.0"
+ pullPolicy: "IfNotPresent"
+ }
+ portAllocator: {
+ repository: "giolekva"
+ name: "port-allocator"
+ tag: "latest"
+ pullPolicy: "Always"
}
}
- "port-allocator": {
- chart: charts.portAllocator
- values: {
- repoAddr: release.repoAddr
- sshPrivateKey: base64.Encode(null, input.sshPrivateKey)
- ingressNginxPath: "\(release.appDir)/ingress-public.yaml"
- image: {
- repository: images.portAllocator.fullName
- tag: images.portAllocator.tag
- pullPolicy: images.portAllocator.pullPolicy
+
+ charts: {
+ ingressNginx: {
+ kind: "GitRepository"
+ address: "https://code.v1.dodo.cloud/helm-charts"
+ branch: "main"
+ path: "charts/ingress-nginx"
+ }
+ portAllocator: {
+ kind: "GitRepository"
+ address: "https://code.v1.dodo.cloud/helm-charts"
+ branch: "main"
+ path: "charts/port-allocator"
+ }
+ }
+
+ helm: {
+ "ingress-public": {
+ chart: charts.ingressNginx
+ values: {
+ fullnameOverride: "\(global.pcloudEnvName)-ingress-public"
+ controller: {
+ kind: "Deployment"
+ replicaCount: 1 // TODO(gio): configurable
+ topologySpreadConstraints: [{
+ labelSelector: {
+ matchLabels: {
+ "app.kubernetes.io/instance": "ingress-public"
+ }
+ }
+ maxSkew: 1
+ topologyKey: "kubernetes.io/hostname"
+ whenUnsatisfiable: "DoNotSchedule"
+ }]
+ hostNetwork: false
+ hostPort: enabled: false
+ updateStrategy: {
+ type: "RollingUpdate"
+ rollingUpdate: {
+ maxSurge: "100%"
+ maxUnavailable: "30%"
+ }
+ }
+ service: {
+ enabled: true
+ type: "NodePort"
+ nodePorts: {
+ http: 80
+ https: 443
+ tcp: {
+ "53": 53
+ }
+ udp: {
+ "53": 53
+ }
+ }
+ }
+ ingressClassByName: true
+ ingressClassResource: {
+ name: networks.public.ingressClass
+ enabled: true
+ default: false
+ controllerValue: "k8s.io/\(networks.public.ingressClass)"
+ }
+ config: {
+ "proxy-body-size": "200M" // TODO(giolekva): configurable
+ "server-snippet": """
+ more_clear_headers "X-Frame-Options";
+ """
+ }
+ image: {
+ registry: images.ingressNginx.registry
+ image: images.ingressNginx.imageName
+ tag: images.ingressNginx.tag
+ pullPolicy: images.ingressNginx.pullPolicy
+ }
+ }
+ tcp: {
+ "53": "\(global.pcloudEnvName)-dns-gateway/coredns:53"
+ }
+ udp: {
+ "53": "\(global.pcloudEnvName)-dns-gateway/coredns:53"
+ }
+ }
+ }
+ "port-allocator": {
+ chart: charts.portAllocator
+ values: {
+ repoAddr: release.repoAddr
+ sshPrivateKey: base64.Encode(null, input.sshPrivateKey)
+ ingressNginxPath: "\(release.appDir)/ingress-public.yaml"
+ image: {
+ repository: images.portAllocator.fullName
+ tag: images.portAllocator.tag
+ pullPolicy: images.portAllocator.pullPolicy
+ }
}
}
}