DodoApp: Support dev virtual machines
Change-Id: Ib7641adb5be477bdde7cd9a06df4b45aa65a1c01
diff --git a/charts/auth-proxy/templates/install.yaml b/charts/auth-proxy/templates/install.yaml
index 09a1059..33ed875 100644
--- a/charts/auth-proxy/templates/install.yaml
+++ b/charts/auth-proxy/templates/install.yaml
@@ -1,12 +1,12 @@
apiVersion: v1
kind: Service
metadata:
- name: auth-proxy
+ name: {{ .Values.name }}
namespace: {{ .Release.Namespace }}
spec:
type: ClusterIP
selector:
- app: auth-proxy
+ app: {{ .Values.name }}
ports:
- name: {{ .Values.portName }}
port: 80
@@ -16,17 +16,17 @@
apiVersion: apps/v1
kind: Deployment
metadata:
- name: auth-proxy
+ name: {{ .Values.name }}
namespace: {{ .Release.Namespace }}
spec:
selector:
matchLabels:
- app: auth-proxy
+ app: {{ .Values.name }}
replicas: 1
template:
metadata:
labels:
- app: auth-proxy
+ app: {{ .Values.name }}
spec:
containers:
- name: auth-proxy
diff --git a/charts/auth-proxy/values.yaml b/charts/auth-proxy/values.yaml
index 742f4c9..779772d 100644
--- a/charts/auth-proxy/values.yaml
+++ b/charts/auth-proxy/values.yaml
@@ -2,6 +2,7 @@
repository: giolekva/auth-proxy
tag: latest
pullPolicy: Always
+name: "auth-proxy"
upstream: bar.svc.cluster.local
whoAmIAddr: https://accounts.example.com/sessions/whoami
loginAddr: https://accounts-ui.example.com/login
diff --git a/charts/dodo-app/templates/install.yaml b/charts/dodo-app/templates/install.yaml
index 58c920c..bc5f0b4 100644
--- a/charts/dodo-app/templates/install.yaml
+++ b/charts/dodo-app/templates/install.yaml
@@ -130,6 +130,7 @@
- --networks={{ .Values.allowedNetworks }}
- --external={{ .Values.external }}
- --fetch-users-addr={{ .Values.fetchUsersAddr }}
+ - --headscale-api-addr={{ .Values.headscaleAPIAddr }}
volumeMounts:
- name: ssh-key
readOnly: true
diff --git a/charts/dodo-app/values.yaml b/charts/dodo-app/values.yaml
index b1d57c4..ba822a2 100644
--- a/charts/dodo-app/values.yaml
+++ b/charts/dodo-app/values.yaml
@@ -17,3 +17,4 @@
allowedNetworks: ""
external: false
fetchUsersAddr: ""
+headscaleAPIAddr: ""
diff --git a/charts/soft-serve/templates/ingress.yaml b/charts/soft-serve/templates/ingress.yaml
deleted file mode 100644
index 490a5b3..0000000
--- a/charts/soft-serve/templates/ingress.yaml
+++ /dev/null
@@ -1,31 +0,0 @@
-{{ if .Values.ingress.enabled }}
-apiVersion: networking.k8s.io/v1
-kind: Ingress
-metadata:
- name: ingress
- namespace: {{ .Release.Namespace }}
- {{- if .Values.ingress.certificateIssuer }}
- annotations:
- acme.cert-manager.io/http01-edit-in-place: "true"
- cert-manager.io/cluster-issuer: {{ .Values.ingress.certificateIssuer }}
- {{- end }}
-spec:
- ingressClassName: {{ .Values.ingress.ingressClassName }}
- {{- if .Values.ingress.certificateIssuer }}
- tls:
- - hosts:
- - {{ .Values.ingress.domain }}
- secretName: cert-soft-serve
- {{- end }}
- rules:
- - host: {{ .Values.ingress.domain }}
- http:
- paths:
- - path: /
- pathType: Prefix
- backend:
- service:
- name: soft-serve
- port:
- name: http
-{{ end }}
diff --git a/charts/soft-serve/templates/service-transport.yaml b/charts/soft-serve/templates/service-transport.yaml
deleted file mode 100644
index 969fbbe..0000000
--- a/charts/soft-serve/templates/service-transport.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-{{ if .Values.ingress.enabled }}
-apiVersion: transport.dodo.cloud/v1
-kind: ServiceTransport
-metadata:
- name: ingress-transport
- namespace: {{ .Release.Namespace }}
-spec:
- port: {{ .Values.port }}
- sourcePort: {{ .Values.ingress.sourcePort }}
- protocol: TCP
- service: soft-serve
- ingressClassName: {{ .Values.ingress.ingressClassName }}
-{{ end }}
diff --git a/charts/soft-serve/templates/stateful-set.yaml b/charts/soft-serve/templates/stateful-set.yaml
index e5b32eb..5cf32c6 100644
--- a/charts/soft-serve/templates/stateful-set.yaml
+++ b/charts/soft-serve/templates/stateful-set.yaml
@@ -17,7 +17,7 @@
volumes:
- name: data
persistentVolumeClaim:
- claimName: soft-serve
+ claimName: {{ .Values.persistentVolumeClaimName }}
{{ if and .Values.privateKey .Values.publicKey }}
- name: keys
configMap:
@@ -31,7 +31,7 @@
- name: SOFT_SERVE_SSH_LISTEN_ADDR
value: ":{{ .Values.port }}"
- name: SOFT_SERVE_SSH_PUBLIC_URL
- value: "ssh://{{ .Values.ingress.domain }}:{{ .Values.sshPublicPort }}"
+ value: "ssh://{{ .Values.host }}:{{ .Values.sshPublicPort }}"
- name: SOFT_SERVE_INITIAL_ADMIN_KEYS
value: |-
{{ indent 12 .Values.adminKey }}
@@ -44,11 +44,7 @@
- name: SOFT_SERVE_HTTP_LISTEN_ADDR
value: ":80"
- name: SOFT_SERVE_HTTP_PUBLIC_URL
- value: "http://{{ .Values.ingress.domain }}"
- - name: SOFT_SERVE_ALLOW_KEYLESS
- value: "{{ .Values.allowKeyless }}"
- - name: SOFT_SERVE_ANON_ACCESS
- value: "{{ .Values.anonAccess }}"
+ value: "http://{{ .Values.host }}"
ports:
- name: ssh
containerPort: {{ .Values.port }}
diff --git a/charts/soft-serve/templates/volume.yaml b/charts/soft-serve/templates/volume.yaml
deleted file mode 100644
index f5d0bfc..0000000
--- a/charts/soft-serve/templates/volume.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
- name: soft-serve
- namespace: {{ .Release.Namespace }}
-spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: {{ .Values.storage.size }}
diff --git a/charts/soft-serve/values.yaml b/charts/soft-serve/values.yaml
index cd042fc..5538d5c 100644
--- a/charts/soft-serve/values.yaml
+++ b/charts/soft-serve/values.yaml
@@ -2,8 +2,8 @@
repository: charmcli/soft-serve
tag: latest
pullPolicy: IfNotPresent
-storage:
- size: 1Gi
+persistentVolumeClaimName: ""
+host: ""
port: 22
sshPublicPort: 22
privateKey: ""
@@ -12,11 +12,3 @@
serviceType: LoadBalancer
reservedIP: ""
addressPool: ""
-ingress:
- enabled: false
- domain: git.p.example.com
- ingressClassName: example-ingress-private
- certificateIssuer: ""
- sourcePort: 0
-allowKeyless: false
-anonAccess: "no-access"
diff --git a/charts/url-shortener/templates/install.yaml b/charts/url-shortener/templates/install.yaml
index a0fc858..d06ccdd 100644
--- a/charts/url-shortener/templates/install.yaml
+++ b/charts/url-shortener/templates/install.yaml
@@ -46,4 +46,4 @@
volumes:
- name: url-shortener
persistentVolumeClaim:
- claimName: url-shortener
+ claimName: {{ .Values.persistentVolumeClaimName }}
diff --git a/charts/url-shortener/templates/volume.yaml b/charts/url-shortener/templates/volume.yaml
deleted file mode 100644
index 992e601..0000000
--- a/charts/url-shortener/templates/volume.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
- name: url-shortener
- namespace: {{ .Release.Namespace }}
-spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: {{ .Values.storage.size }}
diff --git a/charts/url-shortener/values.yaml b/charts/url-shortener/values.yaml
index dd3da7d..c9dd02e 100644
--- a/charts/url-shortener/values.yaml
+++ b/charts/url-shortener/values.yaml
@@ -2,7 +2,6 @@
repository: giolekva/url-shortener
tag: latest
pullPolicy: Always
-storage:
- size: 1Gi
+persistentVolumeClaimName: "data"
portName: http
requireAuth: false
diff --git a/charts/vaultwarden/templates/install.yaml b/charts/vaultwarden/templates/install.yaml
index 3305d6a..010a067 100644
--- a/charts/vaultwarden/templates/install.yaml
+++ b/charts/vaultwarden/templates/install.yaml
@@ -1,15 +1,3 @@
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
- name: data
- namespace: {{ .Release.Namespace }}
-spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: {{ .Values.storage.size }}
----
apiVersion: apps/v1
kind: Deployment
metadata:
@@ -28,7 +16,7 @@
volumes:
- name: data
persistentVolumeClaim:
- claimName: data
+ claimName: {{ .Values.persistentVolumeClaimName }}
containers:
- name: server
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
@@ -41,7 +29,7 @@
- name: DOMAIN
value: https://{{ .Values.domain }}
ports:
- - name: http
+ - name: {{ .Values.httpPortName }}
containerPort: 80
protocol: TCP
volumeMounts:
@@ -60,27 +48,5 @@
ports:
- name: http
port: 80
- targetPort: http
+ targetPort: {{ .Values.httpPortName }}
protocol: TCP
----
-apiVersion: networking.k8s.io/v1
-kind: Ingress
-metadata:
- name: ingress
- namespace: {{ .Release.Namespace }}
-spec:
- ingressClassName: {{ .Values.ingressClassName }}
- tls:
- - hosts:
- - {{ .Values.domain }}
- rules:
- - host: {{ .Values.domain }}
- http:
- paths:
- - path: /
- pathType: Prefix
- backend:
- service:
- name: server
- port:
- name: http
diff --git a/charts/vaultwarden/values.yaml b/charts/vaultwarden/values.yaml
index 8bd6296..d432172 100644
--- a/charts/vaultwarden/values.yaml
+++ b/charts/vaultwarden/values.yaml
@@ -2,8 +2,6 @@
repository: vaultwarden/server
tag: 1.28.1
pullPolicy: IfNotPresent
-storage:
- size: 1Gi
domain: bitwarden.example.com
-certificateIssuer: private
-ingressClassName: ingress-private
+persistentVolumeClaimName: "data"
+httpPortName: "http"
diff --git a/charts/virtual-machine/templates/secret-network-data.yaml b/charts/virtual-machine/templates/secret-network-data.yaml
new file mode 100644
index 0000000..02c002c
--- /dev/null
+++ b/charts/virtual-machine/templates/secret-network-data.yaml
@@ -0,0 +1,7 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ .Values.name }}-network-data
+type: Opaque
+data:
+ networkdata: {{ .Values.cloudInit.networkData}}
diff --git a/charts/virtual-machine/templates/secret-user-data.yaml b/charts/virtual-machine/templates/secret-user-data.yaml
new file mode 100644
index 0000000..228ab91
--- /dev/null
+++ b/charts/virtual-machine/templates/secret-user-data.yaml
@@ -0,0 +1,7 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ .Values.name }}-user-data
+type: Opaque
+data:
+ userdata: {{ .Values.cloudInit.userData}}
diff --git a/charts/virtual-machine/templates/service-code-server.yaml b/charts/virtual-machine/templates/service-code-server.yaml
deleted file mode 100644
index 3be8855..0000000
--- a/charts/virtual-machine/templates/service-code-server.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-# TODO(gio): enable
-# apiVersion: v1
-# kind: Service
-# metadata:
-# name: {{ .Values.name }}-code-server
-# spec:
-# type: ClusterIP
-# selector:
-# app: {{ .Values.name }}
-# ports:
-# - name: http
-# port: 80
-# targetPort: 8080 # TODO(gio): add to values.yaml
-# protocol: TCP
diff --git a/charts/virtual-machine/templates/service.yaml b/charts/virtual-machine/templates/service.yaml
new file mode 100644
index 0000000..b79b385
--- /dev/null
+++ b/charts/virtual-machine/templates/service.yaml
@@ -0,0 +1,10 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Values.name }}
+spec:
+ type: ClusterIP
+ selector:
+ app: {{ .Values.name }}
+ ports:
+ {{- toYaml .Values.servicePorts | nindent 4 }}
diff --git a/charts/virtual-machine/templates/vm.yaml b/charts/virtual-machine/templates/vm.yaml
index d66da80..40c4a34 100644
--- a/charts/virtual-machine/templates/vm.yaml
+++ b/charts/virtual-machine/templates/vm.yaml
@@ -22,7 +22,8 @@
devices:
interfaces:
- name: default
- masquerade: {}
+ # masquerade: {}
+ bridge: {}
ports:
{{- range .Values.ports }}
- port: {{ . }}
@@ -44,6 +45,7 @@
claimName: dv-{{ .Values.name }}
- name: cloudinitdisk
cloudInitNoCloud:
- userData: |
- #cloud-config
- {{- toYaml .Values.cloudInit.userData | nindent 14 }}
+ secretRef:
+ name: {{ .Values.name }}-user-data
+ networkDataSecretRef:
+ name: {{ .Values.name }}-network-data
diff --git a/charts/virtual-machine/values.yaml b/charts/virtual-machine/values.yaml
index 6c8b642..79ea0a9 100644
--- a/charts/virtual-machine/values.yaml
+++ b/charts/virtual-machine/values.yaml
@@ -6,4 +6,6 @@
size: 64Gi
ports: []
cloudInit:
- userData: {}
+ userData: "" # base64 encoded
+ networkData: "" # base64 encoded
+ports: []