3 ms·
On NixOS we get one new grub menu entry per “deployment”, be it when you deploy to another host or the local one. They both then get a new grub entry. Of course
by ibizaman 1y ago
On NixOS we get one new grub menu entry per “deployment”, be it when you deploy to another host or the local one. They both then get a new grub entry. Of course you can still shoot yourself in the foot by making your system inaccessible remotely, by screwing up ssh config for example. There’s also a solution for that called deploy-rs which has a magic rollback feature which rolls back the system if it can’t connect back to the computer initiating the deployment https://github.com/serokell/deploy-rs?tab=readme-ov-file#magic-rollback https://github.com/serokell/deploy-rs?tab=readme-ov-file#mag...
I’m using these features since multiple years now and can vouch for them.
Not exactly related to your initial question but I also have my system build in CI and do some playwright tests which become more and more comprehensive as time passes. This all gives me quite a lot of confidence I’ll find an issue early or be able to revert back.
- oarmstrong 1y agoCould you tell me more about the playwright tests? From what I can see it's a web testing framework, I don't see how that fits in here.
- ibizaman 1y agoAh you’re right. I should’ve been more clear. I’m deploying on my server and it self hosts 10 or so services. Like Nextcloud and Vaultwarden. The playwright tests are to test those. It’s pretty basic like just checking I can create a user and still login. But it still caught a few regressions. And they’re still WIP. I’m getting close to being able to validate the LLDAP + Authelia config works too. It’s particularly useful in conjunction with automatically running flake update in CI. So all inputs get updated on a schedule and the tests give some level of guarantee that my server won’t break. It’s essentially QA tests automated. This link shows what the playwright tests look like. They are parametrized on the service to test so I’m sure I’m testing the same functionality every time. https://github.com/ibizaman/selfhostblocks/blob/c2148eda7704bdb6aa097df05ec5aac0d2285b2b/test/common.nix#L199 https://github.com/ibizaman/selfhostblocks/blob/c2148eda7704...
- oarmstrong 1y agoAh got it, thanks. I thought you were testing the image somehow, a bit like inspec. Still cool though, nice.