Commit Graph
1695 Commits
Author SHA1 Message Date
greg c2f454f876 Merge pull request 'feat: proxy Grafana via nginx on hosea LAN hostnames' (#4) from klaatu/nixos:feat/grafana-proxy into main
buildbot/nix-eval Build done. (1 warning)
buildbot/nix-build Build done.
buildbot/nix-effects Build done.
Reviewed-on: https://src.thehellings.com/greg/nixos/pulls/4
2026-03-25 22:26:06 +00:00
root b143543ba1 feat: add grafana DNS entries to genesis hosts file
buildbot/nix-eval Build done. (1 warning)
buildbot/nix-build Build done.
Add grafana.thehellings.lan (LAN) and grafana.home (Tailscale)
pointing at hosea's respective addresses, matching the pattern
used for jellyfin and other hosea-hosted services.
2026-03-25 17:22:54 -05:00
root fb5daa3be7 feat: proxy Grafana via nginx on hosea LAN hostnames
buildbot/nix-eval Build done. (1 warning)
Add grafana.home and grafana.thehellings.lan nginx proxy entries
pointing at localhost:3001. This allows LAN clients (and Klaatu)
to reach Grafana without Tailscale or direct port access, working
around the enforce_domain restriction on hosea.shire-zebra.ts.net.
2026-03-25 17:21:21 -05:00
Greg Hellings 3fab3b5c6b Merge branch 'main' of srcpub:greg/nixos 2026-03-25 16:40:32 -05:00
greg 9b8f883de5 Merge pull request 'fix: two observability bugs from initial deployment' (#3) from klaatu/nixos:fix/observability-bugs into main
buildbot/nix-eval Build done. (1 warning)
buildbot/nix-build Build done.
buildbot/nix-effects Build done.
Reviewed-on: https://src.thehellings.com/greg/nixos/pulls/3
2026-03-25 21:40:06 +00:00
root 2d874d3969 fix: two observability bugs from initial deployment
buildbot/nix-eval Build done. (1 warning)
buildbot/nix-build Build done.
Fix 1 - UnPoller 404 on UDM Pro:
  Remove :8443 from UP_UNIFI_DEFAULT_URL. UniFi OS devices (UDM Pro,
  UDM, UXG, CloudKey) use a different API path and do NOT use port 8443.
  URL should be https://10.42.1.1 (no port); unpoller handles the
  /proxy/network path internally for UniFi OS devices.

Fix 2 - Grafana dashboards showing invalid datasource:
  Add uid = "prometheus" to the provisioned Prometheus datasource.
  Without an explicit UID, Grafana auto-generates one on first run.
  All dashboard JSON references datasource uid "prometheus" which
  only works if the provisioning explicitly sets that UID.
2026-03-25 12:37:29 -05:00
Greg Hellings 7579b2b7a1 fix: Grafana network port 2026-03-25 12:24:03 -05:00
Greg Hellings 1a578ff032 fix: add grafana file and open Grafana port
buildbot/nix-eval Build done. (1 warning)
buildbot/nix-build Build done.
buildbot/nix-effects Build done.
2026-03-25 11:40:00 -05:00
root 4eebf07f6b fix: scope prometheus exporter firewall rules to home hosts only
buildbot/nix-eval Build done.
Move allowedTCPPorts for node/ping/systemd/blackbox exporters from
hosts/baseline.nix (applies to ALL hosts including linode) into
modules/nixos/home.nix (applies only to greg.home = true hosts).

This prevents ports 9100/9115/9427/9558 from being opened on linode,
which is internet-facing. All LAN hosts set greg.home = true and will
still get the ports opened; linode sets greg.home = false and will not.
2026-03-25 09:46:26 -05:00
root df2f9d69fe fix: address PR feedback + expand infrastructure coverage
buildbot/nix-eval Build done. (1 warning)
- Replace unpoller-credentials plain Secret with ExternalSecret
  pulling from Bitwarden item 15bfc957-5de5-49b2-ab6c-b41800e71564
  via bitwarden-login ClusterSecretStore (username + password)
- Pull UP_UNIFI_DEFAULT_USER from secret as well (was hardcoded)

- Add OpenWRT access point (10.42.0.3) to genesis DNS hosts file
  as ap.thehellings.lan (discovered during network scan)

- Add blackbox exporter to genesis (port 9115, ICMP module)
  for probing non-NixOS infrastructure that has no node_exporter:
  OpenWRT AP, Joel, pve1, chronicles, nas1, odoo, mattermost,
  homeassistant, USW-Pro-HD-24 UniFi switch

- Add infra_ping scrape job to Prometheus using blackbox prober
  targeting all non-NixOS LAN hosts via genesis blackbox exporter
2026-03-25 09:25:16 -05:00
root ab6e1d24fe feat: comprehensive observability stack
- Add restic_backups and mattermost scrape jobs to Prometheus config
- Add UnPoller deployment+service+secret for UniFi metrics (unpoller.yaml)
- Add unifi scrape job targeting unpoller in-cluster
- Add 4 Grafana dashboards as NixOS-managed etc files on hosea:
  - system-health: CPU, memory, disk, network per host
  - backup-health: restic backup freshness and duration
  - kubernetes: pod counts, restart rates, node resources
  - network: DNS queries, DHCP leases, UniFi ports, ping latency
- Add grafana-api-token agenix secret placeholder on hosea
- Open firewall ports 9100/9427/9558 for prometheus exporters in baseline.nix
2026-03-25 09:23:31 -05:00
greg 0050f866bf Merge pull request 'fix: security and monitoring improvements (issues 1-3)' (#1) from klaatu/nixos:fix/security-and-monitoring into main
buildbot/nix-eval Build done. (1 warning)
buildbot/nix-build Build done.
buildbot/nix-effects Build done.
Reviewed-on: https://src.thehellings.com/greg/nixos/pulls/1
2026-03-25 12:09:28 +00:00
Greg Hellings 69ebf78d6c fix: add new agenix file
buildbot/nix-eval Build done. (1 warning)
buildbot/nix-build Build done.
2026-03-25 06:35:20 -05:00
Greg Hellings 0f8d15a41c feat: Enable prowlarr
buildbot/nix-eval Build done. (1 warning)
buildbot/nix-build Build done.
buildbot/nix-effects Build done.
2026-03-25 06:28:27 -05:00
Greg Hellings d5796c19b4 feat: Enable shared registration secret for Dendrite 2026-03-25 06:28:27 -05:00
Greg Hellings 568ff119d9 feat: add backup retention limits for Postgres 2026-03-25 06:28:27 -05:00
Greg Hellings b687b9d229 fix: enable immich database backups 2026-03-25 06:28:27 -05:00
Greg Hellings db261a30ba feat: add tea client to exodus 2026-03-25 06:28:27 -05:00
Greg Hellings d0380f15be fix: prevent scheduling on Zeke hard drives 2026-03-25 06:28:27 -05:00
Greg Hellings bf8f67dce6 chore: make zim updater more awesome 2026-03-25 06:28:27 -05:00
root 7fee882488 fix: security and monitoring improvements
buildbot/nix-eval Build done.
Issue 1 - Grafana secret key:
- Replace hardcoded '123456789' secret_key in hosea Grafana config
  with an agenix-managed secret ($__file interpolation)
- Add age.secrets.grafana-secret-key declaration to hosea config
- Register grafana-secret-key.age in secrets/secrets.nix (publicKeys=everyone)
- NOTE: The .age file still needs to be created by running:
    agenix -e secrets/grafana-secret-key.age
  and entering a strong random secret (e.g. from 'pwgen -s 64 1')

Issue 2 - Prometheus stale targets:
- Remove retired vm-gitlab host from all three scrape jobs
  (node, systemd, ping) in manifests/monitoring/config.yaml
- linode was already present in all scrape jobs

Issue 3 - Prometheus alerting gaps:
- Wire up rule_files in prometheus.yml pointing at alerts.yml
- Add manifests/monitoring/alerts.yaml with alerting rules:
    * HostDown (node unreachable > 2m) - critical
    * HighCPULoad (>90% for 10m) - warning
    * LowDiskSpace (<10% free) - warning
    * CriticalDiskSpace (<5% free) - critical
    * HighMemoryUsage (>90% for 10m) - warning
    * ResticBackupStaleness (no success > 26h) - warning
    * PodCrashLooping - warning
    * PodNotReady (>10m) - warning
- Mount alerts ConfigMap as separate volume subPath in deployment
  so prometheus.yml and alerts.yml are both accessible at
  /etc/prometheus/ without conflicts
2026-03-25 06:02:17 -05:00
Greg Hellings 8e12131608 feat: Add new bookmark
buildbot/nix-eval Build done. (1 warning)
buildbot/nix-build Build done.
buildbot/nix-effects Build done.
2026-03-12 13:38:41 -05:00
Greg Hellings defbb5bb5b fix: new version of macOS, new naming convention 2026-03-12 13:38:29 -05:00
Greg Hellings fcfaa50e29 fix: make pypidev URL consistent 2026-03-12 13:38:12 -05:00
Greg Hellings e21ed89cfe fix: use upstream kiwix-server
buildbot/nix-eval Build done. (1 warning)
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.pkg-zim Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-icdm-root Build done.
buildbot/nix-build Build done.
2026-03-10 16:52:27 -05:00
Greg Hellings 01ce9d74da chore: update flake lock
buildbot/nix-eval Build done.
buildbot/nix-build Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux Build done.
buildbot/nix-build gitea:greg/nixos#checks.aarch64-darwin Build done.
buildbot/nix-build gitea:greg/nixos#checks.aarch64-linux Build done.
2026-03-10 08:46:10 -05:00
Greg Hellings 993912f2e3 chore: update longhorn version 2026-03-09 17:33:36 -05:00
Greg Hellings 3bf7e669ee chore: add mattermost-desktop to exodus 2026-03-09 13:35:23 -05:00
Greg Hellings 82b33551b0 feat: add restic-browser to Exodus 2026-03-05 21:38:28 -06:00
Greg Hellings e2e39a98eb chore: update gitea version
buildbot/nix-eval Build done. (2 warnings)
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-linode Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-zeke Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.pkg-zim Build done.
buildbot/nix-build Build done.
2026-03-05 20:12:02 -06:00
Greg Hellings 1bba9cee70 Fix hash values in kubernetes 2026-03-05 09:08:01 -06:00
Greg Hellings c799dfc24f chore: update flake lock
buildbot/nix-eval Build started.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-linode Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-isaiah Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-zeke Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-jeremiah Build done.
2026-03-05 08:26:58 -06:00
Greg Hellings 2d487e1e8f chore: remove commented line
buildbot/nix-eval Build done. (1 warning)
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-linode Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-zeke Build done.
buildbot/nix-build Build done.
2026-03-04 10:53:12 -06:00
Greg Hellings b1bfb337d6 chore: reduce eval workers on Jeremiah to reduce OOM 2026-03-04 10:53:12 -06:00
Greg Hellings d7c6f23280 chore: radarr installed 2026-03-04 10:53:12 -06:00
Greg Hellings 46138b90c2 chore: enable transmission on hosea 2026-03-04 10:53:12 -06:00
Greg Hellings 26c33dd7c0 Setup helm chart dependencies to improve the running next time
buildbot/nix-eval Build started.
2026-02-23 15:13:55 -06:00
Greg Hellings efc0bf09c2 chore: update helm chart setting
buildbot/nix-eval Build done. (1 warning)
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-zeke Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.pkg-upgrade-pg-cluster Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-linode Build done.
buildbot/nix-build Build done.
2026-02-19 23:48:31 -06:00
Greg Hellings 426a85e357 chore: remove GUI/steam from jeremiah 2026-02-19 19:56:15 -06:00
Greg Hellings e514982fb6 chore: remove proxmox from jeremiah 2026-02-19 19:55:13 -06:00
Greg Hellings c563b57974 opt: remove dead code 2026-02-19 19:50:28 -06:00
Greg Hellings 61d4f4872e chore: silence deprecation warning 2026-02-19 19:49:49 -06:00
Greg Hellings bbbab22df8 chore: update pins
buildbot/nix-eval Build done. (89 warnings)
2026-02-19 17:21:05 -06:00
Greg Hellings c6b973738b fix: paths to secrets files because of new folder structure
buildbot/nix-eval Build done.
2026-02-19 08:06:54 -06:00
Greg Hellings 504bfcdd8f feat: pull from nas1 directly if not connected
buildbot/nix-eval Build done.
2026-02-18 12:38:56 -06:00
Greg Hellings 060acfd41f feat: add x86 and aarch builders 2026-02-18 12:38:19 -06:00
Greg Hellings e6623250e3 fix: zeditor setting deprecation 2026-02-18 11:17:46 -06:00
Greg Hellings 1e3117cd30 fix: wsl builds updated to latest
buildbot/nix-eval Build done.
2026-02-17 17:04:11 -06:00
Greg Hellings e2181f124a chore: dynamic hosts, builder targets
buildbot/nix-eval Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-exodus Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-isaiah Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-linode Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-zeke Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-jeremiah Build done.
buildbot/nix-build gitea:greg/nixos#checks.aarch64-linux.nixos-nixos Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-gitlab Build done.
buildbot/nix-build Build done.
Make hosts read from directories, to limit manual changes
Rename vm-gitlab -> gitlab
A few reformatting and lint changes due to altered files
Create builder targets for Darwin builders
2026-02-17 16:11:29 -06:00
Greg Hellings 5cd5a3000f fix: update nixfmt package
buildbot/nix-eval Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-linode Build done.
buildbot/nix-build Build done.
2026-02-11 10:12:11 -06:00