Looking for a mass-management system (NixOps alike)

Hello there!

I am in the process of migrating all the 20ish Raspberry Pis that my company manages to utilize Narrowlink in order to be able to access them all quickly and to simplify updating. Like today, I have had to switch between VPNs one at a time to independently update the respective Pis - which is annoying, and takes forever, since they are 3B+ models with a mounted swapfile.

The scenario is this: We provide our own additional options and packages to deploy a stack for monitoring purposes. So, the Pis are almost all identically configured; bar the monitoring and networking settings. Hence, there is a “shared” config containing the fetchGitHub directive as well as language, keyboard and alike settings. Then there are unique configurations pertaining to network configurations and option selection for the various monitoring endpoints.

Once I have Narrowlink setup and working (I will have to write my own service as there is currently no direct nixpkgs mapping for that) I can access the hosts directly via ssh, without having to faff around with VPN configs.

I heared about krops and bento; but I wanted to ask the more experienced Nix-Users here if they know if there is a tool that suits this use case best.

In shortnotes:

  • One part of the config is shared (reference to the git repo, basic settings like SSH keys et cetera)
  • The other is “specific” or “specialized” per host; mainly network settings and options for which monitoring features our stack should provide.
  • All hosts will be accessible with unique hostnames through SSH via Narrowlink.

Any recommendations?

Thank you and kind regards!

Some previous discussions on what is variously called “deployment tools”, “remote management tools”, “NixOps-like tools”, “multi-profile tools”…

1 Like