62 lines
1.9 KiB
YAML
62 lines
1.9 KiB
YAML
# 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
|
|
# pool: IncusLab # Resource pool (optional, for isolation)
|
|
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
|