update
diff --git a/charts/virtual-machine/templates/configs.yaml b/charts/virtual-machine/templates/configs.yaml
new file mode 100644
index 0000000..e3daf7f
--- /dev/null
+++ b/charts/virtual-machine/templates/configs.yaml
@@ -0,0 +1,8 @@
+{{- if .Values.configFiles }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: configs-{{ .Values.name }}
+data:
+ {{ toYaml .Values.configFiles | nindent 2 }}
+{{- end }}
diff --git a/charts/virtual-machine/templates/secret-network-data.yaml b/charts/virtual-machine/templates/secret-network-data.yaml
index b3c5a13..8d7a94c 100644
--- a/charts/virtual-machine/templates/secret-network-data.yaml
+++ b/charts/virtual-machine/templates/secret-network-data.yaml
@@ -4,4 +4,4 @@
name: {{ .Values.name }}-network-data
type: Opaque
data:
- networkdata: {{ .Values.cloudInit.nd | toYaml | b64enc}}
+ networkdata: {{ .Values.cloudInit.networkData | toYaml | b64enc}}
diff --git a/charts/virtual-machine/templates/secret-user-data.yaml b/charts/virtual-machine/templates/secret-user-data.yaml
index 228ab91..f201074 100644
--- a/charts/virtual-machine/templates/secret-user-data.yaml
+++ b/charts/virtual-machine/templates/secret-user-data.yaml
@@ -1,7 +1,15 @@
+{{- $userData := .Values.cloudInit.userData }}
+{{- if .Values.configFiles }}
+{{- $runcmd := get $userData "runcmd" | default list }}
+{{- $mkdir := print "sudo mkdir -p /home/" .Values.username "/.dodo" }}
+{{- $mount := print "sudo mount -t virtiofs configs /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}}
diff --git a/charts/virtual-machine/templates/vm.yaml b/charts/virtual-machine/templates/vm.yaml
index 3a0a446..ebb2fcb 100644
--- a/charts/virtual-machine/templates/vm.yaml
+++ b/charts/virtual-machine/templates/vm.yaml
@@ -38,6 +38,9 @@
disk:
bus: virtio
readonly: true
+ filesystems:
+ - name: configs
+ virtiofs: {}
networks:
- name: default
pod: {}
@@ -51,3 +54,8 @@
name: {{ .Values.name }}-user-data
networkDataSecretRef:
name: {{ .Values.name }}-network-data
+ {{- if .Values.configFiles }}
+ - name: configs
+ configMap:
+ name: configs-{{ .Values.name }}
+ {{- end }}
diff --git a/charts/virtual-machine/values.yaml b/charts/virtual-machine/values.yaml
index 683faf6..cf2f6ed 100644
--- a/charts/virtual-machine/values.yaml
+++ b/charts/virtual-machine/values.yaml
@@ -1,4 +1,5 @@
-name: ""
+name: "dodo"
+username: "dodo"
cpuCores: 1
memory: "1Gi"
disk:
@@ -6,6 +7,6 @@
size: 64Gi
ports: []
cloudInit:
- userData: "" # base64 encoded
- networkData: "" # base64 encoded
- nd: {}
+ userData: {}
+ networkData: {}
+configFiles: {}