# proxmox-lab.yaml - Full 4-VM IncusOS lab deployment # # Deploys: # - 1x Operations Center (management UI) # - 3x Incus nodes (cluster: 1 init + 2 join) # # Usage: # incusos-proxmox --dry-run examples/proxmox-lab.yaml # Preview # incusos-proxmox examples/proxmox-lab.yaml # Deploy # incusos-proxmox --cleanup examples/proxmox-lab.yaml # Tear down proxmox: host: 192.168.1.10 # Proxmox host IP or hostname node: pve # Proxmox node name storage: local-lvm # VM disk storage iso_storage: local # ISO/image storage bridge: vmbr0 # Network bridge method: ssh # ssh (default) or api ssh_user: root # SSH user for ssh method # api_token_id: automation@pve!deploy # For api method defaults: cores: 4 memory: 8192 # MiB (minimum: 4096) disk: 64 # GiB (minimum: 50) channel: stable start_vmid: 200 # Auto-assign VMIDs from here vms: # Operations Center -- management dashboard for the cluster. # Requires a client certificate for web UI access. - name: ops-center app: operations-center apply_defaults: true cores: 2 memory: 4096 disk: 50 # Incus cluster leader -- initializes the cluster, creates the default # ZFS pool and network bridge via apply_defaults. - name: incus-main app: incus apply_defaults: true cluster: my-cluster cluster_role: init # Incus cluster joiner #1 -- joins the cluster created by incus-main. # apply_defaults is false because the leader pushes configuration. - name: incus-node-02 app: incus apply_defaults: false cluster: my-cluster cluster_role: join # Incus cluster joiner #2 - name: incus-node-03 app: incus apply_defaults: false cluster: my-cluster cluster_role: join