From 522f6c03cfaada59e4c571a735b5022acbc31c18 Mon Sep 17 00:00:00 2001 From: lassulus Date: Thu, 31 Aug 2017 00:26:37 +0200 Subject: [PATCH 1/8] l nixpkgs: 60dc02d -> fe46ffc --- lass/source.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/source.nix b/lass/source.nix index 8430ecb16..26c668241 100644 --- a/lass/source.nix +++ b/lass/source.nix @@ -19,6 +19,6 @@ in # 87a4615 & 334ac4f # + acme permissions for groups # fd7a8f1 - ref = "60dc02d"; + ref = "fe46ffc"; }; } From 0bde01ddff0842122d17f886d7690c1dc9fc500a Mon Sep 17 00:00:00 2001 From: lassulus Date: Thu, 31 Aug 2017 19:01:53 +0200 Subject: [PATCH 2/8] ci: replace users by hosts --- krebs/2configs/buildbot-all.nix | 7 ++--- krebs/2configs/buildbot-krebs.nix | 5 ++-- krebs/3modules/ci.nix | 50 ++++++------------------------- 3 files changed, 13 insertions(+), 49 deletions(-) diff --git a/krebs/2configs/buildbot-all.nix b/krebs/2configs/buildbot-all.nix index acd806d6e..7344d9d18 100644 --- a/krebs/2configs/buildbot-all.nix +++ b/krebs/2configs/buildbot-all.nix @@ -1,3 +1,4 @@ +with import ; { lib, config, pkgs, ... }: { imports = [ @@ -7,10 +8,6 @@ networking.firewall.allowedTCPPorts = [ 80 8010 9989 ]; krebs.ci.enable = true; krebs.ci.treeStableTimer = 1; - krebs.ci.users.krebs.all = true; - krebs.ci.users.lass.all = true; - krebs.ci.users.makefu.all = true; - krebs.ci.users.nin.all = true; - krebs.ci.users.tv.all = true; + krebs.ci.hosts = filter (getAttr "managed") (attrValues config.krebs.hosts); } diff --git a/krebs/2configs/buildbot-krebs.nix b/krebs/2configs/buildbot-krebs.nix index 40ca3c66d..a09b3b98b 100644 --- a/krebs/2configs/buildbot-krebs.nix +++ b/krebs/2configs/buildbot-krebs.nix @@ -1,3 +1,4 @@ +with import ; { lib, config, pkgs, ... }: { imports = [ @@ -7,7 +8,5 @@ networking.firewall.allowedTCPPorts = [ 80 8010 9989 ]; krebs.ci.enable = true; krebs.ci.treeStableTimer = 120; - krebs.ci.users.krebs.hosts = [ - config.networking.hostName - ]; + krebs.ci.hosts = [ config.krebs.build.host ]; } diff --git a/krebs/3modules/ci.nix b/krebs/3modules/ci.nix index b55827e3a..dab87792e 100644 --- a/krebs/3modules/ci.nix +++ b/krebs/3modules/ci.nix @@ -17,30 +17,12 @@ in default = 10; description = "how long to wait until we test changes (in minutes)"; }; - users = mkOption { - type = with types; attrsOf (submodule { - options = { - all = mkOption { - type = bool; - default = false; - }; - hosts = mkOption { - type = listOf str; - default = []; - }; - }; - }); - example = { - lass.all = true; - krebs = { - all = true; - hosts = [ - "test-all-krebs-modules" - "test-arch" - ]; - }; - }; - default = {}; + hosts = mkOption { + type = types.listOf types.host; + default = []; + description = '' + List of hosts that should be build + ''; }; }; @@ -132,23 +114,9 @@ in timeout=90001 ) - ${let - user-hosts = mapAttrs (user: a: let - managed-hosts = attrNames (filterAttrs (_: h: (h.owner.name == user) && h.managed) config.krebs.hosts); - defined-hosts = a.hosts; - in - defined-hosts ++ (optionals a.all managed-hosts) - ) cfg.users; - - in - concatStringsSep "\n" ( - (mapAttrsToList (user: hosts: - concatMapStringsSep "\n" (host: - "build_host(\"${user}\", \"${host}\")" - ) hosts - ) user-hosts) - ) - } + ${concatMapStringsSep "\n" (host: + "build_host(\"${host.owner.name}\", \"${host.name}\")" + ) cfg.hosts} bu.append( util.BuilderConfig( From dbc9889f82467b4740b649c4baefc80c352fa2f1 Mon Sep 17 00:00:00 2001 From: lassulus Date: Thu, 31 Aug 2017 19:15:09 +0200 Subject: [PATCH 3/8] types.host: managed -> ci --- krebs/2configs/buildbot-all.nix | 2 +- krebs/3modules/krebs/default.nix | 8 ++++---- krebs/3modules/lass/default.nix | 8 ++++---- krebs/3modules/makefu/default.nix | 30 +++++++++++++++--------------- krebs/3modules/tv/default.nix | 14 +++++++------- lass/3modules/hosts.nix | 2 +- lib/types.nix | 5 +++-- 7 files changed, 35 insertions(+), 34 deletions(-) diff --git a/krebs/2configs/buildbot-all.nix b/krebs/2configs/buildbot-all.nix index 7344d9d18..8a647012f 100644 --- a/krebs/2configs/buildbot-all.nix +++ b/krebs/2configs/buildbot-all.nix @@ -8,6 +8,6 @@ with import ; networking.firewall.allowedTCPPorts = [ 80 8010 9989 ]; krebs.ci.enable = true; krebs.ci.treeStableTimer = 1; - krebs.ci.hosts = filter (getAttr "managed") (attrValues config.krebs.hosts); + krebs.ci.hosts = filter (getAttr "ci") (attrValues config.krebs.hosts); } diff --git a/krebs/3modules/krebs/default.nix b/krebs/3modules/krebs/default.nix index 9cd103175..881329a47 100644 --- a/krebs/3modules/krebs/default.nix +++ b/krebs/3modules/krebs/default.nix @@ -31,8 +31,8 @@ let in { hosts = { hope = { + ci = true; owner = config.krebs.users.krebs; - managed = true; nets = { internet = { ip4.addr = "45.62.225.18"; @@ -63,8 +63,8 @@ in { ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOdLHRI29xJj1jmfSidE2Dh7EsDNszm+WH3Kj4zYBkP/"; }; hotdog = { + ci = true; owner = config.krebs.users.krebs; - managed = true; nets = { retiolum = { ip4.addr = "10.243.77.3"; @@ -90,8 +90,8 @@ in { ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICxFkBln23wUxt4RhIHE3GvdKeBpJbjn++6maupHqUHp"; }; puyak = { + ci = true; owner = config.krebs.users.krebs; - managed = true; nets = { retiolum = { ip4.addr = "10.243.77.2"; @@ -117,8 +117,8 @@ in { ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPpVwKv9mQGfcn5oFwuitq+b6Dz4jBG9sGhVoCYFw5RY"; }; wolf = { + ci = true; owner = config.krebs.users.krebs; - managed = true; nets = { shack = { ip4.addr = "10.42.2.150" ; diff --git a/krebs/3modules/lass/default.nix b/krebs/3modules/lass/default.nix index 7aeeb1f21..a42a01d24 100644 --- a/krebs/3modules/lass/default.nix +++ b/krebs/3modules/lass/default.nix @@ -5,7 +5,7 @@ with import ; { hosts = mapAttrs (_: recursiveUpdate { owner = config.krebs.users.lass; - managed = true; + ci = true; }) { dishfire = { cores = 4; @@ -126,7 +126,7 @@ with import ; ssh.port = 2223; }; }; - managed = false; + ci = false; }; uriel = { cores = 1; @@ -296,7 +296,7 @@ with import ; }; iso = { cores = 1; - managed = false; + ci = false; }; sokrateslaptop = { nets = { @@ -318,7 +318,7 @@ with import ; ''; }; }; - managed = false; + ci = false; }; }; users = { diff --git a/krebs/3modules/makefu/default.nix b/krebs/3modules/makefu/default.nix index 21ea7e23c..6e0e876b8 100644 --- a/krebs/3modules/makefu/default.nix +++ b/krebs/3modules/makefu/default.nix @@ -5,8 +5,8 @@ with import ; { hosts = mapAttrs (_: setAttr "owner" config.krebs.users.makefu) { drop = rec { + ci = true; cores = 1; - managed = true; nets = { retiolum = { ip4.addr = "10.243.177.9"; @@ -28,8 +28,8 @@ with import ; }; }; studio = rec { + ci = true; cores = 4; - managed = true; ssh.privkey.path = ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIqBR5gjJkR1TEIs2yx6JRoIOA7+/LJA6kjju8yCauFa studio"; nets = { @@ -54,8 +54,8 @@ with import ; }; fileleech = rec { + ci = true; cores = 4; - managed = true; ssh.privkey.path = ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+jB5QdPsAJc90alYDhAEP3sPDJb6eIj9bebj+rTBEJ fileleech"; nets = { @@ -80,8 +80,8 @@ with import ; }; pnp = { + ci = true; cores = 1; - managed = true; nets = { retiolum = { ip4.addr = "10.243.0.210"; @@ -104,8 +104,8 @@ with import ; }; }; darth = { + ci = true; cores = 4; - managed = true; nets = { retiolum = { ip4.addr = "10.243.0.84"; @@ -176,7 +176,7 @@ with import ; }; }; tsp = { - managed = true; + ci = true; cores = 1; nets = { retiolum = { @@ -204,7 +204,7 @@ with import ; }; }; x = { - managed = true; + ci = true; cores = 4; nets = { retiolum = { @@ -249,8 +249,8 @@ with import ; }; vbob = { + ci = true; cores = 2; - managed = true; nets = { retiolum = { ip4.addr = "10.243.1.91"; @@ -312,8 +312,8 @@ with import ; }; }; wry = rec { + ci = true; cores = 1; - managed = true; extraZones = { "krebsco.de" = '' wry IN A ${nets.internet.ip4.addr} @@ -357,8 +357,8 @@ with import ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH4Tjx9qK6uWtxT1HCpeC0XvDZKO/kaPygyKatpAqU6I root@wry"; }; filepimp = rec { + ci = true; cores = 1; - managed = true; nets = { lan = { ip4.addr = "192.168.1.12"; @@ -387,8 +387,8 @@ with import ; }; omo = rec { + ci = true; cores = 2; - managed = true; nets = { lan = { @@ -421,8 +421,8 @@ with import ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPTBGboU/P00yYiwYje53G0oqDFWmcSJ+hIpMsl4f/HH"; }; wbob = rec { + ci = true; cores = 4; - managed = true; nets = { siem = { ip4.addr = "10.8.10.7"; @@ -463,8 +463,8 @@ with import ; }; gum = rec { + ci = true; cores = 2; - managed = true; extraZones = { "krebsco.de" = '' @@ -526,8 +526,8 @@ with import ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIcxWFEPzke/Sdd9qNX6rSJgXal8NmINYajpFCxXfYdj root@gum"; }; shoney = rec { + ci = true; cores = 1; - managed = true; nets = rec { siem = { via = internet; @@ -575,8 +575,8 @@ with import ; }; }; sdev = rec { + ci = true; cores = 1; - managed = true; ssh.privkey.path = ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILtm6ETzNgLcXNkrKs2VUEiGsTKBmOFpW2fazbzdUfOg sdev"; nets = { diff --git a/krebs/3modules/tv/default.nix b/krebs/3modules/tv/default.nix index 68cba633b..d6e6eae11 100644 --- a/krebs/3modules/tv/default.nix +++ b/krebs/3modules/tv/default.nix @@ -8,8 +8,8 @@ with import ; }; hosts = mapAttrs (_: setAttr "owner" config.krebs.users.tv) { alnus = { + ci = true; cores = 2; - managed = true; nets = { retiolum = { ip4.addr = "10.243.21.1"; @@ -33,6 +33,7 @@ with import ; ssh.pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDP9JS2Nyjx4Pn+/4MrFi1EvBBYVKkGm2Q4lhgaAiSuiGLol53OSsL2KIo01mbcSSBWow9QpQpn8KDoRnT2aMLDrdTFqL20ztDLOXmtrSsz3flgCjmW4f6uOaoZF0RNjAybd1coqwSJ7EINugwoqOsg1zzN2qeIGKYFvqFIKibYFAnQ8hcksmkvPdIO5O8CbdIiP9sZSrSDp0ZyLK2T0PML2jensVZOeqSPulQDFqLsbmavpVLkpDjdzzPRwbZWNB4++YeipbYNOkX4GR1EB4wMZ93IbBV7kpJtib2Zb2AnUf7UW37hxWBjILdstj9ClwNOQggn8kD9ub7YxBzH1dz0Xd8a0mPOAWIDJz9MypXgFRc3vdvPB/W1I4Se0CLbgOkORun9CkgijKr9oEY8JNt8HFd6viZcAaQxOyIm6PNHZTnHfdSc7bIBS2n3e3IZBv0fTd77knGLXg402aTuu2bm/kxsKivxsILXIaGbeXe4ceN3Fynr3FzSM2bUkzHb0mAHu1BQ9YaX0xzCwjVueA5nzGls7ODSFkXsiBfg2FvMN/sTLFca6tnwyqcnD6nujoiS5+BxjDWPgnZYqCaW3B/IkpTsRMsX6QrfhOFcsP8qlJ2Cp82orWoDK/D0vZ9pdzAc6PFGga0RofuJKY2yiq+SRZ7/e9E6VncIVCYZ1OfN0Q=="; }; cd = { + ci = true; cores = 2; extraZones = { # TODO generate krebsco.de zone from nets and don't use extraZones at all @@ -40,7 +41,6 @@ with import ; cd 60 IN A ${config.krebs.hosts.cd.nets.internet.ip4.addr} ''; }; - managed = true; nets = { internet = { ip4.addr = "45.62.237.203"; @@ -135,8 +135,8 @@ with import ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC5Wr36T0MmB8pnSO5/pw9/Dfe5+IMgVHOhm6EUa55jj"; }; mu = { + ci = true; cores = 2; - managed = true; nets = { retiolum = { ip4.addr = "10.243.20.1"; @@ -205,8 +205,8 @@ with import ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILGDdcKwFm6udU0/x6XGGb87k9py0VlrxF54HeYu9Izb"; }; nomic = { + ci = true; cores = 2; - managed = true; nets = { gg23 = { ip4.addr = "10.23.1.110"; @@ -261,8 +261,8 @@ with import ; }; }; wu = { + ci = true; cores = 4; - managed = true; nets = { gg23 = { ip4.addr = "10.23.1.37"; @@ -299,8 +299,8 @@ with import ; binary-cache = { pubkey = "xu-1:pYRENvaxZqGeImwLA9qHmRwHV4jfKaYx4u1VcZ31x0s="; }; + ci = true; cores = 4; - managed = true; nets = { gg23 = { ip4.addr = "10.23.1.38"; @@ -335,8 +335,8 @@ with import ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPnjfceKuHNQu7S4eYFN1FqgzMqiL7haNZMh2ZLhvuhK root@xu"; }; zu = { + ci = true; cores = 4; - managed = true; nets = { gg23 = { ip4.addr = "10.23.1.39"; diff --git a/lass/3modules/hosts.nix b/lass/3modules/hosts.nix index 7e3af10be..37cbf3ed3 100644 --- a/lass/3modules/hosts.nix +++ b/lass/3modules/hosts.nix @@ -6,7 +6,7 @@ with import ; options.lass.hosts = mkOption { type = types.attrsOf types.host; default = - filterAttrs (_: host: host.owner.name == "lass" && host.managed) + filterAttrs (_: host: host.owner.name == "lass" && host.ci) config.krebs.hosts; }; } diff --git a/lib/types.nix b/lib/types.nix index 8c6846887..a9563ccc5 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -31,9 +31,10 @@ rec { default = null; }; - managed = mkOption { + ci = mkOption { description = '' - If true, then the host's configuration is defined in stockholm. + If true, then the host wants to be tested by some CI system. + See ''; type = bool; default = false; From bd09ea6e3b0408313fdd2787e557e7e02ab8ff86 Mon Sep 17 00:00:00 2001 From: lassulus Date: Thu, 31 Aug 2017 19:45:58 +0200 Subject: [PATCH 4/8] types.host: add external bool --- krebs/3modules/lass/default.nix | 8 +++++--- lib/types.nix | 10 ++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/krebs/3modules/lass/default.nix b/krebs/3modules/lass/default.nix index a42a01d24..9b1e6ba20 100644 --- a/krebs/3modules/lass/default.nix +++ b/krebs/3modules/lass/default.nix @@ -117,6 +117,8 @@ with import ; ssh.pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQChm4sqQ2bUZj+2YnTf6G5HHRTpSe1jTUhJRnwcYPYZKF+CBqBncipRpuGlGXEsptNa+7ZMcQC0ySsz5SUOMt3Ih+NehVe/qt3VtRz0l0MgOWmH2qBwKK9Y4IuxrJQzUmP4UGlOGlFj9DORssSMOyFIG4eZ9k2qMn3xal0NVRfGTShKlouWsiUILZ8I+sDNE00z8DAYesgc1yazvRnjzvLkRxdNdpYiAFBbmXMpPKK95McRJaWsuNSeal9kd5p5PagWcgN4DZ6+ebzz3NKnmzk4j+vuHX0U9lTXBqKMlzzmM2YNLRtDPfrtJNyHqLpZUpFhJKqZCD+4/0zdrzRfC7Th+5czzUCSvHiKPVsqw5eOdiQX6EyzNAF5zpkpRp//QdUNNXC5/Ku6GKCO491+TuA8VCha0fOwBONccTLUI/hGNmCh88mLbukVoeGJrbYNCOA/6kEz7ZLEveU4i+TT7okhDElMsNk+AWCZ8/NdJQNX3/K6+JJ9qAn+/yC8LdjgYYJ2oU/aw5/HyOgiQ0z4n9UfQ7j+nHysY9CQb1b3guX7yjJoc3KpNXCXEztuIRHjFD1EP8NRTSmGjsa/VjLmTLSsqjD+7IE5mT0tO5RJvmagDgdJSr/iR5D9zjW7hx7ttvektrlp9g0v3CiCFVaW4l95hGYT0HaNBLJ5R0YHm0lD+Q=="; }; domsen-nas = { + ci = false; + external = true; nets = rec { internet = { aliases = [ @@ -126,7 +128,6 @@ with import ; ssh.port = 2223; }; }; - ci = false; }; uriel = { cores = 1; @@ -295,10 +296,12 @@ with import ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEB/MmASvx3i09DY1xFVM5jOhZRZA8rMRqtf8bCIkC+t"; }; iso = { - cores = 1; ci = false; + cores = 1; }; sokrateslaptop = { + ci = false; + external = true; nets = { retiolum = { ip4.addr = "10.243.142.104"; @@ -318,7 +321,6 @@ with import ; ''; }; }; - ci = false; }; }; users = { diff --git a/lib/types.nix b/lib/types.nix index a9563ccc5..70570a6b3 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -40,6 +40,16 @@ rec { default = false; }; + external = mkOption { + description = '' + Whether the host is defined externally (in contrast to being defined + in ). This is useful e.g. when legacy and/or adopted + hosts should be part of retiolum or some other component. + ''; + type = bool; + default = false; + }; + owner = mkOption { type = user; }; From d9fcefb8ab6e64ed17fda17c5e19831453af8818 Mon Sep 17 00:00:00 2001 From: mv Date: Wed, 30 Aug 2017 18:03:15 +0200 Subject: [PATCH 5/8] mv nixpkgs: 94941cb -> 56da88a --- mv/source.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mv/source.nix b/mv/source.nix index 8b1563914..aa2b13fd8 100644 --- a/mv/source.nix +++ b/mv/source.nix @@ -10,7 +10,7 @@ in nixos-config.symlink = "stockholm/mv/1systems/${name}/config.nix"; nixpkgs.git = { # nixos-17.03 - ref = mkDefault "94941cb0455bfc50b1bf63186cfad7136d629f78"; + ref = mkDefault "56da88a298a6f549701a10bb12072804a1ebfbd5"; url = https://github.com/NixOS/nixpkgs; }; secrets.file = getAttr builder { From 58e5f06a74d86d156234a44ee5b0e00291887fbd Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 31 Aug 2017 18:08:14 +0200 Subject: [PATCH 6/8] mv dummy_secrets: init --- mv/dummy_secrets/default.nix | 1 + 1 file changed, 1 insertion(+) create mode 100644 mv/dummy_secrets/default.nix diff --git a/mv/dummy_secrets/default.nix b/mv/dummy_secrets/default.nix new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/mv/dummy_secrets/default.nix @@ -0,0 +1 @@ +{} From 448d4dc075d1cee2b8148d4c54df5f5e4d9bf0a7 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 31 Aug 2017 20:00:53 +0200 Subject: [PATCH 7/8] mv stro: ci = true --- krebs/3modules/mv/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/krebs/3modules/mv/default.nix b/krebs/3modules/mv/default.nix index 7876ab79e..c8d138a44 100644 --- a/krebs/3modules/mv/default.nix +++ b/krebs/3modules/mv/default.nix @@ -5,6 +5,7 @@ with import ; { hosts = mapAttrs (_: setAttr "owner" config.krebs.users.mv) { stro = { + ci = true; cores = 4; nets = { retiolum = { From af0696b9987d3ff0783cdd69d26a903c1ea92004 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 31 Aug 2017 20:04:08 +0200 Subject: [PATCH 8/8] tv: set external = true where appropriate --- krebs/3modules/tv/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/krebs/3modules/tv/default.nix b/krebs/3modules/tv/default.nix index d6e6eae11..79fa27bad 100644 --- a/krebs/3modules/tv/default.nix +++ b/krebs/3modules/tv/default.nix @@ -79,6 +79,7 @@ with import ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOd/HqZIO9Trn3eycl23GZAz21HQCISaVNfNyaLSQvJ6"; }; ju = { + external = true; nets = { gg23 = { ip4.addr = "10.23.1.144"; @@ -112,6 +113,7 @@ with import ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHM6dL0fQ8Bd0hER0Xa3I2pAWVHdnwOBaAZhbDlLJmUu"; }; kaepsele = { + external = true; nets = { retiolum = { ip4.addr = "10.243.166.2"; @@ -237,6 +239,7 @@ with import ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMIHmwXHV7E9UGuk4voVCADjlLkyygqNw054jvrsPn5t root@nomic"; }; ok = { + external = true; nets = { gg23 = { ip4.addr = "10.23.1.1"; @@ -245,6 +248,7 @@ with import ; }; }; schnabeldrucker = { + external = true; nets = { gg23 = { ip4.addr = "10.23.1.21"; @@ -253,6 +257,7 @@ with import ; }; }; schnabelscanner = { + external = true; nets = { gg23 = { ip4.addr = "10.23.1.22";