Colmena | 324 Members | |
| A simple, stateless NixOS deployment tool - https://github.com/zhaofengli/colmena | 111 Servers |
| Sender | Message | Time |
|---|---|---|
| 8 Aug 2022 | ||
| You could put a NixOS test in system.extraDependencies (or similar, can't remember if that was the exact name of the option) so that the system won't build if the test doesn't pass, but yeah, it won't get you automatic rollback of changes that break your access | 06:03:18 | |
| There's nothing in colmena that would really support building this though | 06:19:32 | |
| I suppose you could hack something together with post-activation key upload | 06:19:50 | |
| Also keep in mind that you'd have to break ControlPersist on the client somehow, if you do that (delete the socket?) | 06:24:57 | |
| (break = sever the connection, poor choice of wording maybe?) | 06:25:11 | |
| * Also keep in mind that you'd have to break ControlPersist on the client somehow, if you use that (delete the socket?) | 06:25:15 | |
| Can I also run the evaluation of my configuration on a separate host? Currently working around multiple issues where I can't update the configuration of my x86_64 Linux host, because I am running on a M1 Mac. I was able to work around the issue of
by running a Linux (micro-)VM. Unfortunately evaluation still fails because of my architecture:
| 13:09:13 | |
| Zhaofeng Li: I find this resumes well the impetus of a swappable evaluator. We have to introduce the two thought categories of vartical software feameworks and horizontal ones. True congruent configurations (even: hypercongruent) need both interfaces:
| 17:09:10 | |
| * Zhaofeng Li: I find this resumes well the impetus of a swappable evaluator. We have to introduce the two thought categories of _vartical_ software feameworks and _horizontal_ ones. True _congruent configurations_ (even: _hypercongruent_) need both interfaces. I'm copying my agrument from a private discussion: > `styx` has the same problem as `colmena` , `deploy-rs`, et al. > It evolved into a _vertical_ (tool centric) framework that is a bit hard to marry with a _horizontal_ (integration centric) one like `std`. > I understood this abstract pattern with colemna and came up with a solution that involves for such tooling to have a pluggable evaluator interface to accomodate integration-centric evalutors, while still mostly preserving the look & feel (and branding/docs) of the native tooling. | 17:09:50 | |
| To put it with physics, we need to iprove the bond-energy of otherwise linux-philosophy tool-atoms. On the command line, the bond is very clear, usually it's But that simplicity doesn't apply for a | 17:15:22 | |
| * To put it with a chemistry analogy to assent the argument: we need to iprove the bond-energy of otherwise linux-philosophy tool-atoms. On the command line, the bond is very clear, usually it's `|`. But that simplicity doesn't apply for a `nix` fabric. | 17:15:56 | |
| * To put it with a chemistry analogy to assent the argument: we need to improve the bond-energy of otherwise linux-philosophy tool-atoms. On the command line, the bond is very clear, usually it's `|`. But that simplicity doesn't apply for a `nix` fabric. | 17:16:16 | |
| * To put it with a chemistry analogy to assent the argument: we need to improve the bond-energy of otherwise linux-philosophy tool-atoms. On the command line, the bond is very clear, usually it's `|`. But that simplicity doesn't apply for a repository-spanning (i.e. world-spanning) `nix` fabric. | 17:16:52 | |
| 10 Aug 2022 | ||
| 09:54:50 | ||
In reply to @blaggacao:matrix.org very true, as someone who has 20+ years of itops this still feels mostly unresolved and often unthought of. I'm curious if you can provide more details to the solution you found? | 21:14:41 | |
| Well, The receptor interface is established in There are two solutions:
Since For something like | 21:21:43 | |
| From the bundler docs:
| 23:50:31 | |
| 11 Aug 2022 | ||
man nix3-bundle | 08:24:47 | |
| *
and https://github.com/NixOS/bundlers | 08:25:57 | |
| *
and https://github.com/NixOS/bundlers I had missed this | 08:31:04 | |
| 13 Aug 2022 | ||
| 12:01:57 | ||
| 14:26:22 | ||
o/ I'm a bit confused as to where do I start, given colmena requires a host that's already running nixos (unless I missed anything?) can I just nix-build some base image for a vm myself then? do I need to be somehow specific about it? | 14:28:16 | |
| actually looking at what it did to a test system it seems that it pretty much wiped everything kubevirt builder did and got the “new” nixos rolling. Am I correct to assume that the base system is effectively lost configuration wise so it doesn’t really matter what I boot into? | 15:33:26 | |
| 17:08:05 | ||
| Yeah, that's typically how nixos deploys work, the base system is mostly lost. | 17:24:00 | |
| gotcha, thanks for clarifying | 17:27:47 | |
| I think the old channel configs hang around, so you can end up with some very old environments when using nix-env or nix-shell on those hosts. Not sure if there is a better way to control that. | 18:12:35 | |
| efficiency wise that means I can’t quite build a base image and finish the configuration with colmena because that will effectively overwrite everything and negate any benefits of deploying from a snapshot, right? | 18:24:44 | |
| If the base and the colmena config are built off of different versions of nixpkgs, then yes, you'd be uploading mostly new /nix/store contents | 18:25:59 | |