diff --git a/data/common-templates-bundle/common-templates-v0.27.0.yaml b/data/common-templates-bundle/common-templates-v0.27.0.yaml new file mode 100644 index 000000000..91f1c41a9 --- /dev/null +++ b/data/common-templates-bundle/common-templates-v0.27.0.yaml @@ -0,0 +1,17001 @@ +# Version v0.27.0 +--- +# Source: dist/templates/centos-stream8-desktop-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos-stream8-desktop-large + annotations: + openshift.io/display-name: "CentOS Stream 8 VM" + description: >- + Template for CentOS Stream 8 VM or newer. + A PVC with the CentOS Stream disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centosstream" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos-stream:8 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-latest.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos-stream8: CentOS Stream 8 or higher + labels: + os.template.kubevirt.io/centos-stream8: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos-stream8-desktop-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos-stream8" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos-stream8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos-stream8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos-stream8-desktop-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos-stream8-desktop-medium + annotations: + openshift.io/display-name: "CentOS Stream 8 VM" + description: >- + Template for CentOS Stream 8 VM or newer. + A PVC with the CentOS Stream disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centosstream" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos-stream:8 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-latest.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos-stream8: CentOS Stream 8 or higher + labels: + os.template.kubevirt.io/centos-stream8: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos-stream8-desktop-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos-stream8" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos-stream8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos-stream8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos-stream8-desktop-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos-stream8-desktop-small + annotations: + openshift.io/display-name: "CentOS Stream 8 VM" + description: >- + Template for CentOS Stream 8 VM or newer. + A PVC with the CentOS Stream disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centosstream" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos-stream:8 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-latest.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos-stream8: CentOS Stream 8 or higher + labels: + os.template.kubevirt.io/centos-stream8: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos-stream8-desktop-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos-stream8" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos-stream8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos-stream8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos-stream8-desktop-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos-stream8-desktop-tiny + annotations: + openshift.io/display-name: "CentOS Stream 8 VM" + description: >- + Template for CentOS Stream 8 VM or newer. + A PVC with the CentOS Stream disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centosstream" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos-stream:8 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-latest.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos-stream8: CentOS Stream 8 or higher + labels: + os.template.kubevirt.io/centos-stream8: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos-stream8-desktop-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos-stream8" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 1.5Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos-stream8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos-stream8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos-stream8-server-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos-stream8-server-large + annotations: + openshift.io/display-name: "CentOS Stream 8 VM" + description: >- + Template for CentOS Stream 8 VM or newer. + A PVC with the CentOS Stream disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centosstream" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos-stream:8 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-latest.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos-stream8: CentOS Stream 8 or higher + labels: + os.template.kubevirt.io/centos-stream8: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos-stream8-server-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos-stream8" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos-stream8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos-stream8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos-stream8-server-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos-stream8-server-medium + annotations: + openshift.io/display-name: "CentOS Stream 8 VM" + description: >- + Template for CentOS Stream 8 VM or newer. + A PVC with the CentOS Stream disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centosstream" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos-stream:8 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-latest.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos-stream8: CentOS Stream 8 or higher + labels: + os.template.kubevirt.io/centos-stream8: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos-stream8-server-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos-stream8" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos-stream8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos-stream8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos-stream8-server-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos-stream8-server-small + annotations: + openshift.io/display-name: "CentOS Stream 8 VM" + description: >- + Template for CentOS Stream 8 VM or newer. + A PVC with the CentOS Stream disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centosstream" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos-stream:8 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-latest.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos-stream8: CentOS Stream 8 or higher + labels: + os.template.kubevirt.io/centos-stream8: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" + template.kubevirt.io/default-os-variant: "true" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos-stream8-server-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos-stream8" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos-stream8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos-stream8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos-stream8-server-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos-stream8-server-tiny + annotations: + openshift.io/display-name: "CentOS Stream 8 VM" + description: >- + Template for CentOS Stream 8 VM or newer. + A PVC with the CentOS Stream disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centosstream" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos-stream:8 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-latest.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos-stream8: CentOS Stream 8 or higher + labels: + os.template.kubevirt.io/centos-stream8: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos-stream8-server-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos-stream8" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 1.5Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos-stream8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos-stream8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos-stream9-desktop-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos-stream9-desktop-large + annotations: + openshift.io/display-name: "CentOS Stream 9 VM" + description: >- + Template for CentOS Stream 9 VM or newer. + A PVC with the CentOS Stream disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centosstream" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos-stream:9 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos-stream9: CentOS Stream 9 or higher + labels: + os.template.kubevirt.io/centos-stream9: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos-stream9-desktop-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos-stream9" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos-stream9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos-stream9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos-stream9-desktop-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos-stream9-desktop-medium + annotations: + openshift.io/display-name: "CentOS Stream 9 VM" + description: >- + Template for CentOS Stream 9 VM or newer. + A PVC with the CentOS Stream disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centosstream" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos-stream:9 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos-stream9: CentOS Stream 9 or higher + labels: + os.template.kubevirt.io/centos-stream9: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos-stream9-desktop-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos-stream9" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos-stream9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos-stream9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos-stream9-desktop-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos-stream9-desktop-small + annotations: + openshift.io/display-name: "CentOS Stream 9 VM" + description: >- + Template for CentOS Stream 9 VM or newer. + A PVC with the CentOS Stream disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centosstream" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos-stream:9 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos-stream9: CentOS Stream 9 or higher + labels: + os.template.kubevirt.io/centos-stream9: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos-stream9-desktop-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos-stream9" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos-stream9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos-stream9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos-stream9-desktop-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos-stream9-desktop-tiny + annotations: + openshift.io/display-name: "CentOS Stream 9 VM" + description: >- + Template for CentOS Stream 9 VM or newer. + A PVC with the CentOS Stream disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centosstream" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos-stream:9 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos-stream9: CentOS Stream 9 or higher + labels: + os.template.kubevirt.io/centos-stream9: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos-stream9-desktop-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos-stream9" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 1.5Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos-stream9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos-stream9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos-stream9-server-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos-stream9-server-large + annotations: + openshift.io/display-name: "CentOS Stream 9 VM" + description: >- + Template for CentOS Stream 9 VM or newer. + A PVC with the CentOS Stream disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centosstream" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos-stream:9 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos-stream9: CentOS Stream 9 or higher + labels: + os.template.kubevirt.io/centos-stream9: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos-stream9-server-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos-stream9" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos-stream9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos-stream9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos-stream9-server-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos-stream9-server-medium + annotations: + openshift.io/display-name: "CentOS Stream 9 VM" + description: >- + Template for CentOS Stream 9 VM or newer. + A PVC with the CentOS Stream disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centosstream" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos-stream:9 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos-stream9: CentOS Stream 9 or higher + labels: + os.template.kubevirt.io/centos-stream9: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos-stream9-server-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos-stream9" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos-stream9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos-stream9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos-stream9-server-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos-stream9-server-small + annotations: + openshift.io/display-name: "CentOS Stream 9 VM" + description: >- + Template for CentOS Stream 9 VM or newer. + A PVC with the CentOS Stream disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centosstream" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos-stream:9 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos-stream9: CentOS Stream 9 or higher + labels: + os.template.kubevirt.io/centos-stream9: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" + template.kubevirt.io/default-os-variant: "true" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos-stream9-server-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos-stream9" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos-stream9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos-stream9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos-stream9-server-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos-stream9-server-tiny + annotations: + openshift.io/display-name: "CentOS Stream 9 VM" + description: >- + Template for CentOS Stream 9 VM or newer. + A PVC with the CentOS Stream disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centosstream" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos-stream:9 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos-stream9: CentOS Stream 9 or higher + labels: + os.template.kubevirt.io/centos-stream9: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos-stream9-server-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos-stream9" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 1.5Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos-stream9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos-stream9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos6-server-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos6-server-large + annotations: + template.kubevirt.io/deprecated: "true" + openshift.io/display-name: "CentOS 6 VM" + description: >- + Template for CentOS 6 VM or newer. + A PVC with the CentOS disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centos" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos6.0: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.1: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.10: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.2: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.3: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.4: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.5: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.6: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.7: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.8: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.9: CentOS 6.0 or higher + labels: + os.template.kubevirt.io/centos6.0: "true" + os.template.kubevirt.io/centos6.1: "true" + os.template.kubevirt.io/centos6.10: "true" + os.template.kubevirt.io/centos6.2: "true" + os.template.kubevirt.io/centos6.3: "true" + os.template.kubevirt.io/centos6.4: "true" + os.template.kubevirt.io/centos6.5: "true" + os.template.kubevirt.io/centos6.6: "true" + os.template.kubevirt.io/centos6.7: "true" + os.template.kubevirt.io/centos6.8: "true" + os.template.kubevirt.io/centos6.9: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos6-server-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos6" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + networkInterfaceMultiqueue: true + useVirtioTransitional: true + rng: {} + disks: + - bootOrder: 1 + disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos6-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos6' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos6-server-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos6-server-medium + annotations: + template.kubevirt.io/deprecated: "true" + openshift.io/display-name: "CentOS 6 VM" + description: >- + Template for CentOS 6 VM or newer. + A PVC with the CentOS disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centos" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos6.0: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.1: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.10: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.2: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.3: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.4: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.5: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.6: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.7: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.8: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.9: CentOS 6.0 or higher + labels: + os.template.kubevirt.io/centos6.0: "true" + os.template.kubevirt.io/centos6.1: "true" + os.template.kubevirt.io/centos6.10: "true" + os.template.kubevirt.io/centos6.2: "true" + os.template.kubevirt.io/centos6.3: "true" + os.template.kubevirt.io/centos6.4: "true" + os.template.kubevirt.io/centos6.5: "true" + os.template.kubevirt.io/centos6.6: "true" + os.template.kubevirt.io/centos6.7: "true" + os.template.kubevirt.io/centos6.8: "true" + os.template.kubevirt.io/centos6.9: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos6-server-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos6" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + networkInterfaceMultiqueue: true + useVirtioTransitional: true + rng: {} + disks: + - bootOrder: 1 + disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos6-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos6' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos6-server-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos6-server-small + annotations: + template.kubevirt.io/deprecated: "true" + openshift.io/display-name: "CentOS 6 VM" + description: >- + Template for CentOS 6 VM or newer. + A PVC with the CentOS disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centos" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos6.0: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.1: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.10: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.2: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.3: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.4: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.5: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.6: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.7: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.8: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.9: CentOS 6.0 or higher + labels: + os.template.kubevirt.io/centos6.0: "true" + os.template.kubevirt.io/centos6.1: "true" + os.template.kubevirt.io/centos6.10: "true" + os.template.kubevirt.io/centos6.2: "true" + os.template.kubevirt.io/centos6.3: "true" + os.template.kubevirt.io/centos6.4: "true" + os.template.kubevirt.io/centos6.5: "true" + os.template.kubevirt.io/centos6.6: "true" + os.template.kubevirt.io/centos6.7: "true" + os.template.kubevirt.io/centos6.8: "true" + os.template.kubevirt.io/centos6.9: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" + template.kubevirt.io/default-os-variant: "true" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos6-server-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos6" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 2Gi + devices: + networkInterfaceMultiqueue: true + useVirtioTransitional: true + rng: {} + disks: + - bootOrder: 1 + disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos6-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos6' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos6-server-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos6-server-tiny + annotations: + template.kubevirt.io/deprecated: "true" + openshift.io/display-name: "CentOS 6 VM" + description: >- + Template for CentOS 6 VM or newer. + A PVC with the CentOS disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centos" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos6.0: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.1: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.10: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.2: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.3: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.4: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.5: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.6: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.7: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.8: CentOS 6.0 or higher + name.os.template.kubevirt.io/centos6.9: CentOS 6.0 or higher + labels: + os.template.kubevirt.io/centos6.0: "true" + os.template.kubevirt.io/centos6.1: "true" + os.template.kubevirt.io/centos6.10: "true" + os.template.kubevirt.io/centos6.2: "true" + os.template.kubevirt.io/centos6.3: "true" + os.template.kubevirt.io/centos6.4: "true" + os.template.kubevirt.io/centos6.5: "true" + os.template.kubevirt.io/centos6.6: "true" + os.template.kubevirt.io/centos6.7: "true" + os.template.kubevirt.io/centos6.8: "true" + os.template.kubevirt.io/centos6.9: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos6-server-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos6" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 1Gi + devices: + networkInterfaceMultiqueue: true + useVirtioTransitional: true + rng: {} + disks: + - bootOrder: 1 + disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos6-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos6' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos7-desktop-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos7-desktop-large + annotations: + openshift.io/display-name: "CentOS 7 VM" + description: >- + Template for CentOS 7 VM or newer. + A PVC with the CentOS disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centos" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos:7-2009 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos7.0: CentOS 7 or higher + labels: + os.template.kubevirt.io/centos7.0: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos7-desktop-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos7" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos7-desktop-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos7-desktop-medium + annotations: + openshift.io/display-name: "CentOS 7 VM" + description: >- + Template for CentOS 7 VM or newer. + A PVC with the CentOS disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centos" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos:7-2009 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos7.0: CentOS 7 or higher + labels: + os.template.kubevirt.io/centos7.0: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos7-desktop-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos7" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos7-desktop-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos7-desktop-small + annotations: + openshift.io/display-name: "CentOS 7 VM" + description: >- + Template for CentOS 7 VM or newer. + A PVC with the CentOS disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centos" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos:7-2009 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos7.0: CentOS 7 or higher + labels: + os.template.kubevirt.io/centos7.0: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos7-desktop-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos7" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos7-desktop-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos7-desktop-tiny + annotations: + openshift.io/display-name: "CentOS 7 VM" + description: >- + Template for CentOS 7 VM or newer. + A PVC with the CentOS disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centos" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos:7-2009 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos7.0: CentOS 7 or higher + labels: + os.template.kubevirt.io/centos7.0: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos7-desktop-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos7" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 1Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos7-server-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos7-server-large + annotations: + openshift.io/display-name: "CentOS 7 VM" + description: >- + Template for CentOS 7 VM or newer. + A PVC with the CentOS disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centos" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos:7-2009 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos7.0: CentOS 7 or higher + labels: + os.template.kubevirt.io/centos7.0: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos7-server-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos7" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos7-server-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos7-server-medium + annotations: + openshift.io/display-name: "CentOS 7 VM" + description: >- + Template for CentOS 7 VM or newer. + A PVC with the CentOS disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centos" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos:7-2009 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos7.0: CentOS 7 or higher + labels: + os.template.kubevirt.io/centos7.0: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos7-server-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos7" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos7-server-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos7-server-small + annotations: + openshift.io/display-name: "CentOS 7 VM" + description: >- + Template for CentOS 7 VM or newer. + A PVC with the CentOS disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centos" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos:7-2009 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos7.0: CentOS 7 or higher + labels: + os.template.kubevirt.io/centos7.0: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" + template.kubevirt.io/default-os-variant: "true" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos7-server-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos7" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/centos7-server-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: centos7-server-tiny + annotations: + openshift.io/display-name: "CentOS 7 VM" + description: >- + Template for CentOS 7 VM or newer. + A PVC with the CentOS disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,centos" + iconClass: "icon-centos" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/centos:7-2009 + template.kubevirt.io/images: | + https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/centos7.0: CentOS 7 or higher + labels: + os.template.kubevirt.io/centos7.0: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: centos7-server-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "centos7" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 1Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: centos + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'centos7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'centos7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user centos + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/fedora-desktop-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: fedora-desktop-large + annotations: + openshift.io/display-name: "Fedora VM" + description: >- + Template for Fedora Linux 38 VM or newer. + A PVC with the Fedora disk image must be available. + tags: "hidden,kubevirt,virtualmachine,fedora" + iconClass: "icon-fedora" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/fedora:latest + quay.io/containerdisks/fedora:38 + quay.io/containerdisks/fedora:39 + template.kubevirt.io/images: | + https://dl.fedoraproject.org/pub/fedora/linux/releases/38/Cloud/x86_64/images/Fedora-Cloud-Base-38-1.6.x86_64.qcow2 + https://dl.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/x86_64/images/Fedora-Cloud-Base-39-1.5.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/fedora38: Fedora Linux 38 or higher + name.os.template.kubevirt.io/fedora39: Fedora Linux 38 or higher + labels: + os.template.kubevirt.io/fedora38: "true" + os.template.kubevirt.io/fedora39: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: fedora-desktop-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "fedora" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: fedora + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'fedora-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'fedora' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user fedora + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/fedora-desktop-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: fedora-desktop-medium + annotations: + openshift.io/display-name: "Fedora VM" + description: >- + Template for Fedora Linux 38 VM or newer. + A PVC with the Fedora disk image must be available. + tags: "hidden,kubevirt,virtualmachine,fedora" + iconClass: "icon-fedora" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/fedora:latest + quay.io/containerdisks/fedora:38 + quay.io/containerdisks/fedora:39 + template.kubevirt.io/images: | + https://dl.fedoraproject.org/pub/fedora/linux/releases/38/Cloud/x86_64/images/Fedora-Cloud-Base-38-1.6.x86_64.qcow2 + https://dl.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/x86_64/images/Fedora-Cloud-Base-39-1.5.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/fedora38: Fedora Linux 38 or higher + name.os.template.kubevirt.io/fedora39: Fedora Linux 38 or higher + labels: + os.template.kubevirt.io/fedora38: "true" + os.template.kubevirt.io/fedora39: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: fedora-desktop-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "fedora" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: fedora + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'fedora-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'fedora' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user fedora + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/fedora-desktop-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: fedora-desktop-small + annotations: + openshift.io/display-name: "Fedora VM" + description: >- + Template for Fedora Linux 38 VM or newer. + A PVC with the Fedora disk image must be available. + tags: "hidden,kubevirt,virtualmachine,fedora" + iconClass: "icon-fedora" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/fedora:latest + quay.io/containerdisks/fedora:38 + quay.io/containerdisks/fedora:39 + template.kubevirt.io/images: | + https://dl.fedoraproject.org/pub/fedora/linux/releases/38/Cloud/x86_64/images/Fedora-Cloud-Base-38-1.6.x86_64.qcow2 + https://dl.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/x86_64/images/Fedora-Cloud-Base-39-1.5.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/fedora38: Fedora Linux 38 or higher + name.os.template.kubevirt.io/fedora39: Fedora Linux 38 or higher + labels: + os.template.kubevirt.io/fedora38: "true" + os.template.kubevirt.io/fedora39: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: fedora-desktop-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "fedora" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: fedora + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'fedora-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'fedora' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user fedora + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/fedora-desktop-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: fedora-desktop-tiny + annotations: + openshift.io/display-name: "Fedora VM" + description: >- + Template for Fedora Linux 38 VM or newer. + A PVC with the Fedora disk image must be available. + tags: "hidden,kubevirt,virtualmachine,fedora" + iconClass: "icon-fedora" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/fedora:latest + quay.io/containerdisks/fedora:38 + quay.io/containerdisks/fedora:39 + template.kubevirt.io/images: | + https://dl.fedoraproject.org/pub/fedora/linux/releases/38/Cloud/x86_64/images/Fedora-Cloud-Base-38-1.6.x86_64.qcow2 + https://dl.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/x86_64/images/Fedora-Cloud-Base-39-1.5.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/fedora38: Fedora Linux 38 or higher + name.os.template.kubevirt.io/fedora39: Fedora Linux 38 or higher + labels: + os.template.kubevirt.io/fedora38: "true" + os.template.kubevirt.io/fedora39: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: fedora-desktop-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "fedora" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 1Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: fedora + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'fedora-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'fedora' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user fedora + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/fedora-highperformance-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: fedora-highperformance-large + annotations: + openshift.io/display-name: "Fedora VM" + description: >- + Template for Fedora Linux 38 VM or newer. + A PVC with the Fedora disk image must be available. + tags: "hidden,kubevirt,virtualmachine,fedora" + iconClass: "icon-fedora" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/fedora:latest + quay.io/containerdisks/fedora:38 + quay.io/containerdisks/fedora:39 + template.kubevirt.io/images: | + https://dl.fedoraproject.org/pub/fedora/linux/releases/38/Cloud/x86_64/images/Fedora-Cloud-Base-38-1.6.x86_64.qcow2 + https://dl.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/x86_64/images/Fedora-Cloud-Base-39-1.5.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/fedora38: Fedora Linux 38 or higher + name.os.template.kubevirt.io/fedora39: Fedora Linux 38 or higher + labels: + os.template.kubevirt.io/fedora38: "true" + os.template.kubevirt.io/fedora39: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: fedora-highperformance-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "fedora" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + ioThreadsPolicy: shared + cpu: + sockets: 2 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + dedicatedIOThread: true + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: fedora + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'fedora-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'fedora' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user fedora + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/fedora-highperformance-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: fedora-highperformance-medium + annotations: + openshift.io/display-name: "Fedora VM" + description: >- + Template for Fedora Linux 38 VM or newer. + A PVC with the Fedora disk image must be available. + tags: "hidden,kubevirt,virtualmachine,fedora" + iconClass: "icon-fedora" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/fedora:latest + quay.io/containerdisks/fedora:38 + quay.io/containerdisks/fedora:39 + template.kubevirt.io/images: | + https://dl.fedoraproject.org/pub/fedora/linux/releases/38/Cloud/x86_64/images/Fedora-Cloud-Base-38-1.6.x86_64.qcow2 + https://dl.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/x86_64/images/Fedora-Cloud-Base-39-1.5.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/fedora38: Fedora Linux 38 or higher + name.os.template.kubevirt.io/fedora39: Fedora Linux 38 or higher + labels: + os.template.kubevirt.io/fedora38: "true" + os.template.kubevirt.io/fedora39: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: fedora-highperformance-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "fedora" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + ioThreadsPolicy: shared + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + dedicatedIOThread: true + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: fedora + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'fedora-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'fedora' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user fedora + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/fedora-highperformance-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: fedora-highperformance-small + annotations: + openshift.io/display-name: "Fedora VM" + description: >- + Template for Fedora Linux 38 VM or newer. + A PVC with the Fedora disk image must be available. + tags: "hidden,kubevirt,virtualmachine,fedora" + iconClass: "icon-fedora" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/fedora:latest + quay.io/containerdisks/fedora:38 + quay.io/containerdisks/fedora:39 + template.kubevirt.io/images: | + https://dl.fedoraproject.org/pub/fedora/linux/releases/38/Cloud/x86_64/images/Fedora-Cloud-Base-38-1.6.x86_64.qcow2 + https://dl.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/x86_64/images/Fedora-Cloud-Base-39-1.5.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/fedora38: Fedora Linux 38 or higher + name.os.template.kubevirt.io/fedora39: Fedora Linux 38 or higher + labels: + os.template.kubevirt.io/fedora38: "true" + os.template.kubevirt.io/fedora39: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: fedora-highperformance-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "fedora" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + ioThreadsPolicy: shared + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + dedicatedIOThread: true + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: fedora + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'fedora-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'fedora' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user fedora + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/fedora-highperformance-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: fedora-highperformance-tiny + annotations: + openshift.io/display-name: "Fedora VM" + description: >- + Template for Fedora Linux 38 VM or newer. + A PVC with the Fedora disk image must be available. + tags: "hidden,kubevirt,virtualmachine,fedora" + iconClass: "icon-fedora" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/fedora:latest + quay.io/containerdisks/fedora:38 + quay.io/containerdisks/fedora:39 + template.kubevirt.io/images: | + https://dl.fedoraproject.org/pub/fedora/linux/releases/38/Cloud/x86_64/images/Fedora-Cloud-Base-38-1.6.x86_64.qcow2 + https://dl.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/x86_64/images/Fedora-Cloud-Base-39-1.5.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/fedora38: Fedora Linux 38 or higher + name.os.template.kubevirt.io/fedora39: Fedora Linux 38 or higher + labels: + os.template.kubevirt.io/fedora38: "true" + os.template.kubevirt.io/fedora39: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: fedora-highperformance-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "fedora" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + ioThreadsPolicy: shared + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 1Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + dedicatedIOThread: true + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: fedora + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'fedora-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'fedora' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user fedora + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/fedora-server-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: fedora-server-large + annotations: + openshift.io/display-name: "Fedora VM" + description: >- + Template for Fedora Linux 38 VM or newer. + A PVC with the Fedora disk image must be available. + tags: "hidden,kubevirt,virtualmachine,fedora" + iconClass: "icon-fedora" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/fedora:latest + quay.io/containerdisks/fedora:38 + quay.io/containerdisks/fedora:39 + template.kubevirt.io/images: | + https://dl.fedoraproject.org/pub/fedora/linux/releases/38/Cloud/x86_64/images/Fedora-Cloud-Base-38-1.6.x86_64.qcow2 + https://dl.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/x86_64/images/Fedora-Cloud-Base-39-1.5.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/fedora38: Fedora Linux 38 or higher + name.os.template.kubevirt.io/fedora39: Fedora Linux 38 or higher + labels: + os.template.kubevirt.io/fedora38: "true" + os.template.kubevirt.io/fedora39: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: fedora-server-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "fedora" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: fedora + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'fedora-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'fedora' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user fedora + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/fedora-server-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: fedora-server-medium + annotations: + openshift.io/display-name: "Fedora VM" + description: >- + Template for Fedora Linux 38 VM or newer. + A PVC with the Fedora disk image must be available. + tags: "hidden,kubevirt,virtualmachine,fedora" + iconClass: "icon-fedora" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/fedora:latest + quay.io/containerdisks/fedora:38 + quay.io/containerdisks/fedora:39 + template.kubevirt.io/images: | + https://dl.fedoraproject.org/pub/fedora/linux/releases/38/Cloud/x86_64/images/Fedora-Cloud-Base-38-1.6.x86_64.qcow2 + https://dl.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/x86_64/images/Fedora-Cloud-Base-39-1.5.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/fedora38: Fedora Linux 38 or higher + name.os.template.kubevirt.io/fedora39: Fedora Linux 38 or higher + labels: + os.template.kubevirt.io/fedora38: "true" + os.template.kubevirt.io/fedora39: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: fedora-server-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "fedora" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: fedora + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'fedora-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'fedora' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user fedora + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/fedora-server-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: fedora-server-small + annotations: + openshift.io/display-name: "Fedora VM" + description: >- + Template for Fedora Linux 38 VM or newer. + A PVC with the Fedora disk image must be available. + tags: "hidden,kubevirt,virtualmachine,fedora" + iconClass: "icon-fedora" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/fedora:latest + quay.io/containerdisks/fedora:38 + quay.io/containerdisks/fedora:39 + template.kubevirt.io/images: | + https://dl.fedoraproject.org/pub/fedora/linux/releases/38/Cloud/x86_64/images/Fedora-Cloud-Base-38-1.6.x86_64.qcow2 + https://dl.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/x86_64/images/Fedora-Cloud-Base-39-1.5.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/fedora38: Fedora Linux 38 or higher + name.os.template.kubevirt.io/fedora39: Fedora Linux 38 or higher + labels: + os.template.kubevirt.io/fedora38: "true" + os.template.kubevirt.io/fedora39: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" + template.kubevirt.io/default-os-variant: "true" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: fedora-server-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "fedora" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: fedora + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'fedora-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'fedora' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user fedora + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/fedora-server-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: fedora-server-tiny + annotations: + openshift.io/display-name: "Fedora VM" + description: >- + Template for Fedora Linux 38 VM or newer. + A PVC with the Fedora disk image must be available. + tags: "hidden,kubevirt,virtualmachine,fedora" + iconClass: "icon-fedora" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/fedora:latest + quay.io/containerdisks/fedora:38 + quay.io/containerdisks/fedora:39 + template.kubevirt.io/images: | + https://dl.fedoraproject.org/pub/fedora/linux/releases/38/Cloud/x86_64/images/Fedora-Cloud-Base-38-1.6.x86_64.qcow2 + https://dl.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/x86_64/images/Fedora-Cloud-Base-39-1.5.x86_64.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/fedora38: Fedora Linux 38 or higher + name.os.template.kubevirt.io/fedora39: Fedora Linux 38 or higher + labels: + os.template.kubevirt.io/fedora38: "true" + os.template.kubevirt.io/fedora39: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: fedora-server-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "fedora" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 1Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: fedora + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'fedora-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'fedora' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user fedora + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/opensuse-server-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: opensuse-server-large + annotations: + openshift.io/display-name: "openSUSE Leap 15.4+ VM" + description: >- + Template for openSUSE Leap 15.4 VM or newer. + A PVC with the openSUSE disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,opensuse" + iconClass: "icon-opensuse" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/images: | + https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.4/images/openSUSE-Leap-15.4.x86_64-NoCloud.qcow2 + https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.5/images/openSUSE-Leap-15.5.x86_64-NoCloud.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/opensuse15.4: openSUSE Leap 15.4 or higher + name.os.template.kubevirt.io/opensuse15.5: openSUSE Leap 15.4 or higher + labels: + os.template.kubevirt.io/opensuse15.4: "true" + os.template.kubevirt.io/opensuse15.5: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: opensuse-server-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "opensuse" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: opensuse + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'opensuse-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'opensuse' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user opensuse + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/opensuse-server-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: opensuse-server-medium + annotations: + openshift.io/display-name: "openSUSE Leap 15.4+ VM" + description: >- + Template for openSUSE Leap 15.4 VM or newer. + A PVC with the openSUSE disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,opensuse" + iconClass: "icon-opensuse" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/images: | + https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.4/images/openSUSE-Leap-15.4.x86_64-NoCloud.qcow2 + https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.5/images/openSUSE-Leap-15.5.x86_64-NoCloud.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/opensuse15.4: openSUSE Leap 15.4 or higher + name.os.template.kubevirt.io/opensuse15.5: openSUSE Leap 15.4 or higher + labels: + os.template.kubevirt.io/opensuse15.4: "true" + os.template.kubevirt.io/opensuse15.5: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: opensuse-server-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "opensuse" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: opensuse + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'opensuse-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'opensuse' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user opensuse + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/opensuse-server-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: opensuse-server-small + annotations: + openshift.io/display-name: "openSUSE Leap 15.4+ VM" + description: >- + Template for openSUSE Leap 15.4 VM or newer. + A PVC with the openSUSE disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,opensuse" + iconClass: "icon-opensuse" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/images: | + https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.4/images/openSUSE-Leap-15.4.x86_64-NoCloud.qcow2 + https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.5/images/openSUSE-Leap-15.5.x86_64-NoCloud.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/opensuse15.4: openSUSE Leap 15.4 or higher + name.os.template.kubevirt.io/opensuse15.5: openSUSE Leap 15.4 or higher + labels: + os.template.kubevirt.io/opensuse15.4: "true" + os.template.kubevirt.io/opensuse15.5: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" + template.kubevirt.io/default-os-variant: "true" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: opensuse-server-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "opensuse" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: opensuse + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'opensuse-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'opensuse' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user opensuse + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/opensuse-server-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: opensuse-server-tiny + annotations: + openshift.io/display-name: "openSUSE Leap 15.4+ VM" + description: >- + Template for openSUSE Leap 15.4 VM or newer. + A PVC with the openSUSE disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,opensuse" + iconClass: "icon-opensuse" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/images: | + https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.4/images/openSUSE-Leap-15.4.x86_64-NoCloud.qcow2 + https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.5/images/openSUSE-Leap-15.5.x86_64-NoCloud.qcow2 + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/opensuse15.4: openSUSE Leap 15.4 or higher + name.os.template.kubevirt.io/opensuse15.5: openSUSE Leap 15.4 or higher + labels: + os.template.kubevirt.io/opensuse15.4: "true" + os.template.kubevirt.io/opensuse15.5: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: opensuse-server-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "opensuse" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 1Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: opensuse + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'opensuse-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'opensuse' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user opensuse + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel7-desktop-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel7-desktop-large + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 7 VM" + description: >- + Template for Red Hat Enterprise Linux 7 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.9/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel7.0: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.1: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.2: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.3: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.4: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.5: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.6: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.7: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.8: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.9: Red Hat Enterprise Linux 7.0 or higher + labels: + os.template.kubevirt.io/rhel7.0: "true" + os.template.kubevirt.io/rhel7.1: "true" + os.template.kubevirt.io/rhel7.2: "true" + os.template.kubevirt.io/rhel7.3: "true" + os.template.kubevirt.io/rhel7.4: "true" + os.template.kubevirt.io/rhel7.5: "true" + os.template.kubevirt.io/rhel7.6: "true" + os.template.kubevirt.io/rhel7.7: "true" + os.template.kubevirt.io/rhel7.8: "true" + os.template.kubevirt.io/rhel7.9: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel7-desktop-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel7" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel7-desktop-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel7-desktop-medium + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 7 VM" + description: >- + Template for Red Hat Enterprise Linux 7 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.9/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel7.0: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.1: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.2: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.3: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.4: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.5: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.6: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.7: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.8: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.9: Red Hat Enterprise Linux 7.0 or higher + labels: + os.template.kubevirt.io/rhel7.0: "true" + os.template.kubevirt.io/rhel7.1: "true" + os.template.kubevirt.io/rhel7.2: "true" + os.template.kubevirt.io/rhel7.3: "true" + os.template.kubevirt.io/rhel7.4: "true" + os.template.kubevirt.io/rhel7.5: "true" + os.template.kubevirt.io/rhel7.6: "true" + os.template.kubevirt.io/rhel7.7: "true" + os.template.kubevirt.io/rhel7.8: "true" + os.template.kubevirt.io/rhel7.9: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel7-desktop-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel7" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel7-desktop-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel7-desktop-small + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 7 VM" + description: >- + Template for Red Hat Enterprise Linux 7 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.9/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel7.0: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.1: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.2: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.3: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.4: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.5: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.6: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.7: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.8: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.9: Red Hat Enterprise Linux 7.0 or higher + labels: + os.template.kubevirt.io/rhel7.0: "true" + os.template.kubevirt.io/rhel7.1: "true" + os.template.kubevirt.io/rhel7.2: "true" + os.template.kubevirt.io/rhel7.3: "true" + os.template.kubevirt.io/rhel7.4: "true" + os.template.kubevirt.io/rhel7.5: "true" + os.template.kubevirt.io/rhel7.6: "true" + os.template.kubevirt.io/rhel7.7: "true" + os.template.kubevirt.io/rhel7.8: "true" + os.template.kubevirt.io/rhel7.9: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel7-desktop-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel7" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel7-desktop-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel7-desktop-tiny + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 7 VM" + description: >- + Template for Red Hat Enterprise Linux 7 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.9/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel7.0: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.1: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.2: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.3: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.4: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.5: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.6: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.7: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.8: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.9: Red Hat Enterprise Linux 7.0 or higher + labels: + os.template.kubevirt.io/rhel7.0: "true" + os.template.kubevirt.io/rhel7.1: "true" + os.template.kubevirt.io/rhel7.2: "true" + os.template.kubevirt.io/rhel7.3: "true" + os.template.kubevirt.io/rhel7.4: "true" + os.template.kubevirt.io/rhel7.5: "true" + os.template.kubevirt.io/rhel7.6: "true" + os.template.kubevirt.io/rhel7.7: "true" + os.template.kubevirt.io/rhel7.8: "true" + os.template.kubevirt.io/rhel7.9: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel7-desktop-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel7" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 1Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel7-highperformance-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel7-highperformance-large + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 7 VM" + description: >- + Template for Red Hat Enterprise Linux 7 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.9/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel7.0: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.1: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.2: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.3: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.4: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.5: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.6: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.7: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.8: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.9: Red Hat Enterprise Linux 7.0 or higher + labels: + os.template.kubevirt.io/rhel7.0: "true" + os.template.kubevirt.io/rhel7.1: "true" + os.template.kubevirt.io/rhel7.2: "true" + os.template.kubevirt.io/rhel7.3: "true" + os.template.kubevirt.io/rhel7.4: "true" + os.template.kubevirt.io/rhel7.5: "true" + os.template.kubevirt.io/rhel7.6: "true" + os.template.kubevirt.io/rhel7.7: "true" + os.template.kubevirt.io/rhel7.8: "true" + os.template.kubevirt.io/rhel7.9: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel7-highperformance-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel7" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + ioThreadsPolicy: shared + cpu: + sockets: 2 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + dedicatedIOThread: true + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel7-highperformance-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel7-highperformance-medium + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 7 VM" + description: >- + Template for Red Hat Enterprise Linux 7 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.9/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel7.0: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.1: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.2: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.3: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.4: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.5: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.6: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.7: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.8: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.9: Red Hat Enterprise Linux 7.0 or higher + labels: + os.template.kubevirt.io/rhel7.0: "true" + os.template.kubevirt.io/rhel7.1: "true" + os.template.kubevirt.io/rhel7.2: "true" + os.template.kubevirt.io/rhel7.3: "true" + os.template.kubevirt.io/rhel7.4: "true" + os.template.kubevirt.io/rhel7.5: "true" + os.template.kubevirt.io/rhel7.6: "true" + os.template.kubevirt.io/rhel7.7: "true" + os.template.kubevirt.io/rhel7.8: "true" + os.template.kubevirt.io/rhel7.9: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel7-highperformance-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel7" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + ioThreadsPolicy: shared + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + dedicatedIOThread: true + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel7-highperformance-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel7-highperformance-small + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 7 VM" + description: >- + Template for Red Hat Enterprise Linux 7 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.9/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel7.0: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.1: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.2: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.3: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.4: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.5: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.6: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.7: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.8: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.9: Red Hat Enterprise Linux 7.0 or higher + labels: + os.template.kubevirt.io/rhel7.0: "true" + os.template.kubevirt.io/rhel7.1: "true" + os.template.kubevirt.io/rhel7.2: "true" + os.template.kubevirt.io/rhel7.3: "true" + os.template.kubevirt.io/rhel7.4: "true" + os.template.kubevirt.io/rhel7.5: "true" + os.template.kubevirt.io/rhel7.6: "true" + os.template.kubevirt.io/rhel7.7: "true" + os.template.kubevirt.io/rhel7.8: "true" + os.template.kubevirt.io/rhel7.9: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel7-highperformance-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel7" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + ioThreadsPolicy: shared + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + dedicatedIOThread: true + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel7-highperformance-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel7-highperformance-tiny + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 7 VM" + description: >- + Template for Red Hat Enterprise Linux 7 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.9/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel7.0: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.1: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.2: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.3: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.4: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.5: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.6: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.7: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.8: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.9: Red Hat Enterprise Linux 7.0 or higher + labels: + os.template.kubevirt.io/rhel7.0: "true" + os.template.kubevirt.io/rhel7.1: "true" + os.template.kubevirt.io/rhel7.2: "true" + os.template.kubevirt.io/rhel7.3: "true" + os.template.kubevirt.io/rhel7.4: "true" + os.template.kubevirt.io/rhel7.5: "true" + os.template.kubevirt.io/rhel7.6: "true" + os.template.kubevirt.io/rhel7.7: "true" + os.template.kubevirt.io/rhel7.8: "true" + os.template.kubevirt.io/rhel7.9: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel7-highperformance-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel7" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + ioThreadsPolicy: shared + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 1Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + dedicatedIOThread: true + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel7-server-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel7-server-large + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 7 VM" + description: >- + Template for Red Hat Enterprise Linux 7 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.9/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel7.0: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.1: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.2: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.3: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.4: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.5: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.6: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.7: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.8: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.9: Red Hat Enterprise Linux 7.0 or higher + labels: + os.template.kubevirt.io/rhel7.0: "true" + os.template.kubevirt.io/rhel7.1: "true" + os.template.kubevirt.io/rhel7.2: "true" + os.template.kubevirt.io/rhel7.3: "true" + os.template.kubevirt.io/rhel7.4: "true" + os.template.kubevirt.io/rhel7.5: "true" + os.template.kubevirt.io/rhel7.6: "true" + os.template.kubevirt.io/rhel7.7: "true" + os.template.kubevirt.io/rhel7.8: "true" + os.template.kubevirt.io/rhel7.9: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel7-server-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel7" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel7-server-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel7-server-medium + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 7 VM" + description: >- + Template for Red Hat Enterprise Linux 7 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.9/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel7.0: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.1: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.2: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.3: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.4: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.5: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.6: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.7: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.8: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.9: Red Hat Enterprise Linux 7.0 or higher + labels: + os.template.kubevirt.io/rhel7.0: "true" + os.template.kubevirt.io/rhel7.1: "true" + os.template.kubevirt.io/rhel7.2: "true" + os.template.kubevirt.io/rhel7.3: "true" + os.template.kubevirt.io/rhel7.4: "true" + os.template.kubevirt.io/rhel7.5: "true" + os.template.kubevirt.io/rhel7.6: "true" + os.template.kubevirt.io/rhel7.7: "true" + os.template.kubevirt.io/rhel7.8: "true" + os.template.kubevirt.io/rhel7.9: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel7-server-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel7" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel7-server-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel7-server-small + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 7 VM" + description: >- + Template for Red Hat Enterprise Linux 7 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.9/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel7.0: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.1: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.2: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.3: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.4: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.5: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.6: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.7: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.8: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.9: Red Hat Enterprise Linux 7.0 or higher + labels: + os.template.kubevirt.io/rhel7.0: "true" + os.template.kubevirt.io/rhel7.1: "true" + os.template.kubevirt.io/rhel7.2: "true" + os.template.kubevirt.io/rhel7.3: "true" + os.template.kubevirt.io/rhel7.4: "true" + os.template.kubevirt.io/rhel7.5: "true" + os.template.kubevirt.io/rhel7.6: "true" + os.template.kubevirt.io/rhel7.7: "true" + os.template.kubevirt.io/rhel7.8: "true" + os.template.kubevirt.io/rhel7.9: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" + template.kubevirt.io/default-os-variant: "true" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel7-server-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel7" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel7-server-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel7-server-tiny + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 7 VM" + description: >- + Template for Red Hat Enterprise Linux 7 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.9/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel7.0: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.1: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.2: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.3: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.4: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.5: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.6: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.7: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.8: Red Hat Enterprise Linux 7.0 or higher + name.os.template.kubevirt.io/rhel7.9: Red Hat Enterprise Linux 7.0 or higher + labels: + os.template.kubevirt.io/rhel7.0: "true" + os.template.kubevirt.io/rhel7.1: "true" + os.template.kubevirt.io/rhel7.2: "true" + os.template.kubevirt.io/rhel7.3: "true" + os.template.kubevirt.io/rhel7.4: "true" + os.template.kubevirt.io/rhel7.5: "true" + os.template.kubevirt.io/rhel7.6: "true" + os.template.kubevirt.io/rhel7.7: "true" + os.template.kubevirt.io/rhel7.8: "true" + os.template.kubevirt.io/rhel7.9: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel7-server-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1073741824 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel7" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 1Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel7-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel7' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel8-desktop-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel8-desktop-large + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 8 VM" + description: >- + Template for Red Hat Enterprise Linux 8 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel8/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---8/8.6/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel8.0: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.1: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.10: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.2: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.3: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.4: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.5: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.6: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.7: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.8: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.9: Red Hat Enterprise Linux 8.0 or higher + labels: + os.template.kubevirt.io/rhel8.0: "true" + os.template.kubevirt.io/rhel8.1: "true" + os.template.kubevirt.io/rhel8.10: "true" + os.template.kubevirt.io/rhel8.2: "true" + os.template.kubevirt.io/rhel8.3: "true" + os.template.kubevirt.io/rhel8.4: "true" + os.template.kubevirt.io/rhel8.5: "true" + os.template.kubevirt.io/rhel8.6: "true" + os.template.kubevirt.io/rhel8.7: "true" + os.template.kubevirt.io/rhel8.8: "true" + os.template.kubevirt.io/rhel8.9: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel8-desktop-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel8" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel8-desktop-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel8-desktop-medium + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 8 VM" + description: >- + Template for Red Hat Enterprise Linux 8 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel8/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---8/8.6/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel8.0: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.1: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.10: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.2: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.3: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.4: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.5: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.6: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.7: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.8: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.9: Red Hat Enterprise Linux 8.0 or higher + labels: + os.template.kubevirt.io/rhel8.0: "true" + os.template.kubevirt.io/rhel8.1: "true" + os.template.kubevirt.io/rhel8.10: "true" + os.template.kubevirt.io/rhel8.2: "true" + os.template.kubevirt.io/rhel8.3: "true" + os.template.kubevirt.io/rhel8.4: "true" + os.template.kubevirt.io/rhel8.5: "true" + os.template.kubevirt.io/rhel8.6: "true" + os.template.kubevirt.io/rhel8.7: "true" + os.template.kubevirt.io/rhel8.8: "true" + os.template.kubevirt.io/rhel8.9: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel8-desktop-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel8" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel8-desktop-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel8-desktop-small + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 8 VM" + description: >- + Template for Red Hat Enterprise Linux 8 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel8/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---8/8.6/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel8.0: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.1: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.10: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.2: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.3: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.4: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.5: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.6: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.7: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.8: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.9: Red Hat Enterprise Linux 8.0 or higher + labels: + os.template.kubevirt.io/rhel8.0: "true" + os.template.kubevirt.io/rhel8.1: "true" + os.template.kubevirt.io/rhel8.10: "true" + os.template.kubevirt.io/rhel8.2: "true" + os.template.kubevirt.io/rhel8.3: "true" + os.template.kubevirt.io/rhel8.4: "true" + os.template.kubevirt.io/rhel8.5: "true" + os.template.kubevirt.io/rhel8.6: "true" + os.template.kubevirt.io/rhel8.7: "true" + os.template.kubevirt.io/rhel8.8: "true" + os.template.kubevirt.io/rhel8.9: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel8-desktop-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel8" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel8-desktop-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel8-desktop-tiny + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 8 VM" + description: >- + Template for Red Hat Enterprise Linux 8 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel8/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---8/8.6/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel8.0: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.1: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.10: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.2: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.3: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.4: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.5: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.6: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.7: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.8: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.9: Red Hat Enterprise Linux 8.0 or higher + labels: + os.template.kubevirt.io/rhel8.0: "true" + os.template.kubevirt.io/rhel8.1: "true" + os.template.kubevirt.io/rhel8.10: "true" + os.template.kubevirt.io/rhel8.2: "true" + os.template.kubevirt.io/rhel8.3: "true" + os.template.kubevirt.io/rhel8.4: "true" + os.template.kubevirt.io/rhel8.5: "true" + os.template.kubevirt.io/rhel8.6: "true" + os.template.kubevirt.io/rhel8.7: "true" + os.template.kubevirt.io/rhel8.8: "true" + os.template.kubevirt.io/rhel8.9: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel8-desktop-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel8" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 1.5Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel8-highperformance-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel8-highperformance-large + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 8 VM" + description: >- + Template for Red Hat Enterprise Linux 8 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel8/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---8/8.6/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel8.0: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.1: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.10: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.2: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.3: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.4: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.5: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.6: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.7: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.8: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.9: Red Hat Enterprise Linux 8.0 or higher + labels: + os.template.kubevirt.io/rhel8.0: "true" + os.template.kubevirt.io/rhel8.1: "true" + os.template.kubevirt.io/rhel8.10: "true" + os.template.kubevirt.io/rhel8.2: "true" + os.template.kubevirt.io/rhel8.3: "true" + os.template.kubevirt.io/rhel8.4: "true" + os.template.kubevirt.io/rhel8.5: "true" + os.template.kubevirt.io/rhel8.6: "true" + os.template.kubevirt.io/rhel8.7: "true" + os.template.kubevirt.io/rhel8.8: "true" + os.template.kubevirt.io/rhel8.9: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel8-highperformance-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel8" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + ioThreadsPolicy: shared + cpu: + sockets: 2 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + dedicatedIOThread: true + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel8-highperformance-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel8-highperformance-medium + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 8 VM" + description: >- + Template for Red Hat Enterprise Linux 8 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel8/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---8/8.6/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel8.0: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.1: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.10: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.2: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.3: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.4: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.5: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.6: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.7: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.8: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.9: Red Hat Enterprise Linux 8.0 or higher + labels: + os.template.kubevirt.io/rhel8.0: "true" + os.template.kubevirt.io/rhel8.1: "true" + os.template.kubevirt.io/rhel8.10: "true" + os.template.kubevirt.io/rhel8.2: "true" + os.template.kubevirt.io/rhel8.3: "true" + os.template.kubevirt.io/rhel8.4: "true" + os.template.kubevirt.io/rhel8.5: "true" + os.template.kubevirt.io/rhel8.6: "true" + os.template.kubevirt.io/rhel8.7: "true" + os.template.kubevirt.io/rhel8.8: "true" + os.template.kubevirt.io/rhel8.9: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel8-highperformance-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel8" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + ioThreadsPolicy: shared + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + dedicatedIOThread: true + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel8-highperformance-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel8-highperformance-small + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 8 VM" + description: >- + Template for Red Hat Enterprise Linux 8 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel8/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---8/8.6/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel8.0: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.1: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.10: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.2: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.3: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.4: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.5: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.6: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.7: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.8: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.9: Red Hat Enterprise Linux 8.0 or higher + labels: + os.template.kubevirt.io/rhel8.0: "true" + os.template.kubevirt.io/rhel8.1: "true" + os.template.kubevirt.io/rhel8.10: "true" + os.template.kubevirt.io/rhel8.2: "true" + os.template.kubevirt.io/rhel8.3: "true" + os.template.kubevirt.io/rhel8.4: "true" + os.template.kubevirt.io/rhel8.5: "true" + os.template.kubevirt.io/rhel8.6: "true" + os.template.kubevirt.io/rhel8.7: "true" + os.template.kubevirt.io/rhel8.8: "true" + os.template.kubevirt.io/rhel8.9: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel8-highperformance-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel8" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + ioThreadsPolicy: shared + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + dedicatedIOThread: true + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel8-highperformance-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel8-highperformance-tiny + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 8 VM" + description: >- + Template for Red Hat Enterprise Linux 8 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel8/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---8/8.6/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel8.0: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.1: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.10: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.2: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.3: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.4: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.5: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.6: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.7: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.8: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.9: Red Hat Enterprise Linux 8.0 or higher + labels: + os.template.kubevirt.io/rhel8.0: "true" + os.template.kubevirt.io/rhel8.1: "true" + os.template.kubevirt.io/rhel8.10: "true" + os.template.kubevirt.io/rhel8.2: "true" + os.template.kubevirt.io/rhel8.3: "true" + os.template.kubevirt.io/rhel8.4: "true" + os.template.kubevirt.io/rhel8.5: "true" + os.template.kubevirt.io/rhel8.6: "true" + os.template.kubevirt.io/rhel8.7: "true" + os.template.kubevirt.io/rhel8.8: "true" + os.template.kubevirt.io/rhel8.9: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel8-highperformance-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel8" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + ioThreadsPolicy: shared + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 1.5Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + dedicatedIOThread: true + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel8-server-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel8-server-large + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 8 VM" + description: >- + Template for Red Hat Enterprise Linux 8 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel8/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---8/8.6/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel8.0: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.1: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.10: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.2: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.3: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.4: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.5: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.6: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.7: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.8: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.9: Red Hat Enterprise Linux 8.0 or higher + labels: + os.template.kubevirt.io/rhel8.0: "true" + os.template.kubevirt.io/rhel8.1: "true" + os.template.kubevirt.io/rhel8.10: "true" + os.template.kubevirt.io/rhel8.2: "true" + os.template.kubevirt.io/rhel8.3: "true" + os.template.kubevirt.io/rhel8.4: "true" + os.template.kubevirt.io/rhel8.5: "true" + os.template.kubevirt.io/rhel8.6: "true" + os.template.kubevirt.io/rhel8.7: "true" + os.template.kubevirt.io/rhel8.8: "true" + os.template.kubevirt.io/rhel8.9: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel8-server-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel8" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel8-server-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel8-server-medium + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 8 VM" + description: >- + Template for Red Hat Enterprise Linux 8 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel8/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---8/8.6/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel8.0: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.1: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.10: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.2: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.3: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.4: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.5: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.6: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.7: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.8: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.9: Red Hat Enterprise Linux 8.0 or higher + labels: + os.template.kubevirt.io/rhel8.0: "true" + os.template.kubevirt.io/rhel8.1: "true" + os.template.kubevirt.io/rhel8.10: "true" + os.template.kubevirt.io/rhel8.2: "true" + os.template.kubevirt.io/rhel8.3: "true" + os.template.kubevirt.io/rhel8.4: "true" + os.template.kubevirt.io/rhel8.5: "true" + os.template.kubevirt.io/rhel8.6: "true" + os.template.kubevirt.io/rhel8.7: "true" + os.template.kubevirt.io/rhel8.8: "true" + os.template.kubevirt.io/rhel8.9: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel8-server-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel8" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel8-server-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel8-server-small + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 8 VM" + description: >- + Template for Red Hat Enterprise Linux 8 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel8/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---8/8.6/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel8.0: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.1: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.10: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.2: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.3: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.4: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.5: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.6: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.7: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.8: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.9: Red Hat Enterprise Linux 8.0 or higher + labels: + os.template.kubevirt.io/rhel8.0: "true" + os.template.kubevirt.io/rhel8.1: "true" + os.template.kubevirt.io/rhel8.10: "true" + os.template.kubevirt.io/rhel8.2: "true" + os.template.kubevirt.io/rhel8.3: "true" + os.template.kubevirt.io/rhel8.4: "true" + os.template.kubevirt.io/rhel8.5: "true" + os.template.kubevirt.io/rhel8.6: "true" + os.template.kubevirt.io/rhel8.7: "true" + os.template.kubevirt.io/rhel8.8: "true" + os.template.kubevirt.io/rhel8.9: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" + template.kubevirt.io/default-os-variant: "true" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel8-server-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel8" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel8-server-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel8-server-tiny + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 8 VM" + description: >- + Template for Red Hat Enterprise Linux 8 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel8/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---8/8.6/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel8.0: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.1: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.10: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.2: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.3: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.4: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.5: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.6: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.7: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.8: Red Hat Enterprise Linux 8.0 or higher + name.os.template.kubevirt.io/rhel8.9: Red Hat Enterprise Linux 8.0 or higher + labels: + os.template.kubevirt.io/rhel8.0: "true" + os.template.kubevirt.io/rhel8.1: "true" + os.template.kubevirt.io/rhel8.10: "true" + os.template.kubevirt.io/rhel8.2: "true" + os.template.kubevirt.io/rhel8.3: "true" + os.template.kubevirt.io/rhel8.4: "true" + os.template.kubevirt.io/rhel8.5: "true" + os.template.kubevirt.io/rhel8.6: "true" + os.template.kubevirt.io/rhel8.7: "true" + os.template.kubevirt.io/rhel8.8: "true" + os.template.kubevirt.io/rhel8.9: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel8-server-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel8" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 1.5Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel8-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel8' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel9-desktop-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel9-desktop-large + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 9 VM" + description: >- + Template for Red Hat Enterprise Linux 9 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel9/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---9/9.0/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel9.0: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.1: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.2: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.3: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.4: Red Hat Enterprise Linux 9.0 or higher + labels: + os.template.kubevirt.io/rhel9.0: "true" + os.template.kubevirt.io/rhel9.1: "true" + os.template.kubevirt.io/rhel9.2: "true" + os.template.kubevirt.io/rhel9.3: "true" + os.template.kubevirt.io/rhel9.4: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel9-desktop-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel9" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel9-desktop-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel9-desktop-medium + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 9 VM" + description: >- + Template for Red Hat Enterprise Linux 9 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel9/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---9/9.0/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel9.0: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.1: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.2: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.3: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.4: Red Hat Enterprise Linux 9.0 or higher + labels: + os.template.kubevirt.io/rhel9.0: "true" + os.template.kubevirt.io/rhel9.1: "true" + os.template.kubevirt.io/rhel9.2: "true" + os.template.kubevirt.io/rhel9.3: "true" + os.template.kubevirt.io/rhel9.4: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel9-desktop-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel9" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel9-desktop-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel9-desktop-small + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 9 VM" + description: >- + Template for Red Hat Enterprise Linux 9 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel9/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---9/9.0/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel9.0: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.1: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.2: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.3: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.4: Red Hat Enterprise Linux 9.0 or higher + labels: + os.template.kubevirt.io/rhel9.0: "true" + os.template.kubevirt.io/rhel9.1: "true" + os.template.kubevirt.io/rhel9.2: "true" + os.template.kubevirt.io/rhel9.3: "true" + os.template.kubevirt.io/rhel9.4: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel9-desktop-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel9" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel9-desktop-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel9-desktop-tiny + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 9 VM" + description: >- + Template for Red Hat Enterprise Linux 9 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel9/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---9/9.0/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel9.0: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.1: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.2: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.3: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.4: Red Hat Enterprise Linux 9.0 or higher + labels: + os.template.kubevirt.io/rhel9.0: "true" + os.template.kubevirt.io/rhel9.1: "true" + os.template.kubevirt.io/rhel9.2: "true" + os.template.kubevirt.io/rhel9.3: "true" + os.template.kubevirt.io/rhel9.4: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel9-desktop-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel9" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 1.5Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel9-highperformance-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel9-highperformance-large + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 9 VM" + description: >- + Template for Red Hat Enterprise Linux 9 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel9/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---9/9.0/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel9.0: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.1: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.2: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.3: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.4: Red Hat Enterprise Linux 9.0 or higher + labels: + os.template.kubevirt.io/rhel9.0: "true" + os.template.kubevirt.io/rhel9.1: "true" + os.template.kubevirt.io/rhel9.2: "true" + os.template.kubevirt.io/rhel9.3: "true" + os.template.kubevirt.io/rhel9.4: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel9-highperformance-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel9" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + ioThreadsPolicy: shared + cpu: + sockets: 2 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + dedicatedIOThread: true + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel9-highperformance-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel9-highperformance-medium + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 9 VM" + description: >- + Template for Red Hat Enterprise Linux 9 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel9/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---9/9.0/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel9.0: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.1: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.2: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.3: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.4: Red Hat Enterprise Linux 9.0 or higher + labels: + os.template.kubevirt.io/rhel9.0: "true" + os.template.kubevirt.io/rhel9.1: "true" + os.template.kubevirt.io/rhel9.2: "true" + os.template.kubevirt.io/rhel9.3: "true" + os.template.kubevirt.io/rhel9.4: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel9-highperformance-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel9" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + ioThreadsPolicy: shared + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + dedicatedIOThread: true + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel9-highperformance-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel9-highperformance-small + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 9 VM" + description: >- + Template for Red Hat Enterprise Linux 9 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel9/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---9/9.0/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel9.0: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.1: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.2: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.3: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.4: Red Hat Enterprise Linux 9.0 or higher + labels: + os.template.kubevirt.io/rhel9.0: "true" + os.template.kubevirt.io/rhel9.1: "true" + os.template.kubevirt.io/rhel9.2: "true" + os.template.kubevirt.io/rhel9.3: "true" + os.template.kubevirt.io/rhel9.4: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel9-highperformance-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel9" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + ioThreadsPolicy: shared + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + dedicatedIOThread: true + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel9-highperformance-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel9-highperformance-tiny + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 9 VM" + description: >- + Template for Red Hat Enterprise Linux 9 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel9/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---9/9.0/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel9.0: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.1: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.2: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.3: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.4: Red Hat Enterprise Linux 9.0 or higher + labels: + os.template.kubevirt.io/rhel9.0: "true" + os.template.kubevirt.io/rhel9.1: "true" + os.template.kubevirt.io/rhel9.2: "true" + os.template.kubevirt.io/rhel9.3: "true" + os.template.kubevirt.io/rhel9.4: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel9-highperformance-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel9" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + ioThreadsPolicy: shared + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 1.5Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + dedicatedIOThread: true + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel9-server-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel9-server-large + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 9 VM" + description: >- + Template for Red Hat Enterprise Linux 9 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel9/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---9/9.0/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel9.0: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.1: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.2: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.3: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.4: Red Hat Enterprise Linux 9.0 or higher + labels: + os.template.kubevirt.io/rhel9.0: "true" + os.template.kubevirt.io/rhel9.1: "true" + os.template.kubevirt.io/rhel9.2: "true" + os.template.kubevirt.io/rhel9.3: "true" + os.template.kubevirt.io/rhel9.4: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel9-server-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel9" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel9-server-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel9-server-medium + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 9 VM" + description: >- + Template for Red Hat Enterprise Linux 9 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel9/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---9/9.0/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel9.0: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.1: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.2: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.3: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.4: Red Hat Enterprise Linux 9.0 or higher + labels: + os.template.kubevirt.io/rhel9.0: "true" + os.template.kubevirt.io/rhel9.1: "true" + os.template.kubevirt.io/rhel9.2: "true" + os.template.kubevirt.io/rhel9.3: "true" + os.template.kubevirt.io/rhel9.4: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel9-server-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel9" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel9-server-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel9-server-small + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 9 VM" + description: >- + Template for Red Hat Enterprise Linux 9 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel9/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---9/9.0/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel9.0: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.1: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.2: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.3: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.4: Red Hat Enterprise Linux 9.0 or higher + labels: + os.template.kubevirt.io/rhel9.0: "true" + os.template.kubevirt.io/rhel9.1: "true" + os.template.kubevirt.io/rhel9.2: "true" + os.template.kubevirt.io/rhel9.3: "true" + os.template.kubevirt.io/rhel9.4: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" + template.kubevirt.io/default-os-variant: "true" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel9-server-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel9" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 2Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/rhel9-server-tiny.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: rhel9-server-tiny + annotations: + openshift.io/display-name: "Red Hat Enterprise Linux 9 VM" + description: >- + Template for Red Hat Enterprise Linux 9 VM or newer. + A PVC with the RHEL disk image must be available. + tags: "hidden,kubevirt,virtualmachine,linux,rhel" + iconClass: "icon-rhel" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + registry.redhat.io/rhel9/rhel-guest-image + template.kubevirt.io/images: | + https://access.redhat.com/downloads/content/479/ver=/rhel---9/9.0/x86_64/product-software + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/rhel9.0: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.1: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.2: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.3: Red Hat Enterprise Linux 9.0 or higher + name.os.template.kubevirt.io/rhel9.4: Red Hat Enterprise Linux 9.0 or higher + labels: + os.template.kubevirt.io/rhel9.0: "true" + os.template.kubevirt.io/rhel9.1: "true" + os.template.kubevirt.io/rhel9.2: "true" + os.template.kubevirt.io/rhel9.3: "true" + os.template.kubevirt.io/rhel9.4: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/tiny: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: rhel9-server-tiny + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 1610612736 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "rhel9" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "tiny" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: tiny + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 1.5Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + features: + smm: + enabled: true + firmware: + bootloader: + efi: {} + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: cloud-user + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'rhel9-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'rhel9' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user cloud-user + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/ubuntu-desktop-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: ubuntu-desktop-large + annotations: + openshift.io/display-name: "Ubuntu 16.04+ VM" + description: >- + Template for Ubuntu 16.04 VM or newer. + A PVC with the Ubuntu disk image must be available. + tags: "hidden,kubevirt,virtualmachine,ubuntu" + iconClass: "icon-ubuntu" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/ubuntu:18.04 + quay.io/containerdisks/ubuntu:20.04 + quay.io/containerdisks/ubuntu:22.04 + template.kubevirt.io/images: | + https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img + https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-uefi1.img + https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/lunar/current/lunar-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/mantic/current/mantic-server-cloudimg-amd64.img + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/ubuntu16.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu18.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu20.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu22.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu23.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu23.10: Ubuntu 16.04 or higher + labels: + os.template.kubevirt.io/ubuntu16.04: "true" + os.template.kubevirt.io/ubuntu18.04: "true" + os.template.kubevirt.io/ubuntu20.04: "true" + os.template.kubevirt.io/ubuntu22.04: "true" + os.template.kubevirt.io/ubuntu23.04: "true" + os.template.kubevirt.io/ubuntu23.10: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: ubuntu-desktop-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 2147483648 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "ubuntu" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: ubuntu + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'ubuntu-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'ubuntu' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user ubuntu + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/ubuntu-desktop-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: ubuntu-desktop-medium + annotations: + openshift.io/display-name: "Ubuntu 16.04+ VM" + description: >- + Template for Ubuntu 16.04 VM or newer. + A PVC with the Ubuntu disk image must be available. + tags: "hidden,kubevirt,virtualmachine,ubuntu" + iconClass: "icon-ubuntu" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/ubuntu:18.04 + quay.io/containerdisks/ubuntu:20.04 + quay.io/containerdisks/ubuntu:22.04 + template.kubevirt.io/images: | + https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img + https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-uefi1.img + https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/lunar/current/lunar-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/mantic/current/mantic-server-cloudimg-amd64.img + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/ubuntu16.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu18.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu20.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu22.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu23.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu23.10: Ubuntu 16.04 or higher + labels: + os.template.kubevirt.io/ubuntu16.04: "true" + os.template.kubevirt.io/ubuntu18.04: "true" + os.template.kubevirt.io/ubuntu20.04: "true" + os.template.kubevirt.io/ubuntu22.04: "true" + os.template.kubevirt.io/ubuntu23.04: "true" + os.template.kubevirt.io/ubuntu23.10: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: ubuntu-desktop-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 2147483648 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "ubuntu" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: ubuntu + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'ubuntu-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'ubuntu' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user ubuntu + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/ubuntu-desktop-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: ubuntu-desktop-small + annotations: + openshift.io/display-name: "Ubuntu 16.04+ VM" + description: >- + Template for Ubuntu 16.04 VM or newer. + A PVC with the Ubuntu disk image must be available. + tags: "hidden,kubevirt,virtualmachine,ubuntu" + iconClass: "icon-ubuntu" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/ubuntu:18.04 + quay.io/containerdisks/ubuntu:20.04 + quay.io/containerdisks/ubuntu:22.04 + template.kubevirt.io/images: | + https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img + https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-uefi1.img + https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/lunar/current/lunar-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/mantic/current/mantic-server-cloudimg-amd64.img + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/ubuntu16.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu18.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu20.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu22.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu23.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu23.10: Ubuntu 16.04 or higher + labels: + os.template.kubevirt.io/ubuntu16.04: "true" + os.template.kubevirt.io/ubuntu18.04: "true" + os.template.kubevirt.io/ubuntu20.04: "true" + os.template.kubevirt.io/ubuntu22.04: "true" + os.template.kubevirt.io/ubuntu23.04: "true" + os.template.kubevirt.io/ubuntu23.10: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: ubuntu-desktop-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 2147483648 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "ubuntu" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 3Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: ubuntu + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'ubuntu-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'ubuntu' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user ubuntu + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/ubuntu-server-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: ubuntu-server-large + annotations: + openshift.io/display-name: "Ubuntu 16.04+ VM" + description: >- + Template for Ubuntu 16.04 VM or newer. + A PVC with the Ubuntu disk image must be available. + tags: "hidden,kubevirt,virtualmachine,ubuntu" + iconClass: "icon-ubuntu" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/ubuntu:18.04 + quay.io/containerdisks/ubuntu:20.04 + quay.io/containerdisks/ubuntu:22.04 + template.kubevirt.io/images: | + https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img + https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-uefi1.img + https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/lunar/current/lunar-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/mantic/current/mantic-server-cloudimg-amd64.img + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/ubuntu16.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu18.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu20.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu22.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu23.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu23.10: Ubuntu 16.04 or higher + labels: + os.template.kubevirt.io/ubuntu16.04: "true" + os.template.kubevirt.io/ubuntu18.04: "true" + os.template.kubevirt.io/ubuntu20.04: "true" + os.template.kubevirt.io/ubuntu22.04: "true" + os.template.kubevirt.io/ubuntu23.04: "true" + os.template.kubevirt.io/ubuntu23.10: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: ubuntu-server-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 2147483648 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "ubuntu" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: ubuntu + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'ubuntu-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'ubuntu' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user ubuntu + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/ubuntu-server-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: ubuntu-server-medium + annotations: + openshift.io/display-name: "Ubuntu 16.04+ VM" + description: >- + Template for Ubuntu 16.04 VM or newer. + A PVC with the Ubuntu disk image must be available. + tags: "hidden,kubevirt,virtualmachine,ubuntu" + iconClass: "icon-ubuntu" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/ubuntu:18.04 + quay.io/containerdisks/ubuntu:20.04 + quay.io/containerdisks/ubuntu:22.04 + template.kubevirt.io/images: | + https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img + https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-uefi1.img + https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/lunar/current/lunar-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/mantic/current/mantic-server-cloudimg-amd64.img + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/ubuntu16.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu18.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu20.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu22.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu23.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu23.10: Ubuntu 16.04 or higher + labels: + os.template.kubevirt.io/ubuntu16.04: "true" + os.template.kubevirt.io/ubuntu18.04: "true" + os.template.kubevirt.io/ubuntu20.04: "true" + os.template.kubevirt.io/ubuntu22.04: "true" + os.template.kubevirt.io/ubuntu23.04: "true" + os.template.kubevirt.io/ubuntu23.10: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: ubuntu-server-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 2147483648 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "ubuntu" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: ubuntu + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'ubuntu-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'ubuntu' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user ubuntu + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/ubuntu-server-small.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: ubuntu-server-small + annotations: + openshift.io/display-name: "Ubuntu 16.04+ VM" + description: >- + Template for Ubuntu 16.04 VM or newer. + A PVC with the Ubuntu disk image must be available. + tags: "hidden,kubevirt,virtualmachine,ubuntu" + iconClass: "icon-ubuntu" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + template.kubevirt.io/containerdisks: | + quay.io/containerdisks/ubuntu:18.04 + quay.io/containerdisks/ubuntu:20.04 + quay.io/containerdisks/ubuntu:22.04 + template.kubevirt.io/images: | + https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img + https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-uefi1.img + https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/lunar/current/lunar-server-cloudimg-amd64.img + https://cloud-images.ubuntu.com/mantic/current/mantic-server-cloudimg-amd64.img + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.sockets + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.cpu.threads + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/ubuntu16.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu18.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu20.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu22.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu23.04: Ubuntu 16.04 or higher + name.os.template.kubevirt.io/ubuntu23.10: Ubuntu 16.04 or higher + labels: + os.template.kubevirt.io/ubuntu16.04: "true" + os.template.kubevirt.io/ubuntu18.04: "true" + os.template.kubevirt.io/ubuntu20.04: "true" + os.template.kubevirt.io/ubuntu22.04: "true" + os.template.kubevirt.io/ubuntu23.04: "true" + os.template.kubevirt.io/ubuntu23.10: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/small: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" + template.kubevirt.io/default-os-variant: "true" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: ubuntu-server-small + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 2147483648 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 30Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "ubuntu" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "small" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: small + spec: + domain: + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 3Gi + devices: + rng: {} + networkInterfaceMultiqueue: true + inputs: + - type: tablet + bus: virtio + name: tablet + disks: + - disk: + bus: virtio + name: rootdisk + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + terminationGracePeriodSeconds: 180 + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + - cloudInitNoCloud: + userData: |- + #cloud-config + user: ubuntu + password: ${CLOUD_USER_PASSWORD} + chpasswd: { expire: False } + name: cloudinitdisk +parameters: +- description: VM name + from: 'ubuntu-[a-z0-9]{16}' + generate: expression + name: NAME +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: 'ubuntu' +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +- description: Randomized password for the cloud-init user ubuntu + from: '[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}' + generate: expression + name: CLOUD_USER_PASSWORD +--- +# Source: dist/templates/windows10-desktop-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows10-desktop-large + annotations: + openshift.io/display-name: "Microsoft Windows 10 VM" + description: >- + Template for Microsoft Windows 10 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win10: Microsoft Windows 10 + labels: + os.template.kubevirt.io/win10: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows10-desktop-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 2147483648 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows10" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + features: + acpi: {} + apic: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + devices: + disks: + - disk: + bus: sata + name: rootdisk + interfaces: + - masquerade: {} + model: e1000e + name: default + inputs: + - type: tablet + bus: usb + name: tablet + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows10-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win10 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows10-desktop-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows10-desktop-medium + annotations: + openshift.io/display-name: "Microsoft Windows 10 VM" + description: >- + Template for Microsoft Windows 10 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win10: Microsoft Windows 10 + labels: + os.template.kubevirt.io/win10: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" + template.kubevirt.io/default-os-variant: "true" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows10-desktop-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 2147483648 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows10" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + features: + acpi: {} + apic: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + devices: + disks: + - disk: + bus: sata + name: rootdisk + interfaces: + - masquerade: {} + model: e1000e + name: default + inputs: + - type: tablet + bus: usb + name: tablet + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows10-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win10 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows10-highperformance-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows10-highperformance-large + annotations: + openshift.io/display-name: "Microsoft Windows 10 VM" + description: >- + Template for Microsoft Windows 10 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win10: Microsoft Windows 10 + labels: + os.template.kubevirt.io/win10: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows10-highperformance-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 2147483648 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows10" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 2 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 8Gi + features: + acpi: {} + apic: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + devices: + networkInterfaceMultiqueue: True + disks: + - disk: + bus: virtio + name: rootdisk + interfaces: + - masquerade: {} + model: virtio + name: default + inputs: + - type: tablet + bus: usb + name: tablet + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows10-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win10 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows10-highperformance-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows10-highperformance-medium + annotations: + openshift.io/display-name: "Microsoft Windows 10 VM" + description: >- + Template for Microsoft Windows 10 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win10: Microsoft Windows 10 + labels: + os.template.kubevirt.io/win10: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows10-highperformance-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 2147483648 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows10" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 4Gi + features: + acpi: {} + apic: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + devices: + networkInterfaceMultiqueue: True + disks: + - disk: + bus: virtio + name: rootdisk + interfaces: + - masquerade: {} + model: virtio + name: default + inputs: + - type: tablet + bus: usb + name: tablet + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows10-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win10 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows11-desktop-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows11-desktop-large + annotations: + openshift.io/display-name: "Microsoft Windows 11 VM" + description: >- + Template for Microsoft Windows 11 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win11: Microsoft Windows 11 + labels: + os.template.kubevirt.io/win11: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows11-desktop-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 4294967296 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + }, { + "name": "minimal-required-cores", + "path": "jsonpath::.spec.domain.cpu.cores", + "rule": "integer", + "message": "This VM requires more cores.", + "min": 2 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 64Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows11" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 2 + cores: 2 + threads: 1 + memory: + guest: 8Gi + features: + acpi: {} + apic: {} + smm: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + firmware: + bootloader: + efi: + secureBoot: true + devices: + disks: + - disk: + bus: sata + name: rootdisk + interfaces: + - masquerade: {} + model: e1000e + name: default + inputs: + - type: tablet + bus: usb + name: tablet + tpm: {} + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows11-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win11 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows11-desktop-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows11-desktop-medium + annotations: + openshift.io/display-name: "Microsoft Windows 11 VM" + description: >- + Template for Microsoft Windows 11 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win11: Microsoft Windows 11 + labels: + os.template.kubevirt.io/win11: "true" + workload.template.kubevirt.io/desktop: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" + template.kubevirt.io/default-os-variant: "true" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows11-desktop-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 4294967296 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + }, { + "name": "minimal-required-cores", + "path": "jsonpath::.spec.domain.cpu.cores", + "rule": "integer", + "message": "This VM requires more cores.", + "min": 2 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 64Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows11" + vm.kubevirt.io/workload: "desktop" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 1 + cores: 2 + threads: 1 + memory: + guest: 4Gi + features: + acpi: {} + apic: {} + smm: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + firmware: + bootloader: + efi: + secureBoot: true + devices: + disks: + - disk: + bus: sata + name: rootdisk + interfaces: + - masquerade: {} + model: e1000e + name: default + inputs: + - type: tablet + bus: usb + name: tablet + tpm: {} + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows11-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win11 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows11-highperformance-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows11-highperformance-large + annotations: + openshift.io/display-name: "Microsoft Windows 11 VM" + description: >- + Template for Microsoft Windows 11 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win11: Microsoft Windows 11 + labels: + os.template.kubevirt.io/win11: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows11-highperformance-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 4294967296 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + }, { + "name": "minimal-required-cores", + "path": "jsonpath::.spec.domain.cpu.cores", + "rule": "integer", + "message": "This VM requires more cores.", + "min": 2 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 64Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows11" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 2 + cores: 2 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 8Gi + features: + acpi: {} + apic: {} + smm: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + firmware: + bootloader: + efi: + secureBoot: true + devices: + networkInterfaceMultiqueue: True + disks: + - disk: + bus: virtio + name: rootdisk + interfaces: + - masquerade: {} + model: virtio + name: default + inputs: + - type: tablet + bus: usb + name: tablet + tpm: {} + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows11-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win11 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows11-highperformance-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows11-highperformance-medium + annotations: + openshift.io/display-name: "Microsoft Windows 11 VM" + description: >- + Template for Microsoft Windows 11 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win11: Microsoft Windows 11 + labels: + os.template.kubevirt.io/win11: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows11-highperformance-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 4294967296 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + }, { + "name": "minimal-required-cores", + "path": "jsonpath::.spec.domain.cpu.cores", + "rule": "integer", + "message": "This VM requires more cores.", + "min": 2 + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 64Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows11" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 1 + cores: 2 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 4Gi + features: + acpi: {} + apic: {} + smm: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + firmware: + bootloader: + efi: + secureBoot: true + devices: + networkInterfaceMultiqueue: True + disks: + - disk: + bus: virtio + name: rootdisk + interfaces: + - masquerade: {} + model: virtio + name: default + inputs: + - type: tablet + bus: usb + name: tablet + tpm: {} + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows11-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win11 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows2k12r2-highperformance-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows2k12r2-highperformance-large + annotations: + template.kubevirt.io/deprecated: "true" + openshift.io/display-name: "Microsoft Windows Server 2012 R2 VM" + description: >- + Template for Microsoft Windows Server 2012 R2 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win2k12r2: Microsoft Windows Server 2012 R2 + labels: + os.template.kubevirt.io/win2k12r2: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows2k12r2-highperformance-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows2k12r2" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 2 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 8Gi + features: + acpi: {} + apic: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + devices: + networkInterfaceMultiqueue: True + disks: + - disk: + bus: virtio + name: rootdisk + interfaces: + - masquerade: {} + model: virtio + name: default + inputs: + - type: tablet + bus: usb + name: tablet + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows2012-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win2k12r2 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows2k12r2-highperformance-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows2k12r2-highperformance-medium + annotations: + template.kubevirt.io/deprecated: "true" + openshift.io/display-name: "Microsoft Windows Server 2012 R2 VM" + description: >- + Template for Microsoft Windows Server 2012 R2 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win2k12r2: Microsoft Windows Server 2012 R2 + labels: + os.template.kubevirt.io/win2k12r2: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows2k12r2-highperformance-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows2k12r2" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 4Gi + features: + acpi: {} + apic: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + devices: + networkInterfaceMultiqueue: True + disks: + - disk: + bus: virtio + name: rootdisk + interfaces: + - masquerade: {} + model: virtio + name: default + inputs: + - type: tablet + bus: usb + name: tablet + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows2012-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win2k12r2 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows2k12r2-server-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows2k12r2-server-large + annotations: + template.kubevirt.io/deprecated: "true" + openshift.io/display-name: "Microsoft Windows Server 2012 R2 VM" + description: >- + Template for Microsoft Windows Server 2012 R2 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win2k12r2: Microsoft Windows Server 2012 R2 + labels: + os.template.kubevirt.io/win2k12r2: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows2k12r2-server-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows2k12r2" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + features: + acpi: {} + apic: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + devices: + disks: + - disk: + bus: sata + name: rootdisk + interfaces: + - masquerade: {} + model: e1000e + name: default + inputs: + - type: tablet + bus: usb + name: tablet + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows2012-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win2k12r2 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows2k12r2-server-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows2k12r2-server-medium + annotations: + template.kubevirt.io/deprecated: "true" + openshift.io/display-name: "Microsoft Windows Server 2012 R2 VM" + description: >- + Template for Microsoft Windows Server 2012 R2 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win2k12r2: Microsoft Windows Server 2012 R2 + labels: + os.template.kubevirt.io/win2k12r2: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" + template.kubevirt.io/default-os-variant: "true" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows2k12r2-server-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows2k12r2" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + features: + acpi: {} + apic: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + devices: + disks: + - disk: + bus: sata + name: rootdisk + interfaces: + - masquerade: {} + model: e1000e + name: default + inputs: + - type: tablet + bus: usb + name: tablet + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows2012-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win2k12r2 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows2k16-highperformance-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows2k16-highperformance-large + annotations: + openshift.io/display-name: "Microsoft Windows Server 2016 VM" + description: >- + Template for Microsoft Windows Server 2016 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win2k16: Microsoft Windows Server 2016 + labels: + os.template.kubevirt.io/win2k16: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows2k16-highperformance-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows2k16" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 2 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 8Gi + features: + acpi: {} + apic: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + devices: + networkInterfaceMultiqueue: True + disks: + - disk: + bus: virtio + name: rootdisk + interfaces: + - masquerade: {} + model: virtio + name: default + inputs: + - type: tablet + bus: usb + name: tablet + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows2016-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win2k16 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows2k16-highperformance-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows2k16-highperformance-medium + annotations: + openshift.io/display-name: "Microsoft Windows Server 2016 VM" + description: >- + Template for Microsoft Windows Server 2016 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win2k16: Microsoft Windows Server 2016 + labels: + os.template.kubevirt.io/win2k16: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows2k16-highperformance-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows2k16" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 4Gi + features: + acpi: {} + apic: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + devices: + networkInterfaceMultiqueue: True + disks: + - disk: + bus: virtio + name: rootdisk + interfaces: + - masquerade: {} + model: virtio + name: default + inputs: + - type: tablet + bus: usb + name: tablet + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows2016-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win2k16 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows2k16-server-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows2k16-server-large + annotations: + openshift.io/display-name: "Microsoft Windows Server 2016 VM" + description: >- + Template for Microsoft Windows Server 2016 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win2k16: Microsoft Windows Server 2016 + labels: + os.template.kubevirt.io/win2k16: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows2k16-server-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows2k16" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + features: + acpi: {} + apic: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + devices: + disks: + - disk: + bus: sata + name: rootdisk + interfaces: + - masquerade: {} + model: e1000e + name: default + inputs: + - type: tablet + bus: usb + name: tablet + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows2016-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win2k16 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows2k16-server-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows2k16-server-medium + annotations: + openshift.io/display-name: "Microsoft Windows Server 2016 VM" + description: >- + Template for Microsoft Windows Server 2016 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win2k16: Microsoft Windows Server 2016 + labels: + os.template.kubevirt.io/win2k16: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" + template.kubevirt.io/default-os-variant: "true" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows2k16-server-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows2k16" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + features: + acpi: {} + apic: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + devices: + disks: + - disk: + bus: sata + name: rootdisk + interfaces: + - masquerade: {} + model: e1000e + name: default + inputs: + - type: tablet + bus: usb + name: tablet + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows2016-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win2k16 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows2k19-highperformance-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows2k19-highperformance-large + annotations: + openshift.io/display-name: "Microsoft Windows Server 2019 VM" + description: >- + Template for Microsoft Windows Server 2019 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win2k19: Microsoft Windows Server 2019 + labels: + os.template.kubevirt.io/win2k19: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows2k19-highperformance-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows2k19" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 2 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 8Gi + features: + acpi: {} + apic: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + devices: + networkInterfaceMultiqueue: True + disks: + - disk: + bus: virtio + name: rootdisk + interfaces: + - masquerade: {} + model: virtio + name: default + inputs: + - type: tablet + bus: usb + name: tablet + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows2019-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win2k19 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows2k19-highperformance-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows2k19-highperformance-medium + annotations: + openshift.io/display-name: "Microsoft Windows Server 2019 VM" + description: >- + Template for Microsoft Windows Server 2019 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win2k19: Microsoft Windows Server 2019 + labels: + os.template.kubevirt.io/win2k19: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows2k19-highperformance-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows2k19" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 4Gi + features: + acpi: {} + apic: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + devices: + networkInterfaceMultiqueue: True + disks: + - disk: + bus: virtio + name: rootdisk + interfaces: + - masquerade: {} + model: virtio + name: default + inputs: + - type: tablet + bus: usb + name: tablet + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows2019-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win2k19 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows2k19-server-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows2k19-server-large + annotations: + openshift.io/display-name: "Microsoft Windows Server 2019 VM" + description: >- + Template for Microsoft Windows Server 2019 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win2k19: Microsoft Windows Server 2019 + labels: + os.template.kubevirt.io/win2k19: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows2k19-server-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows2k19" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + features: + acpi: {} + apic: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + devices: + disks: + - disk: + bus: sata + name: rootdisk + interfaces: + - masquerade: {} + model: e1000e + name: default + inputs: + - type: tablet + bus: usb + name: tablet + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows2019-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win2k19 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows2k19-server-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows2k19-server-medium + annotations: + openshift.io/display-name: "Microsoft Windows Server 2019 VM" + description: >- + Template for Microsoft Windows Server 2019 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win2k19: Microsoft Windows Server 2019 + labels: + os.template.kubevirt.io/win2k19: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" + template.kubevirt.io/default-os-variant: "true" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows2k19-server-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows2k19" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + features: + acpi: {} + apic: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + devices: + disks: + - disk: + bus: sata + name: rootdisk + interfaces: + - masquerade: {} + model: e1000e + name: default + inputs: + - type: tablet + bus: usb + name: tablet + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows2019-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win2k19 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows2k22-highperformance-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows2k22-highperformance-large + annotations: + openshift.io/display-name: "Microsoft Windows Server 2022 VM" + description: >- + Template for Microsoft Windows Server 2022 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win2k22: Microsoft Windows Server 2022 + labels: + os.template.kubevirt.io/win2k22: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows2k22-highperformance-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows2k22" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 2 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 8Gi + features: + acpi: {} + apic: {} + smm: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + firmware: + bootloader: + efi: + secureBoot: true + devices: + networkInterfaceMultiqueue: True + disks: + - disk: + bus: virtio + name: rootdisk + interfaces: + - masquerade: {} + model: virtio + name: default + inputs: + - type: tablet + bus: usb + name: tablet + tpm: {} + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows2022-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win2k22 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows2k22-highperformance-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows2k22-highperformance-medium + annotations: + openshift.io/display-name: "Microsoft Windows Server 2022 VM" + description: >- + Template for Microsoft Windows Server 2022 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win2k22: Microsoft Windows Server 2022 + labels: + os.template.kubevirt.io/win2k22: "true" + workload.template.kubevirt.io/highperformance: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows2k22-highperformance-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows2k22" + vm.kubevirt.io/workload: "highperformance" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 1 + cores: 1 + threads: 1 + dedicatedCpuPlacement: True + isolateEmulatorThread: True + memory: + guest: 4Gi + features: + acpi: {} + apic: {} + smm: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + firmware: + bootloader: + efi: + secureBoot: true + devices: + networkInterfaceMultiqueue: True + disks: + - disk: + bus: virtio + name: rootdisk + interfaces: + - masquerade: {} + model: virtio + name: default + inputs: + - type: tablet + bus: usb + name: tablet + tpm: {} + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows2022-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win2k22 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows2k22-server-large.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows2k22-server-large + annotations: + openshift.io/display-name: "Microsoft Windows Server 2022 VM" + description: >- + Template for Microsoft Windows Server 2022 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win2k22: Microsoft Windows Server 2022 + labels: + os.template.kubevirt.io/win2k22: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/large: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows2k22-server-large + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows2k22" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "large" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: large + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 2 + cores: 1 + threads: 1 + memory: + guest: 8Gi + features: + acpi: {} + apic: {} + smm: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + firmware: + bootloader: + efi: + secureBoot: true + devices: + disks: + - disk: + bus: sata + name: rootdisk + interfaces: + - masquerade: {} + model: e1000e + name: default + inputs: + - type: tablet + bus: usb + name: tablet + tpm: {} + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows2022-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win2k22 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images +--- +# Source: dist/templates/windows2k22-server-medium.yaml +apiVersion: template.openshift.io/v1 +kind: Template +metadata: + name: windows2k22-server-medium + annotations: + openshift.io/display-name: "Microsoft Windows Server 2022 VM" + description: >- + Template for Microsoft Windows Server 2022 VM. + A PVC with the Windows disk image must be available. + tags: "hidden,kubevirt,virtualmachine,windows" + iconClass: "icon-windows" + openshift.io/provider-display-name: "KubeVirt" + openshift.io/documentation-url: "https://github.com/kubevirt/common-templates" + openshift.io/support-url: "https://github.com/kubevirt/common-templates/issues" + template.openshift.io/bindable: "false" + template.kubevirt.io/version: v1alpha1 + defaults.template.kubevirt.io/disk: rootdisk + defaults.template.kubevirt.io/network: default + template.kubevirt.io/editable: | + /objects[0].spec.template.spec.domain.cpu.cores + /objects[0].spec.template.spec.domain.memory.guest + /objects[0].spec.template.spec.domain.devices.disks + /objects[0].spec.template.spec.volumes + /objects[0].spec.template.spec.networks + name.os.template.kubevirt.io/win2k22: Microsoft Windows Server 2022 + labels: + os.template.kubevirt.io/win2k22: "true" + workload.template.kubevirt.io/server: "true" + flavor.template.kubevirt.io/medium: "true" + template.kubevirt.io/type: "base" + template.kubevirt.io/version: "v0.27.0" + template.kubevirt.io/default-os-variant: "true" +objects: +- apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + name: ${NAME} + labels: + vm.kubevirt.io/template: windows2k22-server-medium + vm.kubevirt.io/template.version: "v0.27.0" + vm.kubevirt.io/template.revision: "1" + app: ${NAME} + annotations: + vm.kubevirt.io/validations: | + [ + { + "name": "minimal-required-memory", + "path": "jsonpath::.spec.domain.memory.guest", + "rule": "integer", + "message": "This VM requires more memory.", + "min": 536870912 + }, { + "name": "windows-virtio-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "virtio disk bus type has better performance, install virtio drivers in VM and change bus type", + "values": ["virtio"], + "justWarning": true + }, { + "name": "windows-disk-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].disk.bus", + "rule": "enum", + "message": "disk bus has to be either virtio or sata or scsi", + "values": ["virtio", "sata", "scsi"] + }, { + "name": "windows-cd-bus", + "path": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "valid": "jsonpath::.spec.domain.devices.disks[*].cdrom.bus", + "rule": "enum", + "message": "cd bus has to be sata", + "values": ["sata"] + } + ] + spec: + dataVolumeTemplates: + - apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: ${NAME} + spec: + storage: + resources: + requests: + storage: 60Gi + sourceRef: + kind: DataSource + name: ${DATA_SOURCE_NAME} + namespace: ${DATA_SOURCE_NAMESPACE} + running: false + template: + metadata: + annotations: + vm.kubevirt.io/os: "windows2k22" + vm.kubevirt.io/workload: "server" + vm.kubevirt.io/flavor: "medium" + labels: + kubevirt.io/domain: ${NAME} + kubevirt.io/size: medium + spec: + domain: + clock: + utc: {} + timer: + hpet: + present: false + pit: + tickPolicy: delay + rtc: + tickPolicy: catchup + hyperv: {} + cpu: + sockets: 1 + cores: 1 + threads: 1 + memory: + guest: 4Gi + features: + acpi: {} + apic: {} + smm: {} + hyperv: + relaxed: {} + vapic: {} + vpindex: {} + spinlocks: + spinlocks: 8191 + synic: {} + synictimer: + direct: {} + tlbflush: {} + frequencies: {} + reenlightenment: {} + ipi: {} + runtime: {} + reset: {} + firmware: + bootloader: + efi: + secureBoot: true + devices: + disks: + - disk: + bus: sata + name: rootdisk + interfaces: + - masquerade: {} + model: e1000e + name: default + inputs: + - type: tablet + bus: usb + name: tablet + tpm: {} + terminationGracePeriodSeconds: 3600 + volumes: + - dataVolume: + name: ${NAME} + name: rootdisk + networks: + - name: default + pod: {} +parameters: +- name: NAME + description: VM name + generate: expression + from: "windows2022-[a-z0-9]{6}" +- name: DATA_SOURCE_NAME + description: Name of the DataSource to clone + value: win2k22 +- name: DATA_SOURCE_NAMESPACE + description: Namespace of the DataSource + value: kubevirt-os-images diff --git a/internal/operands/common-templates/version.go b/internal/operands/common-templates/version.go index d46378348..eff84d90c 100644 --- a/internal/operands/common-templates/version.go +++ b/internal/operands/common-templates/version.go @@ -8,5 +8,5 @@ package common_templates const ( - Version = "v0.26.0" + Version = "v0.27.0" )