Files
2025-10-31 17:48:36 +03:00

99 lines
2.7 KiB
YAML

##
## @section Common parameters
##
## @enum {string} ExternalMethod - Method to pass through traffic to the VM.
## @value PortList - Forward selected ports only.
## @value WholeIP - Forward all traffic for the IP.
## @enum {string} SystemImage - The base image for the virtual machine.
## @value ubuntu
## @value cirros
## @value alpine
## @value fedora
## @value talos
## @typedef {struct} SystemDisk - System disk configuration.
## @field {SystemImage} image - The base image for the virtual machine.
## @field {string} storage - The size of the disk allocated for the virtual machine.
## @field {string} [storageClass] - StorageClass used to store the data.
## @typedef {struct} Subnet - Additional subnets
## @field {string} [name] - Subnet name
## @typedef {struct} GPU - GPU device configuration.
## @field {string} name - The name of the GPU resource to attach.
## @typedef {struct} Resources - Resource configuration for the virtual machine.
## @field {quantity} [cpu] - Number of CPU cores allocated.
## @field {quantity} [sockets] - Number of CPU sockets (vCPU topology).
## @field {quantity} [memory] - Amount of memory allocated.
## @param {bool} external - Enable external access from outside the cluster.
external: false
## @param {ExternalMethod} externalMethod - Method to pass through traffic to the VM.
externalMethod: "PortList"
## @param {[]int} externalPorts - Ports to forward from outside the cluster.
externalPorts:
- 22
## @param {bool} running - Whether the virtual machine should be running.
running: true
## @param {string} instanceType - Virtual Machine instance type.
## @param {string} instanceProfile - Virtual Machine preferences profile.
instanceType: "u1.medium"
instanceProfile: ubuntu
## @param {SystemDisk} systemDisk - System disk configuration.
systemDisk:
image: ubuntu
storage: 5Gi
storageClass: replicated
## @param {[]Subnet} subnets - Additional subnets
subnets: []
## Example:
## subnets:
## - name: subnet-84dbec17
## - name: subnet-aa8896b5
## - name: subnet-e9b97196
## @param {[]GPU} gpus - List of GPUs to attach.
gpus: []
## Example:
## gpus:
## - name: nvidia.com/GA102GL_A10
## @param {Resources} [resources] - Resource configuration for the virtual machine.
resources: {}
## Example:
## resources:
## cpu: "4"
## sockets: "1"
## memory: "8Gi"
## @param {[]string} sshKeys - List of SSH public keys for authentication.
sshKeys: []
## Example:
## sshKeys:
## - ssh-rsa ...
## - ssh-ed25519 ...
##
## @param {string} cloudInit - Cloud-init user data.
cloudInit: ""
## Example:
## cloudInit: |
## #cloud-config
## password: ubuntu
## chpasswd: { expire: False }
##
## @param {string} cloudInitSeed - Seed string to generate SMBIOS UUID for the VM.
cloudInitSeed: ""
## Example:
## cloudInitSeed: "upd1"