Files
Ben Vincent fe3c1a1410
ci/woodpecker/pr/ruby-validate Pipeline was successful
ci/woodpecker/pr/puppet-lint Pipeline was successful
ci/woodpecker/pr/yamllint Pipeline was successful
ci/woodpecker/pr/bolt-validate Pipeline was successful
ci/woodpecker/pr/erb-validate Pipeline was successful
ci/woodpecker/pr/epp-validate Pipeline was successful
ci/woodpecker/pr/puppet-validate Pipeline was successful
ci/woodpecker/pr/ruby-check Pipeline was successful
feat: add NetBox IP/interface facts with offline cache
Add a structured `netbox` fact that reads this node's IP/interface data
from NetBox, and profiles::netbox::facts to seed its credentials.

- netbox fact: queries NetBox (devices + VMs) by fqdn/hostname, emits
  interfaces (name, mac, ips, primary) and primary_ip.
- Caches every success to /var/cache/puppet-netbox/facts.json (0600).
  On any failure (short timeouts, DNS, non-200, parse) it serves the
  cached payload with cached=true; static IPs never change so stale is
  always safe. A never-cached host returns nothing; the fact never raises.
- profiles::netbox::facts: inert until $api_token is set; writes the
  root-only token/url files and the cache dir. Confined off (no-op) on
  hosts without the token. Included from profiles::base.

Claude-Session: https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT
2026-08-05 00:45:15 +10:00
..
2024-04-13 22:34:28 +10:00
2025-07-06 11:27:35 +10:00
2023-11-17 22:17:24 +11:00
2025-06-29 13:36:16 +10:00
2026-01-03 21:51:47 +11:00
2024-06-01 22:51:42 +10:00
2024-07-01 22:54:22 +10:00
2025-06-15 17:43:19 +10:00
2024-03-16 16:43:12 +11:00
2024-07-08 22:33:11 +10:00
2023-11-17 22:25:43 +11:00
2024-08-06 22:33:32 +10:00
2025-04-24 16:51:31 +10:00
2025-04-24 23:03:01 +10:00
2024-07-28 01:51:41 +10:00