(no title)
z_zetetic_z | 1 year ago
You build script becomes:
while true; do
git pull
nixos-rebuild switch
sleep x
done
That's it. You can even do it remotely and push the new desired state to remote machines (and still build on the target machine, no cross compile required).I've completely removed Ansible as a result and no more python version mismatches, no more hunting endless task yaml syntax, no more "my god ansible is slow" deplyments.
chasil|1 year ago
z_zetetic_z|1 year ago
snippy|1 year ago
z_zetetic_z|1 year ago
But if you could have the server into 'lame duck mode' (no new connections accepted, but existing ones can finish) / gracefull shutdown and that's a blocking call (or you could poll if it's still up etc), then you could script that before the 'nixos-rebuild switch' call. Maybe sending SIGINT to the service does that already?
Macha|1 year ago
z_zetetic_z|1 year ago
There's also https://github.com/zhaofengli/colmena which may be of interest to folks.