πŸ’Ύ Archived View for perso.pw β€Ί blog β€Ί articles β€Ί managing-a-fleet-of-nixos-part4.gmi captured on 2024-02-05 at 09:53:07. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-05-24)

-=-=-=-=-=-=-

NixOS Bento: new reporting feature

Comment on Mastodon

Bento

Bento received a new feature, it is now able to report if the remote hosts are up-to-date, how much time passed since their last update, and if they are not up-to-date, how long passed since the configuration change.

Bento git project repository

As Bento is using SFTP, it's possible to deposit information on the central server, I'm currently using log files from the builds, and compare this date to the date of the configuration.

This will be very useful to track deployments across the fleet. I plan to also check the version expected for a host and make them report their version after an update, this should possible for flakes system at least.

Asciinema demonstration (was done during development, doesn't contain report features)

Demonstration

I pushed a new version affecting all hosts on the SFTP server, and run the status report regularly.

This is the output 15 seconds after making the changes available.

status of kikimora  not up to date 🚩 (last_update 15m 6s ago) (since config change 15s ago)
status of      nas  not up to date 🚩 (last_update 12m  ago) (since config change 15s ago)
status of     t470  not up to date 🚩 (last_update 16m 9s ago) (since config change 15s ago)
status of       x1  not up to date 🚩 (last_update 16m 24s ago) (since config change 14s ago)

This is the output after two systems picked up the changes and reported a success.

status of kikimora  not up to date 🚩 (last_rebuild 16m 46s ago) (since config change 1m 55s ago)
status of      nas      up to date πŸ’š (last_rebuild 8s ago)
status of     t470  not up to date 🚩 (last_rebuild 17m 49s ago) (since config change 1m 55s ago)
status of       x1      up to date πŸ’š (last_rebuild 4s ago)

This is the output after all systems reported a success.

status of kikimora  up to date πŸ’š (last_rebuild 0s ago)
status of      nas  up to date πŸ’š (last_rebuild 1m 24s ago)
status of     t470  up to date πŸ’š (last_rebuild 1m 2s ago)
status of       x1  up to date πŸ’š (last_rebuild 1m 20s ago)