boma/inventories/README.md
sjat 9e0c264658 docs: reconcile lower-severity review findings (O9-O24)
- ADR-007: document ubongo on the legacy V4 net at 10.20.10.151 (transitional,
  outside the planned srv /24 until the LAN is re-cut) (O10); single authoritative
  boma.baobab.band -> boma.wingu.me transition note already added earlier
- terraform tfvars.example + variables.tf (both envs): pve01 -> pve0 and
  <host>.boma.baobab.band per ADR-007 naming (O11)
- ADR-012/013/015/016/017/018: convert "See also:" prose to `## Related` sections
  placed after Consequences, matching ADR-014/019-023 (O13)
- docs/README + inventories/README: list the missing subdirs / offsite_hosts +
  offsite.yml merge behaviour (O14, O29 note)
- ADR-009: drop the retired `nyumbani` example; use vaultwarden.wingu.me split-horizon (O19)
- ROADMAP M2: askari shipped as cx23/x86 (CAX11/ARM out of stock) (O20)
- ADR-020: 80/443/3478 opened in M4a (past tense); coordinator role is M4b (O21)
- netbird -> netbird_coordinator across ROADMAP M4b, the M4b plan, ADR-024 (O23)
- ADR-024: align the M1 DNS-01 wildcard scope wording with ROADMAP (O24)
- capacity-scan.py: read the inventory directory so offsite.yml (askari) is seen (O28)
- tf_to_inventory.py: generated header now warns it overwrites the manual control node (O9)
- tests/tags.yml: proxy concern comment Traefik -> Caddy (missed in the O3 sweep)

O9's existing stub hosts.yml header stays as-is (generator-owned, hook-protected);
the fix lives in the generator for the next regeneration. make lint + pytest (57) green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 19:31:40 +02:00

16 lines
995 B
Markdown

# inventories/
Ansible inventories, one directory per environment (`staging/`, `production/`).
Defines which hosts exist and their group membership; `group_vars/` and `host_vars/`
hold per-group and per-host configuration.
- `hosts.yml` is **generated** from Terraform outputs by `make tf-inventory` — do not
hand-edit. The control node is the one manual exception.
- `offsite.yml` (in `production/`) is a **second** generated inventory file, written by
`make tf-inventory-offsite` from the offsite Terraform env; it holds the `offsite_hosts`
group (`askari`). Ansible merges it with `hosts.yml`, so both can declare the same group
names harmlessly (the offsite generator emits all four groups, most empty).
- Host groups: `all`, `control`, `docker_hosts`, `proxmox_hosts`, `offsite_hosts`.
- Terraform→inventory data flow and the data contract: **ADR-009**.
- Addressing conventions (subnets, ranges): **ADR-007**.
- Layout and host groups: see CLAUDE.md ("Inventory structure").