!UKDpaKNNsBpOPfLWfX:zhaofeng.li

Colmena

317 Members
A simple, stateless NixOS deployment tool - https://github.com/zhaofengli/colmena107 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
20 Sep 2022
@brokenwifi:matrix.orgbrokenwifi

I'm trying to not have to pass these into every single host.

        defaults = {
          imports = [
            inputs.agenix.nixosModules.age
            inputs.home-manager.nixosModules.home-manager
          ];
        };

I tried to add them to defaults and that works when deploying single host but if a deploy involves multiple ones then there is some kind of double inclusion error along the lines of:

error: The option `age.identityPaths' in `/tmp/.tmpPxgQXZ' is already declared in `/tmp/.tmpPxgQXZ'.

is there a more elegant way to avoid having to do reference these per-host?

19:58:08
@zhaofeng:zhaofeng.liZhaofeng LiHmm, maybe you also included the module in some hosts' configs?20:01:45
@brokenwifi:matrix.orgbrokenwifi err, yes. Thank you. I thought because I did an --on @homelab parameter it would ignore the hosts that don't match. that was sloppy thinking. 20:49:02
@zhaofeng:zhaofeng.liZhaofeng Li Yeah, when matching against tags, currently Colmena will evaluate the deployment.tags for all nodes so that triggered the error 20:58:58
21 Sep 2022
@winterqt:nixos.devWinter (she/her)
In reply to @zhaofeng:zhaofeng.li

A couple updates:

  • More work was done on separating the evaluation logic from the deployment logic, with the new colmenaHive output being the integration point that ties the two halves together. Colmena can now deploy from the colmenaHive output which should be an already-evaluated hive generated by colmena.lib.makeHive (or your own logic!). Example here. cc David Arnold (blaggacao) Yureka (she/her)
  • Flake-enabled deployments now use nix copy and the new SSH store protocol (ssh-ng://) for copying closures to remote hosts.

Flake-enabled deployments now use nix copy and the new SSH store protocol (ssh-ng://) for copying closures to remote hosts.

Looks like this breaks buildOnTarget.

00:50:59
@zhaofeng:zhaofeng.liZhaofeng Li
In reply to @winterqt:nixos.dev

Flake-enabled deployments now use nix copy and the new SSH store protocol (ssh-ng://) for copying closures to remote hosts.

Looks like this breaks buildOnTarget.

Oops, let me look at it and fix when I get home
03:58:37
@zhaofeng:zhaofeng.liZhaofeng Li(also need to add better integration tests for flakes)03:59:04
@zhaofeng:zhaofeng.liZhaofeng Li
In reply to @winterqt:nixos.dev

Flake-enabled deployments now use nix copy and the new SSH store protocol (ssh-ng://) for copying closures to remote hosts.

Looks like this breaks buildOnTarget.

* Oops, let me look at it and fix when I get home (Edit: fixed)
06:41:29
@ronixx:matrix.orgroshan | byteio.in 🌷 joined the room.10:06:04
22 Sep 2022
@yuka:yuka.dev@yuka:yuka.devYay for colmenaEval and makeHive, this is exactly what I wanted09:50:38
@yuka:yuka.dev@yuka:yuka.dev I have another request: In flake-enabled deployments, can we pass the nixpkgs flake so that the hive expression can use nixpkgs.lib.nixosSystem and get the proper system.nixos.(revision|versionSuffix)? 09:51:51
@yuka:yuka.dev@yuka:yuka.dev * Yay for colmenaHive and makeHive, this is exactly what I wanted10:08:39

Show newer messages


Back to Room ListRoom Version: 6