Colmena | 301 Members | |
| A simple, stateless NixOS deployment tool - https://github.com/zhaofengli/colmena | 104 Servers |
| Sender | Message | Time |
|---|---|---|
| 8 Jan 2022 | ||
* one possible way to pull off custom SSH options is for eval.nix to basically compile an SSH config file, and pass it up to colmena. one side benefit to this would be that the username and port configurations wouldn't even need to touch the rust code at that point, they could just be yet more options in the config file. one downside of that solution though is that, as far as i know, SSH can only handle one config file, so that would kill the usefullness of $SSH_CONFIG_FILE. although there's an argument to be made at that point whether that variable is needed, if the builtin ssh config stuff is complete enough | 02:28:17 | |
* one possible way to pull off custom SSH options is for eval.nix to basically compile an SSH config file, and pass it up to colmena. one side benefit to this would be that the username and port configurations wouldn't even need to touch the rust code at that point, they could just be yet more options in the config file. one downside of that solution though is that, as far as i know, SSH can only handle one config file, so that would kill $SSH_CONFIG_FILE. although there's an argument to be made at that point whether that variable is needed, if the builtin ssh config stuff is complete enough | 02:28:46 | |
* one possible way to pull off custom SSH options is for eval.nix to basically compile an SSH config file, and pass it up to colmena. one side benefit to this would be that the username and port configurations wouldn't even need to touch the rust code at that point, they could just be yet more options in the config file. one downside of that solution though is that, as far as i know, SSH can only handle one config file, so that would kill $SSH_CONFIG_FILE. although there's an argument to be made whether that variable is needed anymore, if the builtin ssh config stuff is complete enough | 02:29:06 | |
| thought experiment, what if basically all of the connection settings got merged into SSH options. get rid of
which would then compile this following ssh config file for colmena to just blindly pass to
| 02:37:43 | |
| the old settings could link to the new settings with like aliases or something, and then presto, it simplifies the code, and unlocks every setting available in SSH 🤔 | 02:38:52 | |
Good idea! We can add aliases, and the whole config will be generated as a string by eval.nix | 02:45:12 | |
| [zhaofengli/colmena] Repo forked into buckley310/colmena | 16:36:39 | |
| 9 Jan 2022 | ||
| 18:49:53 | ||
Hey there, is there currently an option to pass --max-jobs 0 to the nix build command or to achive something similar (e.g. don't build anything on the machine running colmena, only on the remote builders)? | 18:52:40 | |
| No, there isn't one at the moment, and a --max-jobs parameter that gets passed to all Nix commands doesn't fit well with Colmena's own job abstraction (it launches one nix-build for each node). | 18:59:26 | |
| Though if you don't rely on the "distributed" part of the native distributed build feature in Nix, there is a way for Colmena to initiate builds on the target nodes themselves (deployment.buildOnTarget, only available on the unstable branch at the moment) | 19:01:42 | |
| 13 Jan 2022 | ||
| 23:03:14 | ||
| 14 Jan 2022 | ||
| 10:08:49 | ||
| hello Zhaofeng Li thank you for developing your software. I got a question but i didnt really look into all of the feature already available is colmena able to do a multi profile deployment ? much like what deploy-rs do ? | 10:10:32 | |
| 10:22:38 | ||
In reply to @putch4r:matrix.orgHi, Colmena follows the semantics of NixOps and morph so it cannot do multi-profile deployment at the moment. | 18:27:24 | |
| 22:18:23 | ||
In reply to @buckley310:matrix.orgI came here looking for advice on achieving exactly this, so thanks! | 22:20:45 | |
| FWIW, I have not fully looked into the performance implications of doing it this way. Some quick testing indicated that there may be a slight penalty for doing it that way, since its sort of building the systems twice. | 22:29:08 | |
| my (non-scientific) test indicated that doing it this way takes 36 seconds to build, whereas doing it the "normal' colmena way takes 32 seconds | 22:30:09 | |
| small enough that I called it "good enough" and didnt really test further | 22:30:42 | |
The main problem with this is that you cannot take advantage of the name and nodes module arguments without breaking nixosConfigurations | 22:31:09 | |
there is that. although you can overlay nixosConfigurations and then you can call pkgs.nixosConfigurations.<node>.config.whatever | 22:32:46 | |
* there is that. although you can overlay nixosConfigurations and then you can call pkgs.nixosConfigurations.<node>.config.whatever from machine configs | 22:33:00 | |
| I'm just too used to being able to poke around my configs with a repl to give it up :) | 22:34:32 | |
In reply to @zhaofeng:zhaofeng.liMy setup is relatively simple so this is not an issue for me. | 22:34:49 | |
| I am trying out flake-utils-plus, but was struggling to workout how to integrate that with Colmena. | 22:39:51 | |
I was initially using deploy-rs, in which case it's dead simple. But it doesn't support buildOnTarget like Colmena. | 22:42:00 | |
| What we’re you trying to actually do with utils? | 23:05:20 | |
| 15 Jan 2022 | ||
I'm trying out using mkFlake from FUP to define my set of hosts. I'm taking advantage of hostDefaults, sharedOverlays in generating my system configurations. So I was trying to work out a clean way to use the output of mkFlake in colmena (or nixops or morph). | 00:05:45 | |