diff options
author | tv <tv@shackspace.de> | 2015-09-27 00:22:50 +0200 |
---|---|---|
committer | tv <tv@shackspace.de> | 2015-09-27 00:37:20 +0200 |
commit | c9ccf22b154205caf55262ba6aa305e2c2247a02 (patch) | |
tree | 1190657c3702bbeada39de2c449a17aea3d931c5 /tv | |
parent | 9157c6fbc9e355dd7a6ea8c9e33a280492a4d35b (diff) |
krebs.build: merge deploy and infest
Diffstat (limited to 'tv')
-rw-r--r-- | tv/1systems/cd.nix | 14 | ||||
-rw-r--r-- | tv/1systems/mkdir.nix | 42 | ||||
-rw-r--r-- | tv/1systems/nomic.nix | 14 | ||||
-rw-r--r-- | tv/1systems/rmdir.nix | 35 | ||||
-rw-r--r-- | tv/1systems/wu.nix | 18 | ||||
-rw-r--r-- | tv/2configs/base.nix | 3 | ||||
-rw-r--r-- | tv/2configs/charybdis.nix | 4 | ||||
-rw-r--r-- | tv/2configs/git.nix | 3 | ||||
-rw-r--r-- | tv/3modules/consul.nix | 2 | ||||
-rw-r--r-- | tv/3modules/ejabberd.nix | 2 |
10 files changed, 92 insertions, 45 deletions
diff --git a/tv/1systems/cd.nix b/tv/1systems/cd.nix index b385848f1..54a37b796 100644 --- a/tv/1systems/cd.nix +++ b/tv/1systems/cd.nix @@ -8,16 +8,18 @@ with lib; krebs.build.target = "root@cd.internet"; - krebs.build.deps = { - nixpkgs = { + krebs.build.source = { + git.nixpkgs = { url = https://github.com/4z3/nixpkgs; rev = "03130ec91356cd250b80f144022ee2f4d665ca36"; # 1357692 }; - secrets = { - url = "/home/tv/secrets/${config.krebs.build.host.name}"; + dir.secrets = { + host = config.krebs.hosts.wu; + path = "/home/tv/secrets/cd"; }; - stockholm = { - url = toString ../..; + dir.stockholm = { + host = config.krebs.hosts.wu; + path = "/home/tv/stockholm"; }; }; diff --git a/tv/1systems/mkdir.nix b/tv/1systems/mkdir.nix index cd3d3b5c4..76432ba03 100644 --- a/tv/1systems/mkdir.nix +++ b/tv/1systems/mkdir.nix @@ -2,22 +2,37 @@ with lib; +let + # TODO merge with lass + getDefaultGateway = ip: + concatStringsSep "." (take 3 (splitString "." ip) ++ ["1"]); + + + primary-addr4 = + builtins.elemAt config.krebs.build.host.nets.internet.addrs4 0; + + #secondary-addr4 = + # builtins.elemAt config.krebs.build.host.nets.internet.addrs4 1; +in + { krebs.build.host = config.krebs.hosts.mkdir; krebs.build.user = config.krebs.users.tv; - krebs.build.target = "root@mkdir.internet"; + krebs.build.target = "root@${primary-addr4}"; - krebs.build.deps = { - nixpkgs = { + krebs.build.source = { + git.nixpkgs = { url = https://github.com/NixOS/nixpkgs; - rev = "9d5508d85c33b8fb22d79dde6176792eac2c2696"; + rev = "68bd8e4a9dc247726ae89cc8739574261718e328"; }; - secrets = { - url = "/home/tv/secrets/${config.krebs.build.host.name}"; + dir.secrets = { + host = config.krebs.hosts.wu; + path = "/home/tv/secrets/mkdir"; }; - stockholm = { - url = toString ../..; + dir.stockholm = { + host = config.krebs.hosts.wu; + path = "/home/tv/stockholm"; }; }; @@ -56,11 +71,18 @@ with lib; networking.interfaces.enp2s1.ip4 = [ { - address = "162.248.167.241"; # TODO + address = primary-addr4; prefixLength = 24; } + #{ + # address = secondary-addr4; + # prefixLength = 24; + #} ]; - networking.defaultGateway = "162.248.167.1"; + + # TODO define gateway in krebs/3modules/default.nix + networking.defaultGateway = getDefaultGateway primary-addr4; + networking.nameservers = [ "8.8.8.8" ]; diff --git a/tv/1systems/nomic.nix b/tv/1systems/nomic.nix index f08e74bbe..d5224b54a 100644 --- a/tv/1systems/nomic.nix +++ b/tv/1systems/nomic.nix @@ -8,16 +8,18 @@ with lib; krebs.build.target = "root@nomic.gg23"; - krebs.build.deps = { - nixpkgs = { + krebs.build.source = { + git.nixpkgs = { url = https://github.com/4z3/nixpkgs; rev = "03130ec91356cd250b80f144022ee2f4d665ca36"; # 1357692 }; - secrets = { - url = "/home/tv/secrets/${config.krebs.build.host.name}"; + dir.secrets = { + host = config.krebs.hosts.wu; + path = "/home/tv/secrets/nomic"; }; - stockholm = { - url = toString ../..; + dir.stockholm = { + host = config.krebs.hosts.wu; + path = "/home/tv/stockholm"; }; }; diff --git a/tv/1systems/rmdir.nix b/tv/1systems/rmdir.nix index c8ac43e4c..79e47c539 100644 --- a/tv/1systems/rmdir.nix +++ b/tv/1systems/rmdir.nix @@ -2,22 +2,37 @@ with lib; +let + # TODO merge with lass + getDefaultGateway = ip: + concatStringsSep "." (take 3 (splitString "." ip) ++ ["1"]); + + + primary-addr4 = + builtins.elemAt config.krebs.build.host.nets.internet.addrs4 0; + + #secondary-addr4 = + # builtins.elemAt config.krebs.build.host.nets.internet.addrs4 1; +in + { krebs.build.host = config.krebs.hosts.rmdir; krebs.build.user = config.krebs.users.tv; krebs.build.target = "root@rmdir.internet"; - krebs.build.deps = { - nixpkgs = { + krebs.build.source = { + git.nixpkgs = { url = https://github.com/NixOS/nixpkgs; - rev = "4c01e6d91993b6de128795f4fbdd25f6227fb870"; + rev = "68bd8e4a9dc247726ae89cc8739574261718e328"; }; - secrets = { - url = "/home/tv/secrets/${config.krebs.build.host.name}"; + dir.secrets = { + host = config.krebs.hosts.wu; + path = "/home/tv/secrets/rmdir"; }; - stockholm = { - url = toString ../..; + dir.stockholm = { + host = config.krebs.hosts.wu; + path = "/home/tv/stockholm"; }; }; @@ -57,11 +72,13 @@ with lib; networking.interfaces.enp2s1.ip4 = [ { - address = "167.88.44.94"; + address = primary-addr4; prefixLength = 24; } ]; - networking.defaultGateway = "167.88.44.1"; + # TODO define gateway in krebs/3modules/default.nix + networking.defaultGateway = getDefaultGateway primary-addr4; + networking.nameservers = [ "8.8.8.8" ]; diff --git a/tv/1systems/wu.nix b/tv/1systems/wu.nix index 36733ac41..629c4a5c8 100644 --- a/tv/1systems/wu.nix +++ b/tv/1systems/wu.nix @@ -8,16 +8,18 @@ with lib; krebs.build.target = "root@wu"; - krebs.build.deps = { - nixpkgs = { - url = https://github.com/4z3/nixpkgs; - rev = "03130ec91356cd250b80f144022ee2f4d665ca36"; # 1357692 + krebs.build.source = { + git.nixpkgs = { + url = https://github.com/NixOS/nixpkgs; + rev = "bd84ebaa1e0359f41350e053ed24592b169b5714"; }; - secrets = { - url = "/home/tv/secrets/${config.krebs.build.host.name}"; + dir.secrets = { + host = config.krebs.hosts.wu; + path = "/home/tv/secrets/wu"; }; - stockholm = { - url = toString ../..; + dir.stockholm = { + host = config.krebs.hosts.wu; + path = "/home/tv/stockholm"; }; }; diff --git a/tv/2configs/base.nix b/tv/2configs/base.nix index 89a66115a..1c6eba662 100644 --- a/tv/2configs/base.nix +++ b/tv/2configs/base.nix @@ -15,9 +15,10 @@ in imports = [ { + # TODO never put hashedPassword into the store users.extraUsers = mapAttrs (_: h: { hashedPassword = h; }) - (import /root/src/secrets/hashedPasswords.nix); + (import <secrets/hashedPasswords.nix>); } { users.defaultUserShell = "/run/current-system/sw/bin/bash"; diff --git a/tv/2configs/charybdis.nix b/tv/2configs/charybdis.nix index a949026de..80c6f7c4a 100644 --- a/tv/2configs/charybdis.nix +++ b/tv/2configs/charybdis.nix @@ -21,7 +21,7 @@ let }; dhParams = mkOption { type = types.str; - default = "/root/src/secrets/charybdis.dh.pem"; + default = toString <secrets/charybdis.dh.pem>; }; motd = mkOption { type = types.str; @@ -32,7 +32,7 @@ let }; sslKey = mkOption { type = types.str; - default = "/root/src/secrets/charybdis.key.pem"; + default = toString <secrets/charybdis.key.pem>; }; }; diff --git a/tv/2configs/git.nix b/tv/2configs/git.nix index 6624d62dc..5f5fae483 100644 --- a/tv/2configs/git.nix +++ b/tv/2configs/git.nix @@ -51,7 +51,8 @@ let collaborators = with config.krebs.users; [ lass makefu ]; }; } // - import /root/src/secrets/repos.nix { inherit config lib pkgs; } + # TODO don't put secrets/repos.nix into the store + import <secrets/repos.nix> { inherit config lib pkgs; } ); make-public-repo = name: { desc ? null, ... }: { diff --git a/tv/3modules/consul.nix b/tv/3modules/consul.nix index 82a15c024..e764ab7b2 100644 --- a/tv/3modules/consul.nix +++ b/tv/3modules/consul.nix @@ -29,7 +29,7 @@ let }; encrypt-file = mkOption { type = types.str; # TODO path (but not just into store) - default = "/root/src/secrets/consul-encrypt.json"; + default = toString <secrets/consul-encrypt.json>; }; data-dir = mkOption { type = types.str; # TODO path (but not just into store) diff --git a/tv/3modules/ejabberd.nix b/tv/3modules/ejabberd.nix index 2910a9a69..6b231fb56 100644 --- a/tv/3modules/ejabberd.nix +++ b/tv/3modules/ejabberd.nix @@ -15,7 +15,7 @@ let certFile = mkOption { type = types.str; - default = "/root/src/secrets/ejabberd.pem"; + default = toString <secrets/ejabberd.pem>; }; hosts = mkOption { |