Managing /etc configuration in my homelab
On the UNIX systems I manage as pets, not cattle I have a habit of using
git init in /etc, checking in all files I want there, and adding to
.gitignore transient files like those the obnoxious systemd insists on
littering instead of placing in /var. I then have a check in Zabbix warning
me of any uncommitted changes on the system. This makes experimenting very
easy, has an audit trail of changes and generally makes life easier as a
sysadmin.
Reviewing changes manually by ssh-ing into each system and issuing git commands gets old really fast, and I finally decided to do something about it, by having Claude vibe-code me a web UI to manage all the changes in a single pane of glass:
(the machines in red are laptops or servers that are only intermittently powered on)
There are systems like Ubuntu’s etc-keeper or conf-keep but they autocommit, I want every change to be intentionally reviewed by a human, i.e. myself.
It’s available in GitHub: https://github.com/fazalmajid/etc-reviewer