Commit graph

15 commits

Author SHA1 Message Date
292758900e
Add hi (74.50.113.232) with Forgejo + Caddy, bootstrapped support.vntx.net
- DNS: hi.mcintire.me A/AAAA, git.mcintire.me A/AAAA updated to new host
- forgejo role: Docker Compose deployment with SQLite, INSTALL_LOCK, admin user creation
- Caddyfile-hi.j2: reverse proxy git.mcintire.me -> localhost:3000
- tailscale role: skip connect when no auth key; dynamic repo suite
- debian role: fix Signed-By for debian.sources on trixie
- curl added to base Debian packages
- support.vntx.net: added to vntx_servers, DNS, host_vars
2026-07-24 13:12:33 -05:00
7ff93a5ac3
update opensearch 2026-07-24 09:18:08 -05:00
39bedb08d1
renumber infrastructure from 10.0.15.0/24 to 10.0.16.0/22 (hosts in 10.0.19.x)
Proxmox: node1-3 → 10.0.19.101-103
Talos cp1-3 → 10.0.19.1-3, workers → 10.0.19.4-6
K8s endpoint → VIP https://10.0.19.10:6443
Ansible: prom → 10.0.19.31, db → 10.0.19.30
Talos: added VIP block to controlplane.yaml base config
Promtail: Loki URL → 10.0.19.31
Docs: all references updated, talos4 removed
2026-07-18 08:28:47 -05:00
390eb2d835
cleanup 2026-06-22 16:17:33 -05:00
d6cf15165a
restore UISP server + caddy frontend, fix SSH host key regeneration, add tofu proxmox provider 2026-06-21 19:06:33 -05:00
02df6fbbc6
resolvers: serve DoH via Caddy, add IPv6 records and PQ SSH
- unbound: add loopback DoH listener (127.0.0.1@8080, http-notls-downstream);
  interface-automatic-ports lists 8080 so interface-automatic does not silently
  drop the non-53 listener; access-control driven by resolver_allowed_netblocks
- caddy: add RedHat/COPR install path, caddy_template var, /var/log/caddy dir;
  new Caddyfile-resolver.j2 terminates LE TLS and h2c-proxies to unbound,
  enforcing the client allow-list via remote_ip
- resolvers: open 80/443 in firewall; prefer post-quantum SSH key exchange
  (sntrup761x25519-sha512) via validated sshd_config.d drop-in
- bind9: zone.j2 emits AAAA records; add ipv6 for resolver1/2 (2606:1c80::240/250)
- playbook: run caddy role on the resolvers group
2026-05-14 10:10:46 -05:00
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
e280a40c8f
cleanup and reorg 2026-01-08 16:29:16 -06:00
0edb581bd5
update 2025-11-16 09:34:06 -06:00
ea76ca57a3
updates 2025-10-24 17:04:01 -05:00
ef8b473681
updates 2025-10-14 14:35:33 -05:00
8e4a9830bc
update 2025-10-01 17:06:51 -05:00
d5e3ce88a3
updates 2025-09-18 16:08:26 -05:00
c959b4581c fix photos 2025-09-13 10:58:18 -05:00
4c205165ac
add ansible 2025-05-30 13:24:38 -05:00