VirtualDisk Resource Kind
Kind: VirtualDiskapiVersion: pivirt.hu/v1Aliases: disk, disks
The VirtualDisk resource defines an independent block storage volume or an attachment to a virtual machine. It allows operators to manage disk lifecycles independently of virtual machines, supporting standalone volume creation, persistent data disks, and hot-attaching.
Accepted Kind Aliases
Section titled “Accepted Kind Aliases”In pivirtctl commands, any of the following aliases are recognized:
VirtualDisk, virtualdisk, virtualdisks, virtual-disk, virtual-disks, disk, disks.
Example Manifests
Section titled “Example Manifests”apiVersion: pivirt.hu/v1kind: VirtualDiskmetadata: name: postgres-data labels: environment: production tier: databasespec: vmName: db-01 # Attaches directly to VM 'db-01' sizeGb: 100 format: qcow2 bus: virtio readonly: falseapiVersion: pivirt.hu/v1kind: VirtualDiskmetadata: name: backup-target labels: storage: archivespec: sizeGb: 500 format: raw bus: scsiSpecification Reference (spec)
Section titled “Specification Reference (spec)”| Field | Type | Required | Default | Description |
|---|---|---|---|---|
vmName |
string |
No | VM name to attach this disk to upon application | |
id |
string |
No | metadata.name |
Unique disk device ID exposed to the guest |
path |
string |
No | Auto-generated | Local filesystem path to the underlying image file |
sizeGb |
float64 |
Yes | Disk capacity in Gigabytes | |
format |
string |
No | qcow2 |
Image format: qcow2 or raw |
bus |
string |
No | virtio |
Storage controller bus: virtio, scsi, sata, ide |
readonly |
bool |
No | false |
Mount disk as read-only |
CLI Management Examples
Section titled “CLI Management Examples”# Apply a new virtual disk (creates image or attaches to VM)pivirtctl apply -f disk-data.yaml
# List all virtual diskspivirtctl get disks
# Filter disks by labelpivirtctl get disks -l "tier=database"
# Inspect disk propertiespivirtctl describe disk postgres-data
# Delete disk (cascades teardown from VM if attached)pivirtctl delete disk postgres-data