| 6 Apr 2022 |
CRTified | Exactly | 00:00:53 |
@jhillyerd:matrix.org | I guess that leaves the other half of my question, applying the same config to two different machines... I suppose I could just use nixos-rebuild with the flake and --target-host pointing at my test vm? | 00:02:52 |
CRTified | Something like this in your flake should give you the VMs as a nix build .#vm-hostname target:
packages = with nixpkgs.lib;
mapAttrs' (host: sys: {
name = "vm-${host}";
value = sys.config.system.build.vm;
}) self.nixosConfigurations;
| 00:03:19 |
CRTified | I'm doing something similar, by cross-compiling SD-Images for my aarch64 hosts | 00:03:39 |
CRTified | (But there I'm filtering to check whether the sdImage build output exists) | 00:04:55 |
@jhillyerd:matrix.org | Oh nice. That would leave me with a script similar to nixos-rebuild build-vm ? | 00:11:38 |
CRTified | exactly | 00:11:43 |
CRTified | Note that you don't need these packages - you can access that attribute directly like this: nix build .\#nixosConfigurations.<hostname>.config.system.build.vm | 00:14:17 |
CRTified | Result looks like this:
$ find result/
result/
result/system
result/bin
result/bin/run-cottonbox-vm
| 00:15:03 |
CRTified | (and the run-cottonbox-vm script spawns the qemu instance) | 00:15:33 |
@jhillyerd:matrix.org | Cool. So it sounds like step 1 for me is to move my existing nixops into a flake, get the test vm running, then I can look at mapping the flake into colmena. | 00:22:51 |
CRTified | Yes, that's a plan | 00:23:55 |
CRTified | jhillyerd: although I'm heading to bed now, feel free to ping me. I did exactly the same migration from nixops to colmena+flakes | 00:40:19 |
| @blaggacao:matrix.org joined the room. | 05:00:56 |
| 7 Apr 2022 |
| Mark joined the room. | 08:17:39 |
| 8 Apr 2022 |
CRTified | Sooo, building on the VM question: Did someone happen to stumble across a method of testing the whole deployment at once in VMs? Otherwise, I'll see whether I can build on the config.system.build.vm derivation and create a script that runs them in the same network | 15:13:14 |
Zhaofeng Li | Not a real answer, but maybe you can take a look at the e2e tests that I have: https://github.com/zhaofengli/colmena/tree/main/integration-tests/apply | 18:10:53 |
Zhaofeng Li | But yeah, I kind of want a nice setup to do something like that as well | 18:11:15 |
CRTified | In reply to @zhaofeng:zhaofeng.li But yeah, I kind of want a nice setup to do something like that as well I think it would generally be nice to have some place to collect useful snippets like the one I've posted in https://github.com/zhaofengli/colmena/issues/60 | 23:11:56 |
| 10 Apr 2022 |
@jhillyerd:matrix.org | I finished porting my old nixops config to a standard (not colmena) flake. Next I need to figure out secrets, as the janky system I was using previously doesn't work with flakes. Does the colmena secret deployment system work with the pure build environment of flakes? | 00:23:40 |
CRTified | If you use the config.system.build.vm-path for the flakes, then there is no implementation for "uploading" the keys. I did not look into doing that myself, but might need to do soon | 00:30:33 |
CRTified | * If you use e.g. the config.system.build.vm-path for the flakes, then there is no implementation for "uploading" the keys. I did not look into doing that myself, but might need to do soon | 00:30:44 |
CRTified | So keys are only uploaded if you're using colmena, but not with the built flakes | 00:31:00 |
@blaggacao:matrix.org | https://github.com/zhaofengli/colmena/pull/73 i wanted to quickly ping, to see if this is mergeable stuff. I think it's a neat ides to spin this further so that projecta can declare their local evaluator (which is great for lowering the magic) while still using upstream options and modules. | 00:37:14 |
@blaggacao:matrix.org | I think the next improvement to this PR would be to make the evaluator configurable, so that it doesn't need to be patched into the binary. | 00:38:12 |
@blaggacao:matrix.org | That way people can modify the colmena interface at will and make it work for their code / project structure. | 00:38:52 |
@blaggacao:matrix.org | Instead of doing complicated transforms to match the expected interface. | 00:39:24 |
@jhillyerd:matrix.org | In reply to @schnecfk:ruhr-uni-bochum.de So keys are only uploaded if you're using colmena, but not with the built flakes Thanks. I guess none of my services would start for local testing, so that's not really an option. 😕 I think I'll try agenix, that seems reasonable for homelab. | 00:40:59 |
@blaggacao:matrix.org | * https://github.com/zhaofengli/colmena/pull/73 i wanted to quickly ping, to see if this is mergeable stuff. I think it's a neat idea to spin this further so that projecta can declare their local evaluator (which is great for lowering the magic) while still using upstream options and modules. | 00:41:00 |
@jhillyerd:matrix.org | Then again, I guess the host key would change for each VM... so maybe not. | 00:41:27 |