Discovery via Omada Controller API (gitea_client_2 app): - All 4 network devices (ER605, SG2428P, 2x EAP610) with MAC/IP/firmware - All 25 clients across VLANs 1/10/20 with MAC/IP/hostname - Complete VLAN topology, gateways, DHCP ranges, static leases - Proxmox node IP, VMs (homeassistant), LXC containers (dockerino, media) - TrueNAS IP and all NFS mount points Also fixes: - hestia: gateway 10.0.0.1 (was PLACEHOLDER) - physical.yaml: proxmox MAC/IP, truenas MAC/IP, ER605 full config - network.yaml: all VLAN gateways filled (10.0.x.1 pattern) |
||
|---|---|---|
| .. | ||
| network.yaml | ||
| physical.yaml | ||
| proxmox.yaml | ||
| README.md | ||
| truenas.yaml | ||
Inventory — Single Source of Truth
Este diretório contém o inventário completo do homelab em arquivos YAML.
Arquivos
| Arquivo | Conteúdo |
|---|---|
physical.yaml |
Máquinas físicas — hardware, MACs, IPs, localização |
proxmox.yaml |
VMs e LXC containers no Proxmox |
truenas.yaml |
Discos, pools ZFS, datasets, shares |
network.yaml |
VLANs, subnets, DNS, DHCP |
Princípio
Sempre atualize o inventory PRIMEIRO, antes de fazer qualquer mudança na infraestrutura real.
Exemplo:
- Você quer trocar o IP do Dockerino de 10.0.0.50 pra 10.0.0.51
- Edita
inventory/proxmox.yaml→ muda o IP do dockerino - Terraform/Ansible pegam o novo IP e aplicam
- PR mostra: "Dockerino IP: 10.0.0.50 → 10.0.0.51"
- Após merge, a mudança é aplicada automaticamente
Como preencher com dados reais
1. Hestia (esta máquina)
# IP e MAC
ip link show
hostname -I
# CPU e RAM
lscpu | grep -E "^Model name|^CPU\(s\)"
free -h
# Discos
lsblk -d -o NAME,SIZE,TYPE | grep disk
2. Proxmox
# SSH para o Proxmox
ssh root@<proxmox-ip>
# Listar VMs e containers
pvesh get /cluster/resources
# Listar disks
pvesh get /cluster/disks/list
# Detalhes de uma VM específica
pvesh get /qemu/<vmid>/config
pvesh get /lxc/<vmid>/config
3. TrueNAS
# SSH para TrueNAS
ssh root@<truenas-ip>
# Status dos pools
zpool status -v
# Datasets
zfs list -o name,mountpoint,used
# Exports NFS
cat /etc/exports
# Discos
lsblk -d -o NAME,SIZE,TYPE,ROTA | grep disk
smartctl -a /dev/sdX
4. ER605 (Router)
Acesse a UI do Omada Controller (provavelmente em https://10.0.0.50:8043) e consulte:
- LAN Settings → DHCP
- VLANs
- Port Forwards
Formato dos arquivos
Todos os arquivos usam YAML. Campos com PLACEHOLDER precisam ser preenchidos com dados reais.
Validação
# Instalar yq se necessário
sudo apt install yq
# Validar syntax do YAML
yq eval '.' inventory/physical.yaml
# Extrair IPs de todas as máquinas
yq eval '.physical_hosts | to_entries | .[].value.network.ip' inventory/physical.yaml
Ordem de leitura para Terraform/Ansible
physical.yaml (camada 0 — fatos)
↓
proxmox.yaml + truenas.yaml (camada 1 — provisionamento)
↓
ansible/ (camada 2 — configuração de OS)
↓
services/ (camada 3 — aplicações)