incus-contrib/bin/examples/lab-cluster.yaml

43 lines
1.5 KiB
YAML

# lab-cluster.yaml - 3-node IncusOS cluster for lab testing
#
# Deploys 3 standalone Incus nodes that can be clustered after deployment.
# The init node gets apply_defaults: true (storage pool + network bridge).
# Joining nodes use apply_defaults: false -- the cluster join process creates
# member-specific pool entries. This follows the upstream IncusOS recommendation
# and avoids the 8-command cleanup per joining node.
#
# Usage:
# incusos-proxmox --dry-run examples/lab-cluster.yaml # Preview
# incusos-proxmox --yes examples/lab-cluster.yaml # Deploy
# incusos-proxmox --status examples/lab-cluster.yaml # Check status
# incusos-proxmox --cleanup examples/lab-cluster.yaml # Tear down VMs
# incusos-proxmox --cleanup --deep examples/lab-cluster.yaml # Full cleanup
#
# After deployment, form a cluster with lab-test:
# lab-test --phase cluster examples/lab-cluster.yaml
#
# Connection settings from proxmox.yaml (see examples/proxmox.yaml.example).
# Add a proxmox: section here to override per-deployment.
defaults:
cores: 4
memory: 4096
disk: 50
start_vmid: 900
vms:
- name: incus-lab-01
app: incus
apply_defaults: true # init node: needs storage pool + network
ip: 192.168.102.101/22
- name: incus-lab-02
app: incus
apply_defaults: false # joining node: cluster join creates pool entry
ip: 192.168.102.102/22
- name: incus-lab-03
app: incus
apply_defaults: false # joining node: cluster join creates pool entry
ip: 192.168.102.103/22