blob: a0d19e518e8308add37be904d6925cdac78434e5 [file] [log] [blame]
gio36b23b32024-08-25 12:20:54 +04001apiVersion: kubevirt.io/v1
2kind: VirtualMachine
3metadata:
4 labels:
5 kubevirt.io/os: linux
6 name: {{ .Values.name }}
7spec:
8 running: true
9 template:
10 metadata:
11 creationTimestamp: null
12 labels:
13 kubevirt.io/domain: debian
14 app: {{ .Values.name }}
15 spec:
16 domain:
17 cpu:
18 cores: {{ .Values.cpuCores }}
19 resources:
20 limits:
21 memory: {{ .Values.memory }}
22 devices:
23 interfaces:
24 - name: default
gio7fbd4ad2024-08-27 10:06:39 +040025 # masquerade: {}
26 bridge: {}
gio36b23b32024-08-25 12:20:54 +040027 ports:
giof3486a52024-10-29 23:38:18 +040028 {{- range .Values.ports }}
29 - name: {{ .name }}
30 port: {{ .value }}
31 protocol: {{ .protocol }}
32 {{- end }}
gio36b23b32024-08-25 12:20:54 +040033 disks:
34 - name: disk0
35 disk:
36 bus: virtio
37 - name: cloudinitdisk
38 disk:
39 bus: virtio
40 readonly: true
gioaf7e6432025-04-17 18:46:05 +040041 {{- if .Values.configFiles }}
42 # TODO(gio): switch to filesystems for real-time updates
43 - name: configs
44 disk:
45 bus: virtio
46 readonly: true
47 serial: DODOCONFIGFILES
48 {{- end }}
gio36b23b32024-08-25 12:20:54 +040049 networks:
50 - name: default
51 pod: {}
52 volumes:
53 - name: disk0
54 persistentVolumeClaim:
55 claimName: dv-{{ .Values.name }}
56 - name: cloudinitdisk
57 cloudInitNoCloud:
gio7fbd4ad2024-08-27 10:06:39 +040058 secretRef:
59 name: {{ .Values.name }}-user-data
60 networkDataSecretRef:
61 name: {{ .Values.name }}-network-data
gioaf7e6432025-04-17 18:46:05 +040062 {{- if .Values.configFiles }}
63 - name: configs
64 configMap:
65 name: configs-{{ .Values.name }}
66 {{- end }}