| 22 Jun 2023 |
@palo:xaos.space | In reply to @palo:xaos.space
All machines have a very similar base setup, and updates should be pulled from the cache, to avoid uploading 50 times the same closures from my office to the data center. (I answered before you asked :D) | 08:20:52 |
@palo:xaos.space | The only solution I found so far is, a cache server that also creates the builds. | 08:21:33 |
@palo:xaos.space | (and use the buildOnTarget option) | 08:21:59 |
@palo:xaos.space | Or I push always all closures on a differnt build server. | 08:23:37 |
@palo:xaos.space | Hmm that is good enough for me. | 08:23:50 |
@palo:xaos.space | Thanks for your input @wa | 08:23:56 |
@palo:xaos.space | * Thanks for your input @[Wanja Hentze] | 08:24:12 |
| 23 Jun 2023 |
bl1nk | Redacted or Malformed Event | 07:47:54 |
bl1nk | Alright, next try to get this formatted correctly...
I recently updated to colmena 0.4.0 and cannot deploy from my Mac anymore:
~/.co/nixpkgs main ▷ nix develop -c colmena apply --on elara
[INFO ] Using flake: git+file:///Users/markuscisler/.config/nixpkgs
[INFO ] Enumerating nodes...
error:
… while calling the 'attrNames' builtin
at «string»:1:209:
1| with builtins; let assets = getFlake "path:/tmp/nix-shell.9futSw/colmena-assets-0CsIT0?lastModified=1687506045&narHash=sha256-6Mfqk77CvYUqLBAWSiOuxaeT%2Bi2EF06vZHsFgILLuFU%3D"; hive = assets.processFlake; in attrNames hive.nodes
| ^
… while evaluating the attribute 'nodes'
at /nix/store/vfamvq9dh5qiz0b3f6pbkkf77kqkmpr8-source/eval.nix:186:3:
185|
186| nodes = listToAttrs (map (name: { inherit name; value = evalNode name (configsFor name); }) nodeNames);
| ^
187| toplevel = lib.mapAttrs (_: v: v.config.system.build.toplevel) nodes;
(stack trace truncated; use '--show-trace' to show the full trace)
error: attribute 'currentSystem' missing
at /nix/store/b90clwdlidf3s95m73jsby3ikfa56h91-source/pkgs/top-level/impure.nix:17:43:
16| # (build, in GNU Autotools parlance) platform.
17| localSystem ? { system = args.system or builtins.currentSystem; }
| ^
18|
[ERROR] -----
[ERROR] Operation failed with error: Child process exited with error code: 1
Hint: Backtrace available - Use `RUST_BACKTRACE=1` environment variable to display a backtrace
The relevant parts from my flake.nix are:
colmena = {
meta = {
specialArgs = { inherit inputs; };
nixpkgs = import inputs.nixpkgs-stable { };
nodeNixpkgs = {
kerala = import inputs.nixpkgs-2305 { };
};
};
defaults = import ./nixos/remote-defaults;
elara = { name, nodes, ... }: {
deployment = {
buildOnTarget = true;
#targetHost = "192.168.10.2";
targetHost = "100.66.68.66";
};
nixpkgs.system = "x86_64-linux";
imports = [ ./machines/elara.nix ];
};
};
Any hints on what is going on here?
| 07:51:59 |
Zhaofeng Li | Change nixpkgs = import inputs.nixpkgs-stable { }; to nixpkgs = import inputs.nixpkgs-stable { system = "x86_64-linux"; }; and similarly for nodeNixpkgs.kerala below | 07:55:26 |
Zhaofeng Li | The reason is that with Colmena 0.4.0, flake evaluation is now actually pure so things like builtins.currentSystem aren't available anymore | 07:56:06 |
bl1nk | Can I still override the system for aarch64 machines using nixpkgs.system in the node block? | 07:56:35 |
Zhaofeng Li | Yes, that'll still work | 07:56:51 |
bl1nk | Thanks! | 07:59:50 |
bl1nk | (For the record: that solved my problem) | 08:03:47 |
| bl1nk changed their profile picture. | 21:49:19 |
| 26 Jun 2023 |
| Janik (they/them) changed their profile picture. | 21:38:10 |
| 27 Jun 2023 |
| Matan (ixxie) joined the room. | 11:55:44 |
Matan (ixxie) | Hello folks; I just heard about Colmena today over at #nixops:nixos.org. I'm currently trying to evaluate whether its the right fit for my usecase (deploying a small number of VPS servers with the hopes of eventually scaling up).
What was the motivation of Colmena? I see its stateless, like Morph, which is a big plus for me. But what advantages does it have over Morph and NixOps?
| 11:57:59 |
Matan (ixxie) | * Hello folks!
I just heard about Colmena today over at #nixops:nixos.org. I'm currently trying to evaluate whether its the right fit for my usecase (deploying a small number of VPS servers with the hopes of eventually scaling up).
What was the motivation of Colmena? I see its stateless, like Morph, which is a big plus for me. But what advantages does it have over Morph and NixOps?
| 11:58:07 |
@linus:schreibt.jetzt | fancy clock animations! | 11:58:57 |
@linus:schreibt.jetzt | Also parallel deployment, I think morph does things sequentially | 11:59:09 |
Wanja Hentze | for us, streaming evaluation | 12:07:13 |
Wanja Hentze | morph (and iirc deplo-rs too) has no such feature so evaluation is entirely single-threaded | 12:07:38 |
Wanja Hentze | evaluating the entire deployment takes many minutes then | 12:07:48 |
Matan (ixxie) | Thanks Linux Hackerman and Wanja Hentze | 12:30:09 |
Matan (ixxie) | It seems flake support is better also, or at least better documented | 12:30:22 |
Wanja Hentze | I wouldn't know 😎 | 12:57:29 |
| @hanleym:matrix.org joined the room. | 15:58:06 |