From 407985695d91af4361799b2aeb5b0caf129d2c29 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 26 Aug 2015 17:10:02 +0200 Subject: revert path from cacert to nss-cacert --- krebs/3modules/urlwatch.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'krebs/3modules') diff --git a/krebs/3modules/urlwatch.nix b/krebs/3modules/urlwatch.nix index 531e6c87b..80d9f5e93 100644 --- a/krebs/3modules/urlwatch.nix +++ b/krebs/3modules/urlwatch.nix @@ -78,7 +78,7 @@ let HOME = cfg.dataDir; LC_ALL = "en_US.UTF-8"; LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive"; - SSL_CERT_FILE = "${pkgs.cacert}/etc/ca-bundle.crt"; + SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; }; serviceConfig = { User = user.name; -- cgit v1.2.3 From 144fcda288eb050153620c386511c7722e031029 Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 28 Aug 2015 22:27:23 +0200 Subject: {tv,krebs}: import krebs pkgs with lib --- krebs/3modules/github-hosts-sync.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'krebs/3modules') diff --git a/krebs/3modules/github-hosts-sync.nix b/krebs/3modules/github-hosts-sync.nix index 0274b9d15..207b937de 100644 --- a/krebs/3modules/github-hosts-sync.nix +++ b/krebs/3modules/github-hosts-sync.nix @@ -78,6 +78,6 @@ let uid = 3220554646; # genid github-hosts-sync }; - kpkgs = import ../../krebs/5pkgs { inherit pkgs; }; + kpkgs = import ../../krebs/5pkgs { inherit lib pkgs; }; in out -- cgit v1.2.3 From 81eaf7a9e7b083c169828590d0d848cf933b32e0 Mon Sep 17 00:00:00 2001 From: tv Date: Sat, 29 Aug 2015 00:17:25 +0200 Subject: one pkgs to rule them all --- krebs/3modules/github-hosts-sync.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'krebs/3modules') diff --git a/krebs/3modules/github-hosts-sync.nix b/krebs/3modules/github-hosts-sync.nix index 207b937de..dbc0cc1de 100644 --- a/krebs/3modules/github-hosts-sync.nix +++ b/krebs/3modules/github-hosts-sync.nix @@ -61,9 +61,9 @@ let ${cfg.ssh-identity-file} \ "$ssh_identity_file_target" - ln -snf ${kpkgs.github-known_hosts} ${cfg.dataDir}/.ssh/known_hosts + ln -snf ${pkgs.github-known_hosts} ${cfg.dataDir}/.ssh/known_hosts ''; - ExecStart = "${kpkgs.github-hosts-sync}/bin/github-hosts-sync"; + ExecStart = "${pkgs.github-hosts-sync}/bin/github-hosts-sync"; }; }; @@ -77,7 +77,5 @@ let name = "github-hosts-sync"; uid = 3220554646; # genid github-hosts-sync }; - - kpkgs = import ../../krebs/5pkgs { inherit lib pkgs; }; in out -- cgit v1.2.3 From 5591b1dd120dac7cc52098eaacb1476da7b9cb84 Mon Sep 17 00:00:00 2001 From: tv Date: Sat, 29 Aug 2015 00:58:41 +0200 Subject: Z* -> */Z* --- krebs/3modules/default.nix | 10 +++++----- krebs/3modules/retiolum.nix | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'krebs/3modules') diff --git a/krebs/3modules/default.nix b/krebs/3modules/default.nix index 65ebad7b8..5f338df62 100644 --- a/krebs/3modules/default.nix +++ b/krebs/3modules/default.nix @@ -303,11 +303,11 @@ let }; users = addNames { lass = { - pubkey = readFile ../../Zpubkeys/lass.ssh.pub; + pubkey = readFile ../Zpubkeys/lass.ssh.pub; mail = "lass@mors.retiolum"; }; uriel = { - pubkey = readFile ../../Zpubkeys/uriel.ssh.pub; + pubkey = readFile ../Zpubkeys/uriel.ssh.pub; mail = "lass@uriel.retiolum"; }; }; @@ -514,7 +514,7 @@ let users = addNames { makefu = { mail = "makefu@pornocauster.retiolum"; - pubkey = readFile ../../Zpubkeys/makefu_arch.ssh.pub; + pubkey = readFile ../Zpubkeys/makefu_arch.ssh.pub; }; }; }; @@ -685,11 +685,11 @@ let users = addNames { mv = { mail = "mv@cd.retiolum"; - pubkey = readFile ../../Zpubkeys/mv_vod.ssh.pub; + pubkey = readFile ../Zpubkeys/mv_vod.ssh.pub; }; tv = { mail = "tv@wu.retiolum"; - pubkey = readFile ../../Zpubkeys/tv_wu.ssh.pub; + pubkey = readFile ../Zpubkeys/tv_wu.ssh.pub; }; }; }; diff --git a/krebs/3modules/retiolum.nix b/krebs/3modules/retiolum.nix index 481d6565c..4e70b78aa 100644 --- a/krebs/3modules/retiolum.nix +++ b/krebs/3modules/retiolum.nix @@ -58,7 +58,7 @@ let hosts = mkOption { type = with types; either package path; - default = ../../Zhosts; + default = ../Zhosts; description = '' If a path is given, then it will be used to generate an ad-hoc package. ''; -- cgit v1.2.3 From 0f50750e254c22153cb7024e79181661f98d1b33 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 31 Aug 2015 14:22:21 +0200 Subject: Reaktor: initial commit at 0.3.5 --- krebs/3modules/Reaktor.nix | 97 ++++++++++++++++++++++++++++++++++++++++++++++ krebs/3modules/default.nix | 1 + 2 files changed, 98 insertions(+) create mode 100644 krebs/3modules/Reaktor.nix (limited to 'krebs/3modules') diff --git a/krebs/3modules/Reaktor.nix b/krebs/3modules/Reaktor.nix new file mode 100644 index 000000000..2ca7a0ee3 --- /dev/null +++ b/krebs/3modules/Reaktor.nix @@ -0,0 +1,97 @@ +{ config, pkgs,lib, ... }: + + +let + kpkgs = import ../5pkgs { inherit pkgs; inherit lib; }; + + inherit (lib) + mkIf + mkOption + types + singleton + isString + optionalString + concatStrings + ; + + ReaktorConfig = mkIf ( isString cfg.extraConfig ) pkgs.writeText "config.py" cfg.extraConfig; + cfg = config.krebs.Reaktor; + + out = { + options.krebs.Reaktor = api; + config = mkIf cfg.enable imp; + }; + + api = { + enable = mkOption { + default = false; + description = '' + Start Reaktor at system boot + ''; + }; + + nickname = mkOption { + default = config.krebs.build.host.name + "|r"; + type = types.str; + description = '' + The nick name of the irc bot. + Defaults to {hostname}|r + ''; + }; + + + extraConfig = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + configuration to be used instead of default ones. + Reaktor default cfg can be retrieved via `reaktor get-config` + ''; + }; + + ReaktorPkg = mkOption { + default = kpkgs.Reaktor; + description = '' + the Reaktor pkg to use. + ''; + }; + }; + + imp = { + # for reaktor get-config + environment.systemPackages = [ cfg.ReaktorPkg ]; + + users.extraUsers = singleton { + name = "Reaktor"; + # uid = config.ids.uids.Reaktor; + uid = 2066439104; #genid Reaktor + description = "Reaktor user"; + home = "/var/lib/Reaktor"; + createHome = true; + }; + + #users.extraGroups = singleton { + # name = "Reaktor"; + # gid = config.ids.gids.Reaktor; + #}; + + systemd.services.Reaktor = { + path = with pkgs; [ + utillinux #flock for tell_on-join + # git # for nag + python # for caps + ]; + description = "Reaktor IRC Bot"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig.User = "Reaktor"; + environment = { + GIT_SSL_CAINFO = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; + IRC_NICKNAME = cfg.nickname; + }; + serviceConfig.ExecStart = "${cfg.ReaktorPkg}/bin/reaktor run ${if (isString cfg.extraConfig) then cfg.ReaktorConfig else ""}"; + }; + }; + +in +out diff --git a/krebs/3modules/default.nix b/krebs/3modules/default.nix index 5f338df62..16ed92170 100644 --- a/krebs/3modules/default.nix +++ b/krebs/3modules/default.nix @@ -11,6 +11,7 @@ let ./github-hosts-sync.nix ./git.nix ./nginx.nix + ./Reaktor.nix ./retiolum.nix ./urlwatch.nix ]; -- cgit v1.2.3 From 3e581053f4a1ccf22154f46bb04acea3fe1b29ab Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 31 Aug 2015 19:55:38 +0200 Subject: add extraConfig and overrideConfig this allows of preserving the original config while adding bonus features --- krebs/3modules/Reaktor.nix | 40 ++++++++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 6 deletions(-) (limited to 'krebs/3modules') diff --git a/krebs/3modules/Reaktor.nix b/krebs/3modules/Reaktor.nix index 2ca7a0ee3..407f1bce7 100644 --- a/krebs/3modules/Reaktor.nix +++ b/krebs/3modules/Reaktor.nix @@ -12,9 +12,17 @@ let isString optionalString concatStrings + escapeShellArg ; - ReaktorConfig = mkIf ( isString cfg.extraConfig ) pkgs.writeText "config.py" cfg.extraConfig; + ReaktorConfig = pkgs.writeText "config.py" '' + ${if (isString cfg.overrideConfig ) then '' + # Overriden Config + ${cfg.overrideConfig} + '' else ""} + ## Extra Config + ${cfg.extraConfig} + ''; cfg = config.krebs.Reaktor; out = { @@ -40,7 +48,7 @@ let }; - extraConfig = mkOption { + overrideConfig = mkOption { default = null; type = types.nullOr types.str; description = '' @@ -48,6 +56,13 @@ let Reaktor default cfg can be retrieved via `reaktor get-config` ''; }; + extraConfig = mkOption { + default = ""; + type = types.str; + description = '' + configuration appended to the default or overridden configuration + ''; + }; ReaktorPkg = mkOption { default = kpkgs.Reaktor; @@ -60,7 +75,6 @@ let imp = { # for reaktor get-config environment.systemPackages = [ cfg.ReaktorPkg ]; - users.extraUsers = singleton { name = "Reaktor"; # uid = config.ids.uids.Reaktor; @@ -84,12 +98,26 @@ let description = "Reaktor IRC Bot"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - serviceConfig.User = "Reaktor"; environment = { GIT_SSL_CAINFO = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; - IRC_NICKNAME = cfg.nickname; + REAKTOR_NICKNAME = cfg.nickname; + }; + serviceConfig= { + ExecStartPre = pkgs.writeScript "Reaktor-init" '' + #! /bin/sh + ${if (isString cfg.overrideConfig) then + ''cp ${ReaktorConfig} /tmp/config.py'' + else + ''(${cfg.ReaktorPkg}/bin/reaktor get-config;cat "${ReaktorConfig}" ) > /tmp/config.py'' + } + ''; + ExecStart = "${cfg.ReaktorPkg}/bin/reaktor run /tmp/config.py"; + PrivateTmp = "true"; + User = "Reaktor"; + Restart = "on-abort"; + #StartLimitInterval = "5m"; + #StartLimitBurst = "1"; }; - serviceConfig.ExecStart = "${cfg.ReaktorPkg}/bin/reaktor run ${if (isString cfg.extraConfig) then cfg.ReaktorConfig else ""}"; }; }; -- cgit v1.2.3 From 444dfa388b62a5123631df6597de469077b98304 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 31 Aug 2015 21:10:00 +0200 Subject: krebs:add euer.krebsco.de to pigstarter cnames --- krebs/3modules/default.nix | 1 + 1 file changed, 1 insertion(+) (limited to 'krebs/3modules') diff --git a/krebs/3modules/default.nix b/krebs/3modules/default.nix index 16ed92170..140045b93 100644 --- a/krebs/3modules/default.nix +++ b/krebs/3modules/default.nix @@ -440,6 +440,7 @@ let IN MX 10 mx42 euer IN MX 1 aspmx.l.google.com. io IN NS pigstarter.krebsco.de. + euer IN A ${elemAt nets.internet.addrs4 0} pigstarter IN A ${elemAt nets.internet.addrs4 0} conf IN A ${elemAt nets.internet.addrs4 0} gold IN A ${elemAt nets.internet.addrs4 0} -- cgit v1.2.3 From 8012e60b7778fa8addbf2e63a408dd20f0a80185 Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 4 Sep 2015 12:37:12 +0200 Subject: krebs/3modules/Reaktor: fix auto startup --- krebs/3modules/Reaktor.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'krebs/3modules') diff --git a/krebs/3modules/Reaktor.nix b/krebs/3modules/Reaktor.nix index 407f1bce7..7d9bad40f 100644 --- a/krebs/3modules/Reaktor.nix +++ b/krebs/3modules/Reaktor.nix @@ -115,8 +115,8 @@ let PrivateTmp = "true"; User = "Reaktor"; Restart = "on-abort"; - #StartLimitInterval = "5m"; - #StartLimitBurst = "1"; + StartLimitInterval = "1m"; + StartLimitBurst = "1"; }; }; }; -- cgit v1.2.3 From d12e86c48129ec497b0cba5743928be9bc2f3ae8 Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 4 Sep 2015 22:56:06 +0200 Subject: Reaktor: debug enable/disable --- krebs/3modules/Reaktor.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'krebs/3modules') diff --git a/krebs/3modules/Reaktor.nix b/krebs/3modules/Reaktor.nix index 7d9bad40f..23a1c0888 100644 --- a/krebs/3modules/Reaktor.nix +++ b/krebs/3modules/Reaktor.nix @@ -40,7 +40,7 @@ let nickname = mkOption { default = config.krebs.build.host.name + "|r"; - type = types.str; + type = types.string; description = '' The nick name of the irc bot. Defaults to {hostname}|r @@ -70,6 +70,12 @@ let the Reaktor pkg to use. ''; }; + debug = mkOption { + default = false; + description = '' + Reaktor debug output + ''; + }; }; imp = { @@ -101,6 +107,7 @@ let environment = { GIT_SSL_CAINFO = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; REAKTOR_NICKNAME = cfg.nickname; + REAKTOR_DEBUG = (if cfg.debug then "True" else "False"); }; serviceConfig= { ExecStartPre = pkgs.writeScript "Reaktor-init" '' -- cgit v1.2.3 From 6099a42734f4fe242c7d244944cb2b3b23b2524f Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 4 Sep 2015 23:01:41 +0200 Subject: Reaktor extraconfig is extensible --- krebs/3modules/Reaktor.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'krebs/3modules') diff --git a/krebs/3modules/Reaktor.nix b/krebs/3modules/Reaktor.nix index 23a1c0888..fce24fa63 100644 --- a/krebs/3modules/Reaktor.nix +++ b/krebs/3modules/Reaktor.nix @@ -58,7 +58,7 @@ let }; extraConfig = mkOption { default = ""; - type = types.str; + type = types.string; description = '' configuration appended to the default or overridden configuration ''; -- cgit v1.2.3