update
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/vm.yaml b/charts/virtual-machine/templates/vm.yaml
index 92bc55c..cdb44db 100644
--- a/charts/virtual-machine/templates/vm.yaml
+++ b/charts/virtual-machine/templates/vm.yaml
@@ -45,8 +45,7 @@
             claimName: dv-{{ .Values.name }}
         - name: cloudinitdisk
           cloudInitNoCloud:
-            userData: |
-              #cloud-config
-              {{- toYaml .Values.cloudInit.userData | nindent 14 }}
-            networkData: |
-              {{- toYaml .Values.cloudInit.networkData | nindent 14 }}
+            userDataSecretRef:
+              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 d5e6bbf..79ea0a9 100644
--- a/charts/virtual-machine/values.yaml
+++ b/charts/virtual-machine/values.yaml
@@ -6,6 +6,6 @@
   size: 64Gi
 ports: []
 cloudInit:
-  userData: {}
-  networkData: {}
+  userData: "" # base64 encoded
+  networkData: "" # base64 encoded
 ports: []