- Switch awx/haproxy/observability configs + post-deploy playbook to the fresh Aether cluster (id=1, 10.10.0.111) - Rename HAProxy instances from ffsdn-haproxy-52-* to ffsdn-haproxy-1-* - Add bin/lab-status script and Aether post-redeploy inventory notes - Ignore .claude/scheduled_tasks.lock Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| beelink | ||
| hetzner | ||
| README.md | ||
README.md
Environment Configurations
Per-environment connection configs, secrets, and deployment settings. Each subdirectory represents a physical host (or host type) with its own network topology, storage backend, and resource sizing.
Directory layout
envs/
├── beelink/
│ ├── env # Secrets: PROXMOX_TOKEN_SECRET, etc. (gitignored)
│ ├── proxmox.yaml # Proxmox connection (gitignored)
│ ├── proxmox.yaml.example # Connection template (LAN, vmbr0, local-lvm)
│ ├── lab-cluster.yaml # 3-node cluster (4C/4G/50G)
│ ├── awx.yaml # AWX deployment settings
│ ├── haproxy.yaml # HAProxy deployment settings
│ └── observability.yaml # Monitoring stack settings
└── hetzner/
├── env # Secrets (gitignored)
├── proxmox.yaml # Proxmox connection (gitignored)
├── proxmox.yaml.example # Connection template (WireGuard, vmbr1, local-zfs)
├── lab-cluster.yaml # 3-node cluster (8C/16G/100G)
├── lab-production.yaml # OC + 3-node cluster
├── awx.yaml # AWX deployment settings
├── haproxy.yaml # HAProxy deployment settings
├── observability.yaml # Monitoring stack settings
└── setup/ # Host provisioning (Proxmox install guide + script)
├── README.md
├── hetzner-setup.md
├── hetzner-lab-guide.md
└── proxmox-setup
How to use
1. Source the environment
Each environment has its own env file with the same variable names.
Source the one for the host you're targeting:
source envs/beelink/env # or: source envs/hetzner/env
2. Deploy VMs
bin/incusos-proxmox --proxmox envs/hetzner/proxmox.yaml \
envs/hetzner/lab-production.yaml
3. Deploy services with --config
bin/deploy-awx --config envs/hetzner/awx.yaml --deploy
bin/deploy-haproxy --config envs/hetzner/haproxy.yaml --deploy
bin/deploy-observability --config envs/hetzner/observability.yaml --deploy
Adding a new environment
- Create a new subdirectory:
envs/myhost/ - Copy
proxmox.yaml.examplefrom an existing env and edit - Create an
envfile with your secrets (same variable names) - Create lab YAML files sized for your hardware
- Create
awx.yaml,haproxy.yaml,observability.yamlwith your IPs
Key differences between environments
| Setting | Beelink | Hetzner |
|---|---|---|
| Host | 192.168.1.10 (LAN) | 10.10.0.1 (WireGuard) |
| Method | ssh | api |
| Bridge | vmbr0 | vmbr1 (private) |
| Storage | local-lvm | local-zfs |
| VLAN | 69 | (none) |
| Gateway | 192.168.100.1 | 10.10.0.1 |
| VM IPs | 192.168.102.x/22 | 10.10.0.x/24 |
| VM cores | 4 | 8 |
| VM memory | 4-8 GiB | 16 GiB |
| VM disk | 50 GiB | 100 GiB |