incus-contrib/incusos/targets/hetzner/lab-production.yaml

57 lines
1.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# lab-production.yaml - Production-quality lab for Hetzner (OC + 3-node cluster)
#
# Deploys 1 Operations Center instance and 3 Incus nodes for OC-managed clustering.
# Sized for a Hetzner dedicated server with generous resources.
#
# Architecture:
# hz-oc (910) - Operations Center dashboard and monitoring
# hz-node-01 (911) - Cluster init node + OVN control plane host (150G disk)
# hz-node-02 (912) - Cluster member
# hz-node-03 (913) - Cluster member
#
# Network: 10.10.0.0/24 on vmbr1 (private bridge, NAT to internet).
# OVN overlay (once configured): 10.10.10.0/24 internal, 10.10.0.200+ external.
#
# RAM budget: ~248 GiB of 256 GiB (8 GiB OC + 3×80 GiB nodes; ~8 GiB reserved for Proxmox host)
#
# Usage:
# incusos-proxmox --proxmox incusos/targets/hetzner/proxmox.yaml \
# incusos/targets/hetzner/lab-production.yaml
#
# After deployment, follow notes/production-lab-guide.md for:
# - Cluster formation (section 4)
# - OVN networking (section 6)
# - Workload deployment (sections 7-9)
#
# Connection settings from proxmox.yaml in this directory.
defaults:
cores: 16
memory: 81920 # ~80 GiB per node (3 nodes × 80 = 240 GiB + 8 for OC = 248 GiB total)
disk: 100
start_vmid: 910
vms:
- name: hz-oc
app: operations-center
apply_defaults: true
cores: 4
memory: 8192 # OC needs very little RAM
ip: 10.10.0.110/24
- name: hz-node-01
app: incus
apply_defaults: false # OC manages cluster formation + storage/network setup
disk: 150 # extra space for OVN control plane container
ip: 10.10.0.111/24
- name: hz-node-02
app: incus
apply_defaults: false # joining node: cluster join creates pool entry
ip: 10.10.0.112/24
- name: hz-node-03
app: incus
apply_defaults: false # joining node: cluster join creates pool entry
ip: 10.10.0.113/24