VirtualMachines: Support auto creation of the config files
Mount using virtiofs
Change-Id: I77c5282b7bb1ad55df6ddfe0e4e53757b94f11e8
diff --git a/charts/virtual-machine/templates/secret-user-data.yaml b/charts/virtual-machine/templates/secret-user-data.yaml
index 228ab91..057fda5 100644
--- a/charts/virtual-machine/templates/secret-user-data.yaml
+++ b/charts/virtual-machine/templates/secret-user-data.yaml
@@ -1,7 +1,17 @@
+{{- $userData := .Values.cloudInit.userData }}
+{{- if .Values.configFiles }}
+{{- $runcmd := get $userData "runcmd" | default list }}
+{{- $mkdir := print "sudo mkdir -p /home/" .Values.username "/.dodo" }}
+# TODO(gio): use this when switching to filesystems
+# {{- $mount := print "sudo mount -t virtiofs configs /home/" .Values.username "/.dodo" }}
+{{- $mount := print "sudo mount /dev/$(lsblk --nodeps -no name,serial | grep DODOCONFIGFILES | cut -f1 -d' ') /home/" .Values.username "/.dodo" }}
+{{- $_ := set $userData "runcmd" (concat $runcmd (list $mkdir $mount)) }}
+{{- end }}
+{{- $userDataYaml := print "#cloud-config\n" (toYaml $userData) }}
apiVersion: v1
kind: Secret
metadata:
name: {{ .Values.name }}-user-data
type: Opaque
data:
- userdata: {{ .Values.cloudInit.userData}}
+ userdata: {{ $userDataYaml | b64enc}}