mirror of
https://github.com/outbackdingo/cozystack.git
synced 2026-01-27 18:18:41 +00:00
99 lines
2.7 KiB
YAML
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"
|