!UKDpaKNNsBpOPfLWfX:zhaofeng.li

Colmena

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

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


SenderMessageTime
19 Feb 2025
@pc:rrier.frpcarrierAny way to set custom attributes on my nodes, that I could then consume from the default config?12:53:52
@kevinpthorne:matrix.orgkevinpthornehttps://nixos.wiki/wiki/NixOS_modules12:56:22
@pc:rrier.frpcarrierI'm not quite sure how to apply this here13:00:08
@pc:rrier.frpcarrier
defaults = { foo = lib.mkOption { … } };
host = { foo = bar; }

doesn't work right?

13:00:56
@pc:rrier.frpcarrierah, got it, thanks13:30:27
@thesimplekid:matrix.org@thesimplekid:matrix.org left the room.14:49:23
@sako:sako.lolsako -w- joined the room.18:13:40
@pc:rrier.frpcarrierBeen stuck for a while with this error: https://gist.github.com/pcarrier/bc0173d20106cd178707f1955a1dafd819:19:35
@pc:rrier.frpcarrierAny ideas would be much appreciated19:19:40
@gmacon:matrix.orggmacon Looks like you need enable = config.roles ? etcd; since on the non-etcd hosts, config.roles will be an attrset that does not contain an etcd key, so you can't get the value of that key. Another option would be to ensure that roles always contains every possible role, but set to false for the roles this host doesn't have. 20:18:22
@pc:rrier.frpcarrierwell I thought I did exactly that through its default value20:19:22
@pc:rrier.frpcarrier
          options = {
            roles = mkOption {
              type = types.attrsOf types.bool;
              default = {
                bastion = false;
                spawner = false;
                etcd = false;
                webserver = false;
              };
            };
          };
20:20:05
@pc:rrier.frpcarrierthat's OK, I'll switch to a single role per box20:22:35
@pc:rrier.frpcarrierperfect :)20:37:06
@pc:rrier.frpcarrierRedacted or Malformed Event20:43:00
@pc:rrier.frpcarrier* I'm trying to make nix run .#deploy args... run the colmena version as imported, can't find how to access the binary to put in a pkgs.writeShellScriptBin though20:43:20
@gmacon:matrix.orggmaconAh; the assignment overrides the default value instead of being merged with it, you need types.submodule with each role having its own default to do that.20:48:17
@kevinpthorne:matrix.orgkevinpthorne

From the cheap seats: Why not use an array of enum type? The kubernetes pkgs does it and makes it clean to check

Roles = [ “bastion” “etc” ]; for example

20:50:11

Show newer messages


Back to Room ListRoom Version: 6