diff options
Diffstat (limited to 'krebs/3modules')
| -rw-r--r-- | krebs/3modules/Reaktor.nix | 25 | ||||
| -rw-r--r-- | krebs/3modules/build/default.nix | 5 | ||||
| -rw-r--r-- | krebs/3modules/default.nix | 66 | 
3 files changed, 73 insertions, 23 deletions
diff --git a/krebs/3modules/Reaktor.nix b/krebs/3modules/Reaktor.nix index fce24fa63..82089a660 100644 --- a/krebs/3modules/Reaktor.nix +++ b/krebs/3modules/Reaktor.nix @@ -2,7 +2,6 @@  let -  kpkgs = import ../5pkgs { inherit pkgs; inherit lib; };    inherit (lib)      mkIf @@ -63,13 +62,20 @@ let          configuration appended to the default or overridden configuration        '';      }; - -    ReaktorPkg = mkOption { -      default = kpkgs.Reaktor; +    extraEnviron = mkOption { +      default = {}; +      type = types.attrsOf types.str;        description = '' -        the Reaktor pkg to use. +        Environment to be provided to the service, can be: +          REAKTOR_HOST +          REAKTOR_PORT +          REAKTOR_STATEDIR +          REAKTOR_CHANNELS + +          debug and nickname can be set separately via the Reaktor api        '';      }; +      debug = mkOption {        default = false;        description = '' @@ -80,7 +86,6 @@ let    imp = {      # for reaktor get-config -    environment.systemPackages = [ cfg.ReaktorPkg ];      users.extraUsers = singleton {        name = "Reaktor";        # uid = config.ids.uids.Reaktor; @@ -98,7 +103,7 @@ let      systemd.services.Reaktor = {        path = with pkgs; [          utillinux #flock for tell_on-join -        # git # for nag +        git # for nag          python # for caps          ];        description = "Reaktor IRC Bot"; @@ -108,17 +113,17 @@ let          GIT_SSL_CAINFO = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";          REAKTOR_NICKNAME = cfg.nickname;          REAKTOR_DEBUG = (if cfg.debug  then "True" else "False"); -        }; +        } // cfg.extraEnviron;        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'' +            ''(${pkgs.Reaktor}/bin/reaktor get-config;cat "${ReaktorConfig}" ) > /tmp/config.py''            }          ''; -        ExecStart = "${cfg.ReaktorPkg}/bin/reaktor run /tmp/config.py"; +        ExecStart = "${pkgs.Reaktor}/bin/reaktor run /tmp/config.py";          PrivateTmp = "true";          User = "Reaktor";          Restart = "on-abort"; diff --git a/krebs/3modules/build/default.nix b/krebs/3modules/build/default.nix index 23bd8c8fd..6097a7b5d 100644 --- a/krebs/3modules/build/default.nix +++ b/krebs/3modules/build/default.nix @@ -214,6 +214,11 @@ let              options = {                host = mkOption {                  type = types.host; +                description = '' +                define the host where the directory is stored on. +                XXX: currently it is just used to check if rsync is working, +                     becomes part of url +                '';                };                path = mkOption {                  type = types.str; diff --git a/krebs/3modules/default.nix b/krebs/3modules/default.nix index 2b4a13c42..f0eb290ca 100644 --- a/krebs/3modules/default.nix +++ b/krebs/3modules/default.nix @@ -352,8 +352,8 @@ let          extraZones = {            "krebsco.de" = '' -            mediengewitter    IN A      ${elemAt nets.internet.addrs4 0} -            flap              IN A      ${elemAt nets.internet.addrs4 0}''; +            mediengewitter    IN A      ${head nets.internet.addrs4} +            flap              IN A      ${head nets.internet.addrs4}'';          };          nets = {            internet = { @@ -390,14 +390,13 @@ 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} -            graph             IN A      ${elemAt nets.internet.addrs4 0} -            tinc              IN A      ${elemAt nets.internet.addrs4 0} -            boot              IN A      ${elemAt nets.internet.addrs4 0} -            mx42              IN A      ${elemAt nets.internet.addrs4 0}''; +            pigstarter        IN A      ${head nets.internet.addrs4} +            conf              IN A      ${head nets.internet.addrs4} +            gold              IN A      ${head nets.internet.addrs4} +            graph             IN A      ${head nets.internet.addrs4} +            tinc              IN A      ${head nets.internet.addrs4} +            boot              IN A      ${head nets.internet.addrs4} +            mx42              IN A      ${head nets.internet.addrs4}'';          };          nets = {            internet = { @@ -426,15 +425,56 @@ let            };          };        }; +      wry = rec { +        cores = 1; +        dc = "makefu"; #dc = "cac"; +        extraZones = { +          "krebsco.de" = '' +            wry            IN A ${head nets.internet.addrs4} +            ''; +        }; +        nets = rec { +          internet = { +            addrs4 = ["162.219.7.216"]; +            aliases = [ +              "wry.internet" +            ]; +          }; +          retiolum = { +            via = internet; +            addrs4 = ["10.243.29.169"]; +            addrs6 = ["42:6e1e:cc8a:7cef:827:f938:8c64:baad"]; +            aliases = [ +              "wry.retiolum" +            ]; +            tinc.pubkey = '' +              -----BEGIN RSA PUBLIC KEY----- +              MIICCgKCAgEAvmCBVNKT/Su4v9nl/Nm3STPo5QxWPg7xEkzIs3Oh39BS8+r6/7UQ +              rebib7mczb+ebZd+Rg2yFoGrWO8cmM0VcLy5bYRMK7in8XroLEjWecNNM4TRfNR4 +              e53+LhcPdkxo0A3/D+yiut+A2Mkqe+4VXDm/JhAiAYkZTn7jUtj00Atrc7CWW1gN +              sP3jIgv4+CGftdSYOB4dm699B7OD9XDLci2kOaFqFl4cjDYUok03G0AduUlRx10v +              CKbKOTIdm8C36A902/3ms+Hyzkruu+VagGIZuPSwqXHJPCu7Ju+jarKQstMmpQi0 +              PubweWDL0o/Dfz2qT3DuL4xDecIvGE6kv3m41hHJYiK+2/azTSehyPFbsVbL7w0V +              LgKN3usnZNcpTsBWxRGT7nMFSnX2FLDu7d9OfCuaXYxHVFLZaNrpccOq8NF/7Hbk +              DDW81W7CvLyJDlp0WLnAawSOGTUTPoYv/2wAapJ89i8QGCueGvEc6o2EcnBVMFEW +              ejWTQzyD816f4RsplnrRqLVlIMbr9Q/n5TvlgjjhX7IMEfMy4+7qLGRQkNbFzgwK +              jxNG2fFSCjOEQitm0gAtx7QRIyvYr6c7/xiHz4AwxYzBmvQsL/OK57NO4+Krwgj5 +              Vk8TQ2jGO7J4bB38zaxK+Lrtfl8i1AK1171JqFMhOc34JSJ7T4LWDMECAwEAAQ== +              -----END RSA PUBLIC KEY----- +            ''; +          }; +        }; +      };        gum = rec {          cores = 1;          dc = "online.net"; #root-server          extraZones = {            "krebsco.de" = '' -            omo               IN A      ${elemAt nets.internet.addrs4 0} -            gum               IN A      ${elemAt nets.internet.addrs4 0} -            paste             IN A      ${elemAt nets.internet.addrs4 0}''; +            omo               IN A      ${head nets.internet.addrs4} +            euer              IN A      ${head nets.internet.addrs4} +            gum               IN A      ${head nets.internet.addrs4} +            paste             IN A      ${head nets.internet.addrs4}'';          };          nets = {            internet = {  | 
