Merge derp

This commit is contained in:
tv 2017-08-31 20:05:05 +02:00
commit 30864205c4
11 changed files with 66 additions and 83 deletions

View File

@ -1,3 +1,4 @@
with import <stockholm/lib>;
{ lib, config, pkgs, ... }: { lib, config, pkgs, ... }:
{ {
imports = [ imports = [
@ -7,10 +8,6 @@
networking.firewall.allowedTCPPorts = [ 80 8010 9989 ]; networking.firewall.allowedTCPPorts = [ 80 8010 9989 ];
krebs.ci.enable = true; krebs.ci.enable = true;
krebs.ci.treeStableTimer = 1; krebs.ci.treeStableTimer = 1;
krebs.ci.users.krebs.all = true; krebs.ci.hosts = filter (getAttr "ci") (attrValues config.krebs.hosts);
krebs.ci.users.lass.all = true;
krebs.ci.users.makefu.all = true;
krebs.ci.users.nin.all = true;
krebs.ci.users.tv.all = true;
} }

View File

@ -1,3 +1,4 @@
with import <stockholm/lib>;
{ lib, config, pkgs, ... }: { lib, config, pkgs, ... }:
{ {
imports = [ imports = [
@ -7,7 +8,5 @@
networking.firewall.allowedTCPPorts = [ 80 8010 9989 ]; networking.firewall.allowedTCPPorts = [ 80 8010 9989 ];
krebs.ci.enable = true; krebs.ci.enable = true;
krebs.ci.treeStableTimer = 120; krebs.ci.treeStableTimer = 120;
krebs.ci.users.krebs.hosts = [ krebs.ci.hosts = [ config.krebs.build.host ];
config.networking.hostName
];
} }

View File

@ -17,30 +17,12 @@ in
default = 10; default = 10;
description = "how long to wait until we test changes (in minutes)"; description = "how long to wait until we test changes (in minutes)";
}; };
users = mkOption { hosts = mkOption {
type = with types; attrsOf (submodule { type = types.listOf types.host;
options = { default = [];
all = mkOption { description = ''
type = bool; List of hosts that should be build
default = false; '';
};
hosts = mkOption {
type = listOf str;
default = [];
};
};
});
example = {
lass.all = true;
krebs = {
all = true;
hosts = [
"test-all-krebs-modules"
"test-arch"
];
};
};
default = {};
}; };
}; };
@ -132,23 +114,9 @@ in
timeout=90001 timeout=90001
) )
${let ${concatMapStringsSep "\n" (host:
user-hosts = mapAttrs (user: a: let "build_host(\"${host.owner.name}\", \"${host.name}\")"
managed-hosts = attrNames (filterAttrs (_: h: (h.owner.name == user) && h.managed) config.krebs.hosts); ) cfg.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)
)
}
bu.append( bu.append(
util.BuilderConfig( util.BuilderConfig(

View File

@ -31,8 +31,8 @@ let
in { in {
hosts = { hosts = {
hope = { hope = {
ci = true;
owner = config.krebs.users.krebs; owner = config.krebs.users.krebs;
managed = true;
nets = { nets = {
internet = { internet = {
ip4.addr = "45.62.225.18"; ip4.addr = "45.62.225.18";
@ -63,8 +63,8 @@ in {
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOdLHRI29xJj1jmfSidE2Dh7EsDNszm+WH3Kj4zYBkP/"; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOdLHRI29xJj1jmfSidE2Dh7EsDNszm+WH3Kj4zYBkP/";
}; };
hotdog = { hotdog = {
ci = true;
owner = config.krebs.users.krebs; owner = config.krebs.users.krebs;
managed = true;
nets = { nets = {
retiolum = { retiolum = {
ip4.addr = "10.243.77.3"; ip4.addr = "10.243.77.3";
@ -90,8 +90,8 @@ in {
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICxFkBln23wUxt4RhIHE3GvdKeBpJbjn++6maupHqUHp"; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICxFkBln23wUxt4RhIHE3GvdKeBpJbjn++6maupHqUHp";
}; };
puyak = { puyak = {
ci = true;
owner = config.krebs.users.krebs; owner = config.krebs.users.krebs;
managed = true;
nets = { nets = {
retiolum = { retiolum = {
ip4.addr = "10.243.77.2"; ip4.addr = "10.243.77.2";
@ -117,8 +117,8 @@ in {
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPpVwKv9mQGfcn5oFwuitq+b6Dz4jBG9sGhVoCYFw5RY"; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPpVwKv9mQGfcn5oFwuitq+b6Dz4jBG9sGhVoCYFw5RY";
}; };
wolf = { wolf = {
ci = true;
owner = config.krebs.users.krebs; owner = config.krebs.users.krebs;
managed = true;
nets = { nets = {
shack = { shack = {
ip4.addr = "10.42.2.150" ; ip4.addr = "10.42.2.150" ;

View File

@ -5,7 +5,7 @@ with import <stockholm/lib>;
{ {
hosts = mapAttrs (_: recursiveUpdate { hosts = mapAttrs (_: recursiveUpdate {
owner = config.krebs.users.lass; owner = config.krebs.users.lass;
managed = true; ci = true;
}) { }) {
dishfire = { dishfire = {
cores = 4; cores = 4;
@ -117,6 +117,8 @@ with import <stockholm/lib>;
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=="; 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 = { domsen-nas = {
ci = false;
external = true;
nets = rec { nets = rec {
internet = { internet = {
aliases = [ aliases = [
@ -126,7 +128,6 @@ with import <stockholm/lib>;
ssh.port = 2223; ssh.port = 2223;
}; };
}; };
managed = false;
}; };
uriel = { uriel = {
cores = 1; cores = 1;
@ -295,10 +296,12 @@ with import <stockholm/lib>;
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEB/MmASvx3i09DY1xFVM5jOhZRZA8rMRqtf8bCIkC+t"; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEB/MmASvx3i09DY1xFVM5jOhZRZA8rMRqtf8bCIkC+t";
}; };
iso = { iso = {
ci = false;
cores = 1; cores = 1;
managed = false;
}; };
sokrateslaptop = { sokrateslaptop = {
ci = false;
external = true;
nets = { nets = {
retiolum = { retiolum = {
ip4.addr = "10.243.142.104"; ip4.addr = "10.243.142.104";
@ -318,7 +321,6 @@ with import <stockholm/lib>;
''; '';
}; };
}; };
managed = false;
}; };
}; };
users = { users = {

View File

@ -5,8 +5,8 @@ with import <stockholm/lib>;
{ {
hosts = mapAttrs (_: setAttr "owner" config.krebs.users.makefu) { hosts = mapAttrs (_: setAttr "owner" config.krebs.users.makefu) {
drop = rec { drop = rec {
ci = true;
cores = 1; cores = 1;
managed = true;
nets = { nets = {
retiolum = { retiolum = {
ip4.addr = "10.243.177.9"; ip4.addr = "10.243.177.9";
@ -28,8 +28,8 @@ with import <stockholm/lib>;
}; };
}; };
studio = rec { studio = rec {
ci = true;
cores = 4; cores = 4;
managed = true;
ssh.privkey.path = <secrets/ssh_host_ed25519_key>; ssh.privkey.path = <secrets/ssh_host_ed25519_key>;
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIqBR5gjJkR1TEIs2yx6JRoIOA7+/LJA6kjju8yCauFa studio"; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIqBR5gjJkR1TEIs2yx6JRoIOA7+/LJA6kjju8yCauFa studio";
nets = { nets = {
@ -54,8 +54,8 @@ with import <stockholm/lib>;
}; };
fileleech = rec { fileleech = rec {
ci = true;
cores = 4; cores = 4;
managed = true;
ssh.privkey.path = <secrets/ssh_host_ed25519_key>; ssh.privkey.path = <secrets/ssh_host_ed25519_key>;
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+jB5QdPsAJc90alYDhAEP3sPDJb6eIj9bebj+rTBEJ fileleech"; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+jB5QdPsAJc90alYDhAEP3sPDJb6eIj9bebj+rTBEJ fileleech";
nets = { nets = {
@ -80,8 +80,8 @@ with import <stockholm/lib>;
}; };
pnp = { pnp = {
ci = true;
cores = 1; cores = 1;
managed = true;
nets = { nets = {
retiolum = { retiolum = {
ip4.addr = "10.243.0.210"; ip4.addr = "10.243.0.210";
@ -104,8 +104,8 @@ with import <stockholm/lib>;
}; };
}; };
darth = { darth = {
ci = true;
cores = 4; cores = 4;
managed = true;
nets = { nets = {
retiolum = { retiolum = {
ip4.addr = "10.243.0.84"; ip4.addr = "10.243.0.84";
@ -176,7 +176,7 @@ with import <stockholm/lib>;
}; };
}; };
tsp = { tsp = {
managed = true; ci = true;
cores = 1; cores = 1;
nets = { nets = {
retiolum = { retiolum = {
@ -204,7 +204,7 @@ with import <stockholm/lib>;
}; };
}; };
x = { x = {
managed = true; ci = true;
cores = 4; cores = 4;
nets = { nets = {
retiolum = { retiolum = {
@ -249,8 +249,8 @@ with import <stockholm/lib>;
}; };
vbob = { vbob = {
ci = true;
cores = 2; cores = 2;
managed = true;
nets = { nets = {
retiolum = { retiolum = {
ip4.addr = "10.243.1.91"; ip4.addr = "10.243.1.91";
@ -312,8 +312,8 @@ with import <stockholm/lib>;
}; };
}; };
wry = rec { wry = rec {
ci = true;
cores = 1; cores = 1;
managed = true;
extraZones = { extraZones = {
"krebsco.de" = '' "krebsco.de" = ''
wry IN A ${nets.internet.ip4.addr} wry IN A ${nets.internet.ip4.addr}
@ -357,8 +357,8 @@ with import <stockholm/lib>;
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH4Tjx9qK6uWtxT1HCpeC0XvDZKO/kaPygyKatpAqU6I root@wry"; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH4Tjx9qK6uWtxT1HCpeC0XvDZKO/kaPygyKatpAqU6I root@wry";
}; };
filepimp = rec { filepimp = rec {
ci = true;
cores = 1; cores = 1;
managed = true;
nets = { nets = {
lan = { lan = {
ip4.addr = "192.168.1.12"; ip4.addr = "192.168.1.12";
@ -387,8 +387,8 @@ with import <stockholm/lib>;
}; };
omo = rec { omo = rec {
ci = true;
cores = 2; cores = 2;
managed = true;
nets = { nets = {
lan = { lan = {
@ -421,8 +421,8 @@ with import <stockholm/lib>;
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPTBGboU/P00yYiwYje53G0oqDFWmcSJ+hIpMsl4f/HH"; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPTBGboU/P00yYiwYje53G0oqDFWmcSJ+hIpMsl4f/HH";
}; };
wbob = rec { wbob = rec {
ci = true;
cores = 4; cores = 4;
managed = true;
nets = { nets = {
siem = { siem = {
ip4.addr = "10.8.10.7"; ip4.addr = "10.8.10.7";
@ -463,8 +463,8 @@ with import <stockholm/lib>;
}; };
gum = rec { gum = rec {
ci = true;
cores = 2; cores = 2;
managed = true;
extraZones = { extraZones = {
"krebsco.de" = '' "krebsco.de" = ''
@ -526,8 +526,8 @@ with import <stockholm/lib>;
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIcxWFEPzke/Sdd9qNX6rSJgXal8NmINYajpFCxXfYdj root@gum"; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIcxWFEPzke/Sdd9qNX6rSJgXal8NmINYajpFCxXfYdj root@gum";
}; };
shoney = rec { shoney = rec {
ci = true;
cores = 1; cores = 1;
managed = true;
nets = rec { nets = rec {
siem = { siem = {
via = internet; via = internet;
@ -575,8 +575,8 @@ with import <stockholm/lib>;
}; };
}; };
sdev = rec { sdev = rec {
ci = true;
cores = 1; cores = 1;
managed = true;
ssh.privkey.path = <secrets/ssh_host_ed25519_key>; ssh.privkey.path = <secrets/ssh_host_ed25519_key>;
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILtm6ETzNgLcXNkrKs2VUEiGsTKBmOFpW2fazbzdUfOg sdev"; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILtm6ETzNgLcXNkrKs2VUEiGsTKBmOFpW2fazbzdUfOg sdev";
nets = { nets = {

View File

@ -5,6 +5,7 @@ with import <stockholm/lib>;
{ {
hosts = mapAttrs (_: setAttr "owner" config.krebs.users.mv) { hosts = mapAttrs (_: setAttr "owner" config.krebs.users.mv) {
stro = { stro = {
ci = true;
cores = 4; cores = 4;
nets = { nets = {
retiolum = { retiolum = {

View File

@ -8,8 +8,8 @@ with import <stockholm/lib>;
}; };
hosts = mapAttrs (_: setAttr "owner" config.krebs.users.tv) { hosts = mapAttrs (_: setAttr "owner" config.krebs.users.tv) {
alnus = { alnus = {
ci = true;
cores = 2; cores = 2;
managed = true;
nets = { nets = {
retiolum = { retiolum = {
ip4.addr = "10.243.21.1"; ip4.addr = "10.243.21.1";
@ -33,6 +33,7 @@ with import <stockholm/lib>;
ssh.pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDP9JS2Nyjx4Pn+/4MrFi1EvBBYVKkGm2Q4lhgaAiSuiGLol53OSsL2KIo01mbcSSBWow9QpQpn8KDoRnT2aMLDrdTFqL20ztDLOXmtrSsz3flgCjmW4f6uOaoZF0RNjAybd1coqwSJ7EINugwoqOsg1zzN2qeIGKYFvqFIKibYFAnQ8hcksmkvPdIO5O8CbdIiP9sZSrSDp0ZyLK2T0PML2jensVZOeqSPulQDFqLsbmavpVLkpDjdzzPRwbZWNB4++YeipbYNOkX4GR1EB4wMZ93IbBV7kpJtib2Zb2AnUf7UW37hxWBjILdstj9ClwNOQggn8kD9ub7YxBzH1dz0Xd8a0mPOAWIDJz9MypXgFRc3vdvPB/W1I4Se0CLbgOkORun9CkgijKr9oEY8JNt8HFd6viZcAaQxOyIm6PNHZTnHfdSc7bIBS2n3e3IZBv0fTd77knGLXg402aTuu2bm/kxsKivxsILXIaGbeXe4ceN3Fynr3FzSM2bUkzHb0mAHu1BQ9YaX0xzCwjVueA5nzGls7ODSFkXsiBfg2FvMN/sTLFca6tnwyqcnD6nujoiS5+BxjDWPgnZYqCaW3B/IkpTsRMsX6QrfhOFcsP8qlJ2Cp82orWoDK/D0vZ9pdzAc6PFGga0RofuJKY2yiq+SRZ7/e9E6VncIVCYZ1OfN0Q=="; ssh.pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDP9JS2Nyjx4Pn+/4MrFi1EvBBYVKkGm2Q4lhgaAiSuiGLol53OSsL2KIo01mbcSSBWow9QpQpn8KDoRnT2aMLDrdTFqL20ztDLOXmtrSsz3flgCjmW4f6uOaoZF0RNjAybd1coqwSJ7EINugwoqOsg1zzN2qeIGKYFvqFIKibYFAnQ8hcksmkvPdIO5O8CbdIiP9sZSrSDp0ZyLK2T0PML2jensVZOeqSPulQDFqLsbmavpVLkpDjdzzPRwbZWNB4++YeipbYNOkX4GR1EB4wMZ93IbBV7kpJtib2Zb2AnUf7UW37hxWBjILdstj9ClwNOQggn8kD9ub7YxBzH1dz0Xd8a0mPOAWIDJz9MypXgFRc3vdvPB/W1I4Se0CLbgOkORun9CkgijKr9oEY8JNt8HFd6viZcAaQxOyIm6PNHZTnHfdSc7bIBS2n3e3IZBv0fTd77knGLXg402aTuu2bm/kxsKivxsILXIaGbeXe4ceN3Fynr3FzSM2bUkzHb0mAHu1BQ9YaX0xzCwjVueA5nzGls7ODSFkXsiBfg2FvMN/sTLFca6tnwyqcnD6nujoiS5+BxjDWPgnZYqCaW3B/IkpTsRMsX6QrfhOFcsP8qlJ2Cp82orWoDK/D0vZ9pdzAc6PFGga0RofuJKY2yiq+SRZ7/e9E6VncIVCYZ1OfN0Q==";
}; };
cd = { cd = {
ci = true;
cores = 2; cores = 2;
extraZones = { extraZones = {
# TODO generate krebsco.de zone from nets and don't use extraZones at all # TODO generate krebsco.de zone from nets and don't use extraZones at all
@ -40,7 +41,6 @@ with import <stockholm/lib>;
cd 60 IN A ${config.krebs.hosts.cd.nets.internet.ip4.addr} cd 60 IN A ${config.krebs.hosts.cd.nets.internet.ip4.addr}
''; '';
}; };
managed = true;
nets = { nets = {
internet = { internet = {
ip4.addr = "45.62.237.203"; ip4.addr = "45.62.237.203";
@ -79,6 +79,7 @@ with import <stockholm/lib>;
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOd/HqZIO9Trn3eycl23GZAz21HQCISaVNfNyaLSQvJ6"; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOd/HqZIO9Trn3eycl23GZAz21HQCISaVNfNyaLSQvJ6";
}; };
ju = { ju = {
external = true;
nets = { nets = {
gg23 = { gg23 = {
ip4.addr = "10.23.1.144"; ip4.addr = "10.23.1.144";
@ -112,6 +113,7 @@ with import <stockholm/lib>;
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHM6dL0fQ8Bd0hER0Xa3I2pAWVHdnwOBaAZhbDlLJmUu"; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHM6dL0fQ8Bd0hER0Xa3I2pAWVHdnwOBaAZhbDlLJmUu";
}; };
kaepsele = { kaepsele = {
external = true;
nets = { nets = {
retiolum = { retiolum = {
ip4.addr = "10.243.166.2"; ip4.addr = "10.243.166.2";
@ -135,8 +137,8 @@ with import <stockholm/lib>;
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC5Wr36T0MmB8pnSO5/pw9/Dfe5+IMgVHOhm6EUa55jj"; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC5Wr36T0MmB8pnSO5/pw9/Dfe5+IMgVHOhm6EUa55jj";
}; };
mu = { mu = {
ci = true;
cores = 2; cores = 2;
managed = true;
nets = { nets = {
retiolum = { retiolum = {
ip4.addr = "10.243.20.1"; ip4.addr = "10.243.20.1";
@ -205,8 +207,8 @@ with import <stockholm/lib>;
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILGDdcKwFm6udU0/x6XGGb87k9py0VlrxF54HeYu9Izb"; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILGDdcKwFm6udU0/x6XGGb87k9py0VlrxF54HeYu9Izb";
}; };
nomic = { nomic = {
ci = true;
cores = 2; cores = 2;
managed = true;
nets = { nets = {
gg23 = { gg23 = {
ip4.addr = "10.23.1.110"; ip4.addr = "10.23.1.110";
@ -237,6 +239,7 @@ with import <stockholm/lib>;
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMIHmwXHV7E9UGuk4voVCADjlLkyygqNw054jvrsPn5t root@nomic"; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMIHmwXHV7E9UGuk4voVCADjlLkyygqNw054jvrsPn5t root@nomic";
}; };
ok = { ok = {
external = true;
nets = { nets = {
gg23 = { gg23 = {
ip4.addr = "10.23.1.1"; ip4.addr = "10.23.1.1";
@ -245,6 +248,7 @@ with import <stockholm/lib>;
}; };
}; };
schnabeldrucker = { schnabeldrucker = {
external = true;
nets = { nets = {
gg23 = { gg23 = {
ip4.addr = "10.23.1.21"; ip4.addr = "10.23.1.21";
@ -253,6 +257,7 @@ with import <stockholm/lib>;
}; };
}; };
schnabelscanner = { schnabelscanner = {
external = true;
nets = { nets = {
gg23 = { gg23 = {
ip4.addr = "10.23.1.22"; ip4.addr = "10.23.1.22";
@ -261,8 +266,8 @@ with import <stockholm/lib>;
}; };
}; };
wu = { wu = {
ci = true;
cores = 4; cores = 4;
managed = true;
nets = { nets = {
gg23 = { gg23 = {
ip4.addr = "10.23.1.37"; ip4.addr = "10.23.1.37";
@ -299,8 +304,8 @@ with import <stockholm/lib>;
binary-cache = { binary-cache = {
pubkey = "xu-1:pYRENvaxZqGeImwLA9qHmRwHV4jfKaYx4u1VcZ31x0s="; pubkey = "xu-1:pYRENvaxZqGeImwLA9qHmRwHV4jfKaYx4u1VcZ31x0s=";
}; };
ci = true;
cores = 4; cores = 4;
managed = true;
nets = { nets = {
gg23 = { gg23 = {
ip4.addr = "10.23.1.38"; ip4.addr = "10.23.1.38";
@ -335,8 +340,8 @@ with import <stockholm/lib>;
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPnjfceKuHNQu7S4eYFN1FqgzMqiL7haNZMh2ZLhvuhK root@xu"; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPnjfceKuHNQu7S4eYFN1FqgzMqiL7haNZMh2ZLhvuhK root@xu";
}; };
zu = { zu = {
ci = true;
cores = 4; cores = 4;
managed = true;
nets = { nets = {
gg23 = { gg23 = {
ip4.addr = "10.23.1.39"; ip4.addr = "10.23.1.39";

View File

@ -6,7 +6,7 @@ with import <stockholm/lib>;
options.lass.hosts = mkOption { options.lass.hosts = mkOption {
type = types.attrsOf types.host; type = types.attrsOf types.host;
default = default =
filterAttrs (_: host: host.owner.name == "lass" && host.managed) filterAttrs (_: host: host.owner.name == "lass" && host.ci)
config.krebs.hosts; config.krebs.hosts;
}; };
} }

View File

@ -19,6 +19,6 @@ in
# 87a4615 & 334ac4f # 87a4615 & 334ac4f
# + acme permissions for groups # + acme permissions for groups
# fd7a8f1 # fd7a8f1
ref = "60dc02d"; ref = "fe46ffc";
}; };
} }

View File

@ -31,9 +31,20 @@ rec {
default = null; default = null;
}; };
managed = mkOption { ci = mkOption {
description = '' 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 <stockholm/krebs/2configs/buildbot-all.nix>
'';
type = bool;
default = false;
};
external = mkOption {
description = ''
Whether the host is defined externally (in contrast to being defined
in <stockholm>). This is useful e.g. when legacy and/or adopted
hosts should be part of retiolum or some other component.
''; '';
type = bool; type = bool;
default = false; default = false;