Add two complementary features to reduce remote revision cache staleness:
1. Smart local cache: When current system revision matches cached remote
revision, force an immediate cache refresh to check for newer revisions.
2. NATS integration: Share cache updates across hosts via NATS pub/sub.
Hosts publish revision updates when they fetch new data, and subscribe
to receive updates from other hosts. Features include:
- Auto-reconnect with infinite retries
- Graceful fallback when NATS unavailable
- Filtering by flake URL and hostname
New CLI flags:
--flake.nats.enable
--flake.nats.url
--flake.nats.subject
--flake.nats.credentials-file
New NixOS module options under services.prometheus.exporters.nixos.flake.nats
Bumps version to 0.3.0.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add a new info metric that exposes the current system's flake revision
and the latest remote revision as labels. This makes it easier to see
exactly which revision is deployed vs available.
Also adds version constant to Go code and extracts it in flake.nix,
providing a single source of truth for the version.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>