# Target Configurations Target-specific Proxmox connection configs and lab definitions. Each subdirectory represents a physical host (or host type) with its own network topology, storage backend, and resource sizing. ## How it works `incusos-proxmox` already supports `--proxmox FILE` to point at any connection config. Targets are just an organizational convention -- no script changes required. ## Directory layout ``` targets/ ├── beelink/ │ ├── proxmox.yaml.example # Connection template (LAN, vmbr0, local-lvm) │ └── lab-cluster.yaml # 3-node cluster sized for beelink (4C/4G/50G) └── hetzner/ ├── proxmox.yaml.example # Connection template (WireGuard, vmbr1, local-zfs) ├── lab-cluster.yaml # 3-node cluster sized for hetzner (8C/16G/100G) └── lab-production.yaml # OC + 3-node cluster for hetzner ``` ## Usage ### 1. Copy the example and fill in credentials ```bash cp incusos/targets/hetzner/proxmox.yaml.example incusos/targets/hetzner/proxmox.yaml # Edit with your API token, host IP, etc. ``` ### 2. Deploy with explicit --proxmox ```bash incusos-proxmox --proxmox incusos/targets/hetzner/proxmox.yaml \ incusos/targets/hetzner/lab-cluster.yaml ``` ### 3. Or symlink for convenience ```bash # Point the auto-discovered proxmox.yaml at your active target ln -sf targets/hetzner/proxmox.yaml incusos/proxmox.yaml # Now deploy without --proxmox incusos-proxmox incusos/targets/hetzner/lab-cluster.yaml ``` ## Environment variables `incusos-proxmox` reads `PROXMOX_TOKEN_SECRET` from the environment (or the `env` file at the repo root). When working with multiple targets, use different variable names per host: ```bash # In env file PROXMOX_TOKEN_SECRET=beelink-token-here HETZNER_PROXMOX_TOKEN_SECRET=hetzner-token-here ``` Before deploying to a specific target, export the right secret: ```bash # Deploy to Hetzner export PROXMOX_TOKEN_SECRET="$HETZNER_PROXMOX_TOKEN_SECRET" incusos-proxmox --proxmox incusos/targets/hetzner/proxmox.yaml \ incusos/targets/hetzner/lab-cluster.yaml ``` ## Key differences between targets | 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 |