Files
cozystack/packages/apps/vm-disk/values.yaml
Andrei KvapilandClaude 0d1e5aa2f3 feat(apps): declare x-cozystack-options in vm/storage app values.yaml
Move the dynamic-dropdown x-cozystack-options vendor extensions from the
generated values.schema.json into the values.yaml source for vm-instance,
kubernetes, vm-disk and bucket so they survive schema regeneration. The new
cozyvalues-gen @x-<keyword> directive emits these extensions from the source
annotations. Annotations on typedef @field entries (Disk, Network, GPU,
NodeGroup) are declared once and cover every place the typedef is reused.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Andrei Kvapil <andrei.kvapil@aenix.io>
2026-06-02 16:33:57 +03:00

36 lines
1.2 KiB
YAML

##
## @section Common parameters
##
## @typedef {struct} SourceImage - Use image by name.
## @field {string} name - Name of the image to use.
## @x-cozystack-options {source: image}
## @typedef {struct} SourceUpload - Upload local image.
## @typedef {struct} SourceHTTP - Download image from an HTTP source.
## @field {string} url - URL to download the image.
## @typedef {struct} SourceDisk - Clone an existing vm-disk.
## @field {string} name - Name of the vm-disk to clone.
## @typedef {struct} Source - The source image location used to create a disk.
## @field {*SourceImage} [image] - Use image by name from default collection.
## @field {*SourceUpload} [upload] - Upload local image.
## @field {*SourceHTTP} [http] - Download image from an HTTP source.
## @field {*SourceDisk} [disk] - Clone an existing vm-disk.
## @param {Source} source - The source image location used to create a disk.
source: {}
## @param {bool} optical - Defines if disk should be considered optical.
optical: false
## @param {quantity} storage - The size of the disk allocated for the virtual machine.
storage: 5Gi
## @param {string} storageClass - StorageClass used to store the data.
## @immutable
## @x-cozystack-options {source: storageclass}
storageClass: replicated