infra/ansible/host_vars
Graham McIntire f3f10c3e36
ansible: rewrite netbox role to match live netbox.vntx.net (bare-metal install)
The previous role was netbox-community/netbox-docker (compose-based) but
the live host runs the upstream tarball install directly: system Postgres
17, system Redis 8, gunicorn under systemd, and Caddy reverse-proxy.
Re-running the old role would have torn the working install down.

This rewrite mirrors what's actually deployed:

- defaults: NetBox 4.6.0, /opt/netbox layout, gunicorn 5w/3t/120s, all
  configuration.py knobs exposed as ansible vars.
- tasks: install OS deps, ensure netbox user, create Postgres role + db,
  download + extract release tarball, run upgrade.sh, render
  configuration.py / gunicorn.py / systemd units, enable services.
- templates: configuration.py.j2 covers the same keys the live file sets;
  netbox.service / netbox-rq.service are byte-equivalent to the live
  units (modulo paths driven by the install-dir var).
- caddy role gets a per-host Caddyfile-netbox.vntx.net.j2 mirroring the
  live vhost (25MB body limit, /static/* file_server, reverse_proxy to
  127.0.0.1:8001).
- inventory: new netbox_servers group; netbox.vntx.net added to
  caddy_servers so the per-host Caddyfile is wired up.
- host_vars/netbox.vntx.net.yml: secrets reference vault_* vars; role
  refuses to render config.py until they're set.

Operator action: create host_vars/netbox.vntx.net/vault.yml with
netbox_secret_key, netbox_db_password, and netbox_api_token_peppers
(value visible via `sudo cat /opt/netbox/netbox/netbox/configuration.py`
on the live host). See roles/netbox/README.md.
2026-05-08 12:17:30 -05:00
..
aprs.w5isp.com.yml move w5isp.com to cloudflare 2026-04-02 09:22:20 -05:00
db.aprs.me.yml update to reflect 380 prod 2026-03-10 10:05:17 -05:00
db.towerops.net.yml update 2026-03-26 17:53:51 -05:00
dokku.w5isp.com.yml update to reflect 380 prod 2026-03-10 10:05:17 -05:00
git.mcintire.me.yml update to reflect 380 prod 2026-03-10 10:05:17 -05:00
librenms.vntx.net.vault.yml update to reflect 380 prod 2026-03-10 10:05:17 -05:00
librenms.vntx.net.yml update to reflect 380 prod 2026-03-10 10:05:17 -05:00
logs.vntx.net.yml update to reflect 380 prod 2026-03-10 10:05:17 -05:00
mail.mcintire.me.yml update to reflect 380 prod 2026-03-10 10:05:17 -05:00
monitor.vntx.net.yml update to reflect 380 prod 2026-03-10 10:05:17 -05:00
netbox.vntx.net.yml ansible: rewrite netbox role to match live netbox.vntx.net (bare-metal install) 2026-05-08 12:17:30 -05:00
ns1.as393837.net.yml update to reflect 380 prod 2026-03-10 10:05:17 -05:00
prom.w5isp.com.yml prom: add prometheus stack (prometheus, alertmanager, grafana, node_exporter) 2026-05-08 09:50:31 -05:00
radius.vntx.net.yml update 2026-04-10 13:48:53 -05:00
resolver1.vntx.net.yml update to reflect 380 prod 2026-03-10 10:05:17 -05:00
resolver2.vntx.net.yml update to reflect 380 prod 2026-03-10 10:05:17 -05:00
skippy.w5isp.com.yml update 2026-04-04 17:40:50 -05:00
staging.towerops.net.yml update 2026-03-26 17:53:51 -05:00
uisp.vntx.net.yml update to reflect 380 prod 2026-03-10 10:05:17 -05:00
unimus.vntx.net.yml update and remove dns from tf 2026-01-10 16:00:02 -06:00
vpn.vntx.net.yml update to reflect 380 prod 2026-03-10 10:05:17 -05:00