replica-omnisciente/infrastructure/fleet/fleet.yaml
Raphael Cautus (Maestro) 39fb44fe0e feat(infra): proxmox IaC, firmware, savearth realm, lab-gateway ESP, CI
- infrastructure/proxmox/: CT provisioning configs
- infrastructure/fabric/gitops/: GitOps layer
- fleet.yaml: GPU inventory (Dell GTX 1050 vfio-pci passthrough)
- firmware/: ESP32 firmware tree (67 files, 6.9MB)
- realms/savearth/: Savearth team realm with heteronyms
- lab-gateway: ESP client + manager
- CI: Forgejo + GitHub Actions workflows

Co-authored-by: Álvaro de Campos <campos@portugalfuturista.org>
2026-07-31 14:57:41 +01:00

374 lines
9.8 KiB
YAML

# ============================================================================
# Portugal Futurista — Unified Fleet Inventory
# ============================================================================
# Single source of truth: Proxmox CTs/VMs + Hetzner cloud VMs treated equally.
# Consumed by:
# - pfctl (unified CLI)
# - Ansible (inventory plugin)
# - Prometheus (scrape targets)
# - pfctl dashboard (TUI)
#
# Generated from live cluster state on 2026-07-30.
# Regenerate: python3 scripts/pfctl sync-inventory
# ============================================================================
fleet:
# ── Physical hosts (bare-metal Proxmox nodes) ──────────────────────────
hosts:
asus:
ip: 192.168.0.38
provider: proxmox
role: hypervisor
specs: { cpu: "Ryzen 7", cores: 16, ram_gb: 31, disks: "various" }
wireguard_ip: 10.99.0.1
notes: "Cluster primary, Cloudflare tunnel, WireGuard hub"
gigabyte:
ip: 192.168.0.104
provider: proxmox
role: hypervisor
specs: { cpu: "Ryzen 1600", cores: 12, ram_gb: 46, gpus: ["RTX 3070", "RTX 3070"] }
notes: "Media stack, CT223 data layer, Docker"
dell:
ip: 192.168.0.41
provider: proxmox
role: hypervisor
specs: { cpu: "Intel i7", cores: 8, ram_gb: 31 }
notes: "Savearth fleet, Forge+Stage target"
lattepanda:
ip: 192.168.0.200
provider: proxmox
role: hypervisor
specs: { cpu: "Intel N100", cores: 4, ram_gb: 16 }
notes: "Edge services, monitoring"
# ── Cloud VMs (Hetzner) ────────────────────────────────────────────────
cloud:
pf-edge:
ip: 94.130.24.119
provider: hetzner
type: cx22
role: public-edge
specs: { cores: 2, ram_gb: 4, disk_gb: 38 }
wireguard_ip: 10.99.0.2
cost_eur_month: 4.50
location: nbg1
notes: "Media reverse proxy (Caddy) + WireGuard to ASUS"
pf-aurelio:
ip: null # filled when provisioned
provider: hetzner
type: cpx31
role: aurelio-core
specs: { cores: 2, ram_gb: 4, disk_gb: 160 }
wireguard_ip: 10.99.0.3
cost_eur_month: 8.50
location: nbg1
status: planned
notes: "Gabinete, Bot-rs, fabricd, MCP gateway, sub-agent harness"
# ── Containers / VMs (managed workloads) ───────────────────────────────
# Each entry: provider tells pfctl how to manage it (pct vs ssh vs hcloud)
nodes:
# ── GIGABYTE CTs ──
"223":
name: pf-forja-do-conhecimento
host: gigabyte
ip: 192.168.0.125
provider: proxmox-lxc
specs: { cores: 4, ram_gb: 2, disk_gb: 439 }
role: aurelio-data-layer
status: running
services: [gbrain, gbrain-rest-proxy, gabinete, bot-rs, fabricd, mcp-servers, kimi-swarm, lifestream, identity, plane, outline, minio]
notes: "GOD CONTAINER — needs splitting"
"200":
name: pf-saas-hil
host: gigabyte
ip: 192.168.0.220
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 2, disk_gb: 16 }
status: running
"201":
name: pf-saas-mcp
host: gigabyte
ip: 192.168.0.212
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 1, disk_gb: 8 }
status: running
"211":
name: pf-dev-unified
host: gigabyte
ip: 192.168.0.203
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 16, disk_gb: 125 }
status: running
"218":
name: pf-arquivo-de-orpheu
host: gigabyte
ip: 192.168.0.26
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 2, disk_gb: 29 }
status: running
"219":
name: pf-agy-lsp
host: gigabyte
ip: 192.168.0.25
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 2, disk_gb: 16 }
status: running
"221":
name: pf-media-heavy
host: gigabyte
ip: 192.168.0.21
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 8, disk_gb: 62 }
status: running
"222":
name: pf-bolsa-do-mundial
host: gigabyte
ip: 192.168.0.20
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 4, disk_gb: 20 }
status: running
"210":
name: pf-vision-build
host: gigabyte
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 8, disk_gb: 32 }
status: stopped
# ── DELL CTs ──
"213":
name: pf-immich
host: dell
ip: 192.168.0.23
provider: proxmox-lxc
specs: { cores: 4, ram_gb: 4, disk_gb: 16 }
status: running
"231":
name: pf-homeassistant
host: dell
ip: 192.168.0.156
provider: proxmox-lxc
specs: { cores: 4, ram_gb: 4, disk_gb: 31 }
status: running
"234":
name: pf-marketplace
host: dell
ip: 192.168.0.235
provider: proxmox-lxc
specs: { cores: 4, ram_gb: 8, disk_gb: 31 }
status: running
"235":
name: pf-orchestrator
host: dell
ip: 192.168.0.12
provider: proxmox-lxc
specs: { cores: 4, ram_gb: 8, disk_gb: 31 }
status: running
"236":
name: pf-savearth
host: dell
ip: 192.168.0.54
provider: proxmox-lxc
specs: { cores: 4, ram_gb: 4, disk_gb: 31 }
status: running
"237":
name: pf-iot-stack
host: dell
ip: 192.168.0.9
provider: proxmox-lxc
specs: { cores: 4, ram_gb: 2, disk_gb: 94 }
status: running
# ── ASUS CTs ──
"209":
name: pf-media-library
host: asus
ip: 192.168.0.119
provider: proxmox-lxc
specs: { cores: 4, ram_gb: 4, disk_gb: 59 }
status: running
"216":
name: pf-management
host: asus
ip: 192.168.0.126
provider: proxmox-lxc
specs: { cores: 4, ram_gb: 4, disk_gb: 31 }
status: running
"217":
name: pf-hermes
host: asus
ip: 192.168.0.27
provider: proxmox-lxc
specs: { cores: 4, ram_gb: 4, disk_gb: 31 }
role: hermes-gateway
status: running
notes: "Hermes 24/7 gateway — Signal/Telegram/Matrix"
"203":
name: pf-iot-stack
host: asus
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 2, disk_gb: 40 }
status: stopped
"208":
name: pf-forja-do-conhecimento
host: asus
provider: proxmox-lxc
specs: { cores: 4, ram_gb: 2, disk_gb: 50 }
status: stopped
notes: "OLD HUB — superseded by CT223 on Gigabyte"
"220":
name: pf-bolsa-do-mundial
host: asus
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 4, disk_gb: 20 }
status: stopped
# ── LATTEPANDA CTs ──
"230":
name: pf-payments
host: lattepanda
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 2, disk_gb: 196 }
status: running
"242":
name: pf-marketplace
host: lattepanda
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 1, disk_gb: 8 }
status: running
"243":
name: pf-monitoring
host: lattepanda
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 1, disk_gb: 8 }
role: monitoring
status: running
"244":
name: pf-print-server
host: lattepanda
provider: proxmox-lxc
specs: { cores: 1, ram_gb: 0.5, disk_gb: 8 }
status: running
"245":
name: pf-matrix
host: lattepanda
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 1, disk_gb: 8 }
status: running
"246":
name: pf-aurelio-web
host: lattepanda
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 6, disk_gb: 31 }
status: running
"250":
name: pf-sources
host: lattepanda
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 2, disk_gb: 31 }
status: running
"300":
name: pf-aurelio-multi
host: lattepanda
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 2, disk_gb: 16 }
status: running
"302":
name: pf-aurelio-savearth
host: lattepanda
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 4, disk_gb: 31 }
status: running
"241":
name: pf-indico
host: lattepanda
provider: proxmox-lxc
specs: { cores: 2, ram_gb: 4, disk_gb: 20 }
status: stopped
"301":
name: pf-aurelio-test-client
host: lattepanda
provider: proxmox-lxc
specs: { cores: 1, ram_gb: 0.5, disk_gb: 8 }
status: stopped
# ── QEMU VMs ──
"100":
name: devvm-arch
host: gigabyte
provider: proxmox-vm
specs: { cores: 4, ram_gb: 4, disk_gb: 80 }
status: running
# ── GCLOUD PER-ACCOUNT BOXES (planned) ──
"400":
name: pf-gcloud-base
host: gigabyte
provider: proxmox-lxc
specs: { cores: 1, ram_gb: 0.5, disk_gb: 8 }
status: stopped
role: gcloud-template
notes: "Template LXC with minimal gcloud CLI. Do not run; clone per account."
"401":
name: pf-gcloud-fabio-gmail
host: gigabyte
ip: 192.168.0.151
provider: proxmox-lxc
specs: { cores: 1, ram_gb: 0.5, disk_gb: 8 }
status: running
role: gcloud-account
notes: "fabiorcoutada@gmail.com"
"402":
name: pf-gcloud-fabio-alt
host: gigabyte
ip: 192.168.0.154
provider: proxmox-lxc
specs: { cores: 1, ram_gb: 0.5, disk_gb: 8 }
status: running
role: gcloud-account
notes: "fabiorcdcunha@gmail.com"
"403":
name: pf-gcloud-fabio-savearth
host: gigabyte
ip: 192.168.0.153
provider: proxmox-lxc
specs: { cores: 1, ram_gb: 0.5, disk_gb: 8 }
status: running
role: gcloud-account
notes: "fabio@savearth.io (Workspace)"