Adds 4-layer inventory system as Single Source of Truth: - inventory/physical.yaml: Physical hosts (Hestia, Proxmox, TrueNAS, ER605) - inventory/proxmox.yaml: VMs and LXC containers (dockerino, media, homeassistant) - inventory/truenas.yaml: ZFS pools, disks, datasets, NFS exports - inventory/network.yaml: VLANs, subnets, DNS All files have PLACEHOLDER fields to be filled with real data using the discovery commands in inventory/README.md
183 lines
4.9 KiB
YAML
183 lines
4.9 KiB
YAML
# ===========================================
|
|
# INVENTÁRIO FÍSICO — Single Source of Truth
|
|
# ===========================================
|
|
# Este arquivo mapeia TODAS as máquinas físicas do homelab.
|
|
# UPDATE: Sempre que mudar algo físico (IP, MAC, disco), atualize aqui PRIMEIRO.
|
|
# ===========================================
|
|
|
|
physical_hosts:
|
|
|
|
# ===========================================
|
|
# HESTIA — Notebook (esta máquina)
|
|
# ===========================================
|
|
hestia:
|
|
description: "Notebook Dell Latitude 5490 — usado como workstation e runner de CI/CD"
|
|
location: "rack caseiro"
|
|
hardware:
|
|
cpu: "Intel i5-8250U"
|
|
ram_gb: 16
|
|
disk:
|
|
- device: /dev/sda
|
|
type: SSD
|
|
size_gb: 256
|
|
mount: /
|
|
network:
|
|
mac: "PLACEHOLDER" # TODO: ip link show | grep ether
|
|
ip: "PLACEHOLDER" # TODO: hostname -I
|
|
gateway: "PLACEHOLDER" # IP do ER605
|
|
dns: "10.0.0.2" # AdGuard
|
|
os:
|
|
distro: "Debian"
|
|
version: "13"
|
|
hostname: "hestia"
|
|
roles:
|
|
- runner-ci # Gitea Actions runner
|
|
- workstation
|
|
ssh:
|
|
user: "iamferreirajp"
|
|
port: 22
|
|
|
|
# ===========================================
|
|
# PROXMOX — Server principal
|
|
# ===========================================
|
|
proxmox:
|
|
description: "Servidor mini-ITX — Proxmox VE rodando VMs e containers"
|
|
location: "rack caseiro"
|
|
hardware:
|
|
cpu: "PLACEHOLDER"
|
|
ram_gb: 64
|
|
disk:
|
|
- device: /dev/sda
|
|
type: SSD
|
|
size_gb: 512
|
|
mount: /
|
|
role: "Proxmox OS"
|
|
network:
|
|
mac: "PLACEHOLDER"
|
|
ip: "PLACEHOLDER"
|
|
gateway: "PLACEHOLDER"
|
|
dns: "10.0.0.2"
|
|
os:
|
|
distro: "Proxmox VE"
|
|
version: "PLACEHOLDER"
|
|
hostname: "proxmox"
|
|
roles:
|
|
- hypervisor # Proxmox (gerencia VMs)
|
|
- nfs-client # Mount TrueNAS volumes
|
|
ssh:
|
|
user: "root"
|
|
port: 22
|
|
|
|
# ===========================================
|
|
# TRUENAS — Storage server
|
|
# ===========================================
|
|
truenas:
|
|
description: "Servidor de storage — TrueNAS Scale baremetal"
|
|
location: "rack caseiro"
|
|
hardware:
|
|
cpu: "PLACEHOLDER"
|
|
ram_gb: 32
|
|
disk:
|
|
# TODO: lsblk -d -o NAME,SIZE,TYPE | grep disk
|
|
- device: /dev/sdb
|
|
type: HDD
|
|
size_tb: 4
|
|
role: "data"
|
|
- device: /dev/sdc
|
|
type: HDD
|
|
size_tb: 4
|
|
role: "data"
|
|
- device: /dev/sdd
|
|
type: HDD
|
|
size_tb: 4
|
|
role: "data"
|
|
- device: /dev/sde
|
|
type: HDD
|
|
size_tb: 4
|
|
role: "data"
|
|
- device: /dev/sdf
|
|
type: SSD
|
|
size_gb: 500
|
|
role: "SLOG/Cache"
|
|
network:
|
|
mac: "PLACEHOLDER"
|
|
ip: "PLACEHOLDER"
|
|
gateway: "PLACEHOLDER"
|
|
dns: "10.0.0.2"
|
|
os:
|
|
distro: "TrueNAS Scale"
|
|
version: "PLACEHOLDER"
|
|
hostname: "truenas"
|
|
roles:
|
|
- storage # NFS/SMB shares
|
|
- nfs-server # Exporta volumes
|
|
ssh:
|
|
user: "root"
|
|
port: 22
|
|
|
|
# ===========================================
|
|
# ER605 — Router TP-Link (Omada)
|
|
# ===========================================
|
|
er605:
|
|
description: "Router TP-Link ER605 — gateway + DHCP + VLANs"
|
|
location: "rack caseiro"
|
|
hardware:
|
|
model: "TP-Link ER605"
|
|
wan_port: "1Gbps"
|
|
lan_ports: 4
|
|
network:
|
|
mac: "PLACEHOLDER"
|
|
ip: "PLACEHOLDER" # Tipicamente .1 da subnet
|
|
gateway: "PLACEHOLDER" # WAN upstream
|
|
dns: "PLACEHOLDER"
|
|
os:
|
|
firmware: "Omada Controller"
|
|
controller_url: "http://10.0.0.50:8043"
|
|
roles:
|
|
- gateway
|
|
- dhcp-server
|
|
- firewall
|
|
management:
|
|
web_ui: "http://PLACEHOLDER"
|
|
ssh: "disabled"
|
|
|
|
# ===========================================
|
|
# VLANs — mapeamento de rede
|
|
# ===========================================
|
|
vlans:
|
|
1:
|
|
name: "infra"
|
|
subnet: "10.0.0.0/24"
|
|
dhcp_range: "10.0.0.100-10.0.0.200"
|
|
description: "Infraestrutura — Gitea, AdGuard, Omada Controller"
|
|
10:
|
|
name: "geral"
|
|
subnet: "10.0.10.0/24"
|
|
dhcp_range: "10.0.10.100-10.0.10.200"
|
|
description: "Workstations e laptops"
|
|
20:
|
|
name: "iot"
|
|
subnet: "10.0.20.0/24"
|
|
dhcp_range: "10.0.20.100-10.0.20.200"
|
|
description: "Dispositivos IoT — sensores, câmeras"
|
|
30:
|
|
name: "guests"
|
|
subnet: "10.0.30.0/24"
|
|
dhcp_range: "10.0.30.100-10.0.30.200"
|
|
description: "Rede de visitantes"
|
|
|
|
# ===========================================
|
|
# DNS — AdGuard
|
|
# ===========================================
|
|
dns:
|
|
adguard:
|
|
description: "DNS recursivo + bloqueador de ads"
|
|
ip: "10.0.0.2"
|
|
roles:
|
|
- dns-recursive
|
|
- dns-block
|
|
web_ui: "http://10.0.0.2"
|
|
upstream_dns:
|
|
- "1.1.1.1"
|
|
- "8.8.8.8"
|