diff --git a/crds/clustervirtualimages.yaml b/crds/clustervirtualimages.yaml index 6b3b6ce8bd..af131bacc8 100644 --- a/crds/clustervirtualimages.yaml +++ b/crds/clustervirtualimages.yaml @@ -58,6 +58,16 @@ spec: With this resource in the cluster, a container image is created and stored in a dedicated Deckhouse Virtualization Container Registry (DVCR). **Note:** The `metadata.name` field must comply with [Kubernetes object naming conventions](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/) and must not exceed 48 characters. + x-examples: + - apiVersion: virtualization.deckhouse.io/v1alpha2 + kind: ClusterVirtualImage + metadata: + name: ubuntu-24-04 + spec: + dataSource: + type: HTTP + http: + url: https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img properties: apiVersion: description: |- diff --git a/crds/nodeusbdevices.yaml b/crds/nodeusbdevices.yaml index 64abd5d2aa..9097ff310f 100644 --- a/crds/nodeusbdevices.yaml +++ b/crds/nodeusbdevices.yaml @@ -47,6 +47,13 @@ spec: Represents a USB device discovered on a specific node in the cluster. This resource is created automatically by the DRA (Dynamic Resource Allocation) system when a USB device is detected on a node. + x-examples: + - apiVersion: virtualization.deckhouse.io/v1alpha2 + kind: NodeUSBDevice + metadata: + name: logitech-webcam + spec: + assignedNamespace: my-project properties: apiVersion: description: |- diff --git a/crds/virtualdisks.yaml b/crds/virtualdisks.yaml index 6f720ded92..c3614ce47a 100644 --- a/crds/virtualdisks.yaml +++ b/crds/virtualdisks.yaml @@ -60,6 +60,20 @@ spec: Once a VirtualDisk is created, the following fields in `.spec.persistentVolumeClaim` can be changed: `size` and `storageClassName`. All other fields are immutable. **Note:** The `metadata.name` field must comply with [Kubernetes object naming conventions](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/) and must not exceed 60 characters. + x-examples: + - apiVersion: virtualization.deckhouse.io/v1alpha2 + kind: VirtualDisk + metadata: + name: linux-vm-root + spec: + persistentVolumeClaim: + storageClassName: rv-thin-r2 + size: 10Gi + dataSource: + type: ObjectRef + objectRef: + kind: VirtualImage + name: ubuntu-24-04 properties: apiVersion: description: |- diff --git a/crds/virtualdisksnapshots.yaml b/crds/virtualdisksnapshots.yaml index 252ea9703d..b89cde19ba 100644 --- a/crds/virtualdisksnapshots.yaml +++ b/crds/virtualdisksnapshots.yaml @@ -29,6 +29,14 @@ spec: Provides a resource for creating snapshots of existing virtual disks, which can be used as data sources for generating new virtual disks. When running, a VolumeSnapshot resource is created. + x-examples: + - apiVersion: virtualization.deckhouse.io/v1alpha2 + kind: VirtualDiskSnapshot + metadata: + name: linux-vm-root-snapshot + spec: + requiredConsistency: true + virtualDiskName: linux-vm-root required: - spec properties: diff --git a/crds/virtualimages.yaml b/crds/virtualimages.yaml index 85ea37cae8..c4a3429d3e 100644 --- a/crds/virtualimages.yaml +++ b/crds/virtualimages.yaml @@ -61,6 +61,17 @@ spec: With this resource in the cluster, a container image is created and stored in a dedicated Deckhouse Virtualization Container Registry (DVCR) or PVC, with the data filled in from the source. **Note:** The `metadata.name` field must comply with [Kubernetes object naming conventions](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/) and must not exceed 49 characters. + x-examples: + - apiVersion: virtualization.deckhouse.io/v1alpha2 + kind: VirtualImage + metadata: + name: ubuntu-24-04 + spec: + storage: ContainerRegistry + dataSource: + type: HTTP + http: + url: https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img properties: apiVersion: description: |- diff --git a/crds/virtualmachineblockdeviceattachments.yaml b/crds/virtualmachineblockdeviceattachments.yaml index 697e622cb2..e60314d212 100644 --- a/crds/virtualmachineblockdeviceattachments.yaml +++ b/crds/virtualmachineblockdeviceattachments.yaml @@ -50,6 +50,16 @@ spec: description: |- VirtualMachineBlockDeviceAttachment provides a hot plug for attaching a disk to a virtual machine. Disks are always attached using the SCSI bus, regardless of the enableParavirtualization setting. + x-examples: + - apiVersion: virtualization.deckhouse.io/v1alpha2 + kind: VirtualMachineBlockDeviceAttachment + metadata: + name: attach-blank-disk + spec: + blockDeviceRef: + kind: VirtualDisk + name: blank-disk + virtualMachineName: linux-vm properties: apiVersion: description: |- diff --git a/crds/virtualmachineclasses.yaml b/crds/virtualmachineclasses.yaml index df97f0ceb8..30871054a6 100644 --- a/crds/virtualmachineclasses.yaml +++ b/crds/virtualmachineclasses.yaml @@ -44,6 +44,14 @@ spec: description: |- VirtualMachineClass resource describes CPU requirements, node placement, and sizing policy for VM resources. A resource cannot be deleted as long as it is used in one of the VMs. + x-examples: + - apiVersion: virtualization.deckhouse.io/v1alpha2 + kind: VirtualMachineClass + metadata: + name: host + spec: + cpu: + type: Host properties: apiVersion: description: |- diff --git a/crds/virtualmachineipaddresses.yaml b/crds/virtualmachineipaddresses.yaml index 7a7f802a60..0eb9fdba34 100644 --- a/crds/virtualmachineipaddresses.yaml +++ b/crds/virtualmachineipaddresses.yaml @@ -22,6 +22,14 @@ spec: openAPIV3Schema: description: | Defines the IP address for a virtual machine. + x-examples: + - apiVersion: virtualization.deckhouse.io/v1alpha2 + kind: VirtualMachineIPAddress + metadata: + name: linux-vm-custom-ip + spec: + type: Static + staticIP: 10.66.20.77 properties: apiVersion: type: string diff --git a/crds/virtualmachineoperations.yaml b/crds/virtualmachineoperations.yaml index 603d7df544..b6cc266b4c 100644 --- a/crds/virtualmachineoperations.yaml +++ b/crds/virtualmachineoperations.yaml @@ -48,6 +48,14 @@ spec: description: VirtualMachineOperation enables declarative management of virtual machine state changes. + x-examples: + - apiVersion: virtualization.deckhouse.io/v1alpha2 + kind: VirtualMachineOperation + metadata: + generateName: restart-linux-vm- + spec: + virtualMachineName: linux-vm + type: Restart properties: apiVersion: description: |- diff --git a/crds/virtualmachinerestores.yaml b/crds/virtualmachinerestores.yaml index 0259035ded..41075310de 100644 --- a/crds/virtualmachinerestores.yaml +++ b/crds/virtualmachinerestores.yaml @@ -40,6 +40,14 @@ spec: description: VirtualMachineRestore provides a resource for restoring a virtual machine and all associated resources from a snapshot. + x-examples: + - apiVersion: virtualization.deckhouse.io/v1alpha2 + kind: VirtualMachineRestore + metadata: + name: restore-linux-vm + spec: + virtualMachineSnapshotName: linux-vm-snapshot + restoreMode: Safe properties: apiVersion: description: |- diff --git a/crds/virtualmachines.yaml b/crds/virtualmachines.yaml index 1a1ff088d5..2f4d48e085 100644 --- a/crds/virtualmachines.yaml +++ b/crds/virtualmachines.yaml @@ -35,6 +35,24 @@ spec: - `.spec.runPolicy`. **Note:** The `metadata.name` field must comply with [Kubernetes object naming conventions](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/) and must not exceed 63 characters. + x-examples: + - apiVersion: virtualization.deckhouse.io/v1alpha2 + kind: VirtualMachine + metadata: + name: linux-vm + spec: + virtualMachineClassName: generic + cpu: + cores: 1 + coreFraction: 10% + memory: + size: 1Gi + provisioning: + type: UserData + userData: + blockDeviceRefs: + - kind: VirtualDisk + name: linux-vm-root required: - spec properties: diff --git a/crds/virtualmachinesnapshotoperations.yaml b/crds/virtualmachinesnapshotoperations.yaml index bfcfc6d1e1..a2ddc130d6 100644 --- a/crds/virtualmachinesnapshotoperations.yaml +++ b/crds/virtualmachinesnapshotoperations.yaml @@ -44,6 +44,18 @@ spec: description: VirtualMachineSnapshotOperation enables declarative management of virtual machine snapshot state changes. + x-examples: + - apiVersion: virtualization.deckhouse.io/v1alpha2 + kind: VirtualMachineSnapshotOperation + metadata: + name: vmsop-name + spec: + type: CreateVirtualMachine + virtualMachineSnapshotName: vm-snapshot-clone + createVirtualMachine: + mode: DryRun | Strict | BestEffort + nameReplacements: [] + customization: {} properties: apiVersion: description: |- diff --git a/crds/virtualmachinesnapshots.yaml b/crds/virtualmachinesnapshots.yaml index c1b681a99e..2b4e12174f 100644 --- a/crds/virtualmachinesnapshots.yaml +++ b/crds/virtualmachinesnapshots.yaml @@ -41,6 +41,15 @@ spec: description: VirtualMachineSnapshot provides a resource for creating snapshots of virtual machines. + x-examples: + - apiVersion: virtualization.deckhouse.io/v1alpha2 + kind: VirtualMachineSnapshot + metadata: + name: linux-vm-snapshot + spec: + virtualMachineName: linux-vm + requiredConsistency: true + keepIPAddress: Never properties: apiVersion: description: |-