Commit graph

48 commits

Author SHA1 Message Date
18da06e769
Fix vault.yml: remove spurious document separator that broke YAML parsing 2026-07-24 16:39:28 -05:00
edd689d8c7
Add incident.io alert integration for Icinga2
- New notification script (incidentio-notification.sh) that POSTs JSON
  payloads to incident.io HTTP alert sources via curl/jq
- New Icinga2 config template defining User, NotificationCommand (host
  + service), and apply Notification rules — follows the PagerDuty
  pattern with opt-in via vars.enable_incidentio
- Notification type mapping: PROBLEM/DOWN/CRITICAL/WARNING/UNKNOWN →
  firing, RECOVERY/UP/OK → resolved, ACKNOWLEDGEMENT → firing with
  metadata
- Deduplication keys: host-{name} for hosts, service-{host}-{service}
  for services
- Deployed via Ansible: script copied to /etc/icinga2/scripts/,
  config rendered to conf.d/; gated on icinga2_incidentio_token being
  defined
2026-07-24 16:36:49 -05:00
a496efa816
Remove password field from graham user config - only set on initial creation 2026-07-24 14:07:06 -05:00
1e1e423772
Set graham user password hash in managed_users config 2026-07-24 13:44:19 -05:00
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
Graham McInitre
d644868602 Migrate mcintire.me DNS from self-hosted BIND9 to Cloudflare
- Add mcintire.me zone + all 14 DNS records to tofu/cloudflare.tf (A, MX, CNAME, SRV, TXT)
- Include zone settings, HSTS, bot management, firewall for mcintire.me
- Update Porkbun NS from as393837_ns to cloudflare_ns in tofu/dns.tf
- Remove mcintire.me zone from BIND9 master config (group_vars/bind9_servers/)
- Delete mcintire.me.yml zone file
- Remove mcintire.me secondary zone from git.mcintire.me host_vars
2026-07-24 09:14:36 -05:00
55451fe285
cleanup resolvers 2026-06-22 16:11:33 -05:00
763d7a938c
updates 2026-06-20 14:21:32 -05:00
fb5803c866
add FreeBSD bootstrap, irc servers, hostname overrides, and cleanups
- bootstrap.yml: support pkg for FreeBSD sudo/python3 install
- base role: FreeBSD package sets, sudoers paths, host key regen, admin group, usermod process-in-use tolerance
- freebsd role: pkg update/upgrade tasks
- general role: standalone hostname tasks (ungated from network.skip), hostname_override support
- inspircd role: deploy configs for ca/us manero.org irc servers with vault-backed secrets
- uisp role: download and run installer on fresh hosts, skip if already running
- netbox role: stop services before usermod to avoid process-in-use failures
- hosts: add irc_servers group, ca/us.manero.org (Tailscale), drop staging.towerops.net
- all.yml: graham user gets static ed25519 key alongside github keys
2026-06-19 17:19:29 -05:00
b43aa56b5c
icinga2 host updates 2026-06-19 15:24:44 -05:00
c64f59929e
resolvers: NXDOMAIN blocklist via RPZ; fix Ansible deprecations
Add an RPZ blocklist on the Unbound resolvers that returns NXDOMAIN for a
set of domains (and subdomains) and logs only those matches under rpz-log
tag "blocklist". Domains are templated from resolver_blocked_domains
(single source of truth) into /etc/unbound/blocklist.rpz; respip module
enabled for RPZ support.

Fix deprecation warnings across the Ansible tree:
- apt_repository -> deb822_repository (monitor, aprsc, uisp, grafana),
  removing stale .list files and adding update_cache where deb822 drops it
- community.mysql.* -> ansible.mysql.* (monitor) and requirements.yml
- top-level facts -> ansible_facts[...] (ansible_os_family,
  distribution_release, fqdn, architecture, default_ipv4) repo-wide
2026-06-07 10:32:42 -05:00
5e8823f4dd
fix: resolve all logic bugs
- Remove duplicate firewall include_role from base role (#18)
- Move remote_user from [ssh_connection] to [defaults] in ansible.cfg (#20)
- Add set -euo pipefail to run.sh (#21)
- Delete orphaned playbook_handlers.yml (#22)
- Fix changed_when: true in debian tasks (#23)
- Add tailscale_authkey env var lookup with TAILSCALE_KEY fallback (#25)
- Document -K requirement in bootstrap.yml (#26)
- Replace bare ansible_host=mail/git with IP addresses (#27)
- Update findings.md
2026-06-04 14:43:06 -05:00
6f0d308fea
cleanup: remove forgejo, fix ssh key paths, fix tracking issues, update docs
- Remove forgejo role, play, group, host_vars, and DNS references
- Replace hardcoded /Users/graham/.ssh/ paths with env var lookup
- Remove broken setup-user Makefile target
- Add community.mysql collection to requirements.yml
- Add .ansible/ to .gitignore
- git rm --cached .DS_Store files and .vscode/settings.json
- Update CLAUDE.md and README.md to reflect actual state
- Add findings.md with audit results
2026-06-04 14:27:31 -05:00
38638e1134
update 2026-06-01 10:53:23 -05:00
a3bf64521b
updates 2026-05-20 12:06:54 -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
c3ae90aff0
dns updates 2026-04-27 12:43:08 -05:00
35f66d0408
update 2026-04-06 09:39:03 -05:00
fc934290b8
update 2026-04-03 15:52:40 -05:00
5ba93d2866
move w5isp.com to cloudflare 2026-04-02 09:22:20 -05:00
baa50efccf
update 2026-03-26 17:53:51 -05:00
fb6d00b84d
updates 2026-03-16 17:40:30 -05:00
47158aa771
update to reflect 380 prod 2026-03-10 10:05:17 -05:00
231c9744aa
update some dns and cloudflare 2026-02-25 13:24:10 -06:00
d68f32837d
dns cleanup 2026-02-24 09:24:53 -06:00
a7f8b76c0e
update ha dns 2026-02-18 09:57:12 -06:00
c9705b645a
update dns 2026-02-17 13:15:24 -06:00
928eba54e0
clean up tofu: porkbun-only, update aprs.me NS to cloudflare
- Remove proxmox/talos/null providers and variables
- Remove HTTP backend, use local state
- Remove skookum.me, towerops.net, vntx.net, as393837.net from DNS
- Switch aprs.me NS to Cloudflare
2026-02-17 13:07:04 -06:00
bed3526470
move terraform to tofu, add porkbun domain NS management
- Rename terraform/ to tofu/
- Add marcfrederick/porkbun provider for registrar NS management
- Add dns.tf with all 14 Porkbun domains and import blocks
- Update gridmap.org BIND9 zone NS to Cloudflare
- Update CLAUDE.md to reflect new directory structure
2026-02-17 12:49:26 -06:00
35c86b5f27
update dns for gridmap 2026-02-17 12:10:22 -06:00
b790650157
cname for gridmap 2026-02-17 08:35:28 -06:00
71f24d1ca4
updates 2026-02-17 08:26:29 -06:00
36265b9da7
changes 2026-02-05 12:46:51 -06:00
7d8ef39291
cleanup 2026-01-30 17:32:32 -06:00
a1e787093e
update 2026-01-30 17:27:52 -06:00
b951c77015
fix vntx cnames 2026-01-16 09:25:46 -06:00
888112348c
change aprs.me 2026-01-12 10:46:04 -06:00
e27faaaf98
dns update 2026-01-11 14:54:24 -06:00
bf68b631d0
more domains and adjust ttl 2026-01-11 14:36:17 -06:00
57bd3290ec
update dns serials 2026-01-11 14:11:15 -06:00
2dd9d44bf9
update and remove dns from tf 2026-01-10 16:00:02 -06:00
e280a40c8f
cleanup and reorg 2026-01-08 16:29:16 -06:00
8c3257ecdf
Refine bootstrap and consolidate base role management 2025-10-15 11:47:34 -05:00
7ac6cae23d
updates 2025-10-05 13:12:28 -05:00
8e4a9830bc
update 2025-10-01 17:06:51 -05:00
718f1d2f90
k8s start 2025-07-24 09:55:24 -05:00
b80b2a9967
ansible cleanup 2025-07-23 12:34:33 -05:00
4c205165ac
add ansible 2025-05-30 13:24:38 -05:00