summaryrefslogtreecommitdiffstats
path: root/tv
diff options
context:
space:
mode:
authortv <tv@shackspace.de>2015-09-27 00:22:50 +0200
committertv <tv@shackspace.de>2015-09-27 00:37:20 +0200
commitc9ccf22b154205caf55262ba6aa305e2c2247a02 (patch)
tree1190657c3702bbeada39de2c449a17aea3d931c5 /tv
parent9157c6fbc9e355dd7a6ea8c9e33a280492a4d35b (diff)
krebs.build: merge deploy and infest
Diffstat (limited to 'tv')
-rw-r--r--tv/1systems/cd.nix14
-rw-r--r--tv/1systems/mkdir.nix42
-rw-r--r--tv/1systems/nomic.nix14
-rw-r--r--tv/1systems/rmdir.nix35
-rw-r--r--tv/1systems/wu.nix18
-rw-r--r--tv/2configs/base.nix3
-rw-r--r--tv/2configs/charybdis.nix4
-rw-r--r--tv/2configs/git.nix3
-rw-r--r--tv/3modules/consul.nix2
-rw-r--r--tv/3modules/ejabberd.nix2
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 {