root 7fee882488
buildbot/nix-eval Build done.
fix: security and monitoring improvements
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
2025-11-23 01:11:13 -06:00
2026-02-18 12:38:19 -06:00
2026-03-12 13:38:41 -05:00
2025-12-22 15:27:36 -06:00
2025-12-22 15:27:36 -06:00
2025-12-17 23:28:53 -06:00
2023-03-18 06:19:56 +00:00
2025-12-08 05:53:17 -06:00
2025-11-25 23:57:30 -06:00
2025-12-26 23:29:28 -06:00
2025-12-28 22:00:05 -06:00
2026-03-10 08:46:10 -05:00
2026-03-04 10:53:12 -06:00
2025-12-18 09:50:43 -06:00

This is a unified repo to contain my personal configurations for NixOS machines.

How To Use This

Go through the normal process to setup a NixOS system during installation.

  1. Boot from an appropriate medium
  2. Parition the drives
  3. Mount them
  4. Before you generate out the configuration, clone this repoistory to your /etc/nixos folder
  5. Run the configuration generator. It should only genreate the hardware-configuration.nix file, which this repo gitignores
  6. Create a folder and file with the machine name in hosts/<machine>/default.nix
  7. Add hosts/default.nix an appropriate entry for the machine you are building
  8. Create a file home/hosts/<machine>/default.nix with the new machine name as well

Adding new hosts

To add a new host, create a folder in the directory hosts/ that matches the name of the target system. Each host must contain, minimally, a default.nix file that serves as the basis of configuring that host.

Test build a VM for your system

  • nom build ".#nixosConfigurations.<host>.config.system.build.vm
  • export QEMU_NET_OPTS="hostfwd=tcp::2221-:22" to export the SSH port
  • ./result/bin/run-<host>-vm
S
Description
No description provided
Readme
30 MiB
Languages
Nix 87.9%
Go 3.9%
Vim Script 2.7%
Xonsh 1.8%
Lua 1.5%
Other 2.2%