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

60 lines
1.8 KiB
YAML

# lab-oc.yaml - Operations Center + 3-node lab
#
# Deploys 1 Operations Center instance and 3 Incus nodes.
# Uses VMID range 910+ to avoid collisions with lab-cluster.yaml (900+).
#
# The init node (lab-node-01) uses apply_defaults: true for storage pool
# and 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.
#
# Workflow:
# 1. Deploy with incusos-proxmox
# 2. Access OC web UI (import client.pfx into browser)
# 3. Create provisioning token in OC
# 4. Either redeploy nodes with OC-provisioned ISO or manually adopt
# 5. Form cluster via OC CLI or web UI
#
# Usage:
# incusos-proxmox --dry-run examples/lab-oc.yaml
# incusos-proxmox --yes examples/lab-oc.yaml
# incusos-proxmox --status examples/lab-oc.yaml
# incusos-proxmox --cleanup --deep examples/lab-oc.yaml
#
# Connection settings from proxmox.yaml (see examples/proxmox.yaml.example).
# Add a proxmox: section here to override per-deployment.
defaults:
cores: 2
memory: 4096
disk: 50
start_vmid: 910
vms:
- name: lab-oc
app: operations-center
apply_defaults: true
ip: 192.168.102.110/22
- name: lab-node-01
app: incus
apply_defaults: true # init node: needs storage pool + network
cores: 4
memory: 8192
disk: 64
ip: 192.168.102.111/22
- name: lab-node-02
app: incus
apply_defaults: false # joining node: cluster join creates pool entry
cores: 4
memory: 8192
ip: 192.168.102.112/22
- name: lab-node-03
app: incus
apply_defaults: false # joining node: cluster join creates pool entry
cores: 4
memory: 8192
ip: 192.168.102.113/22