NixOS Bento: now able to compare local and remote NixOS version

Comment on Mastodon

Bento

Project update: the report is now able to compare if the remote server is using the NixOS version we built locally. This is possible as NixOS builds are reproducible, I get the same result on the server and the remote system.

The tool is getting in a better shape, the code received extra checks in a lot of place.

A bit later (blog post update), I added the possibility to trigger the update from the user.

Bento git project repository

Listening to socket

With systemd it's possible to trigger a command upon connecting on a socket, I made bento systemd service to listen on port TCP/51337, a connection would start the service "bento-update.service", and display the output to the TCP client.

This totally works in the web browser, it's now possible to create a bookmark that just starts the update and give instant feedback about the update process. This will be particularly useful in case of a debug phone session to ask the remote person to trigger an update on their side instead of waiting for a timer.

Status display demo

It is now possible to differenciate the "not up to date" state into two categories:

The "sync pending" is very fast, it only need to copy the files, but won't rebuild anything.

Proxied content from gemini://perso.pw/blog/articles/managing-a-fleet-of-nixos-part5.gmi (external content)

Gemini request details:

Original URL
gemini://perso.pw/blog/articles/managing-a-fleet-of-nixos-part5.gmi
Status code
Success
Meta
text/gemini
Proxied by
kineto

Be advised that no attempt was made to verify the remote SSL certificate.