summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/misc/ids.nix4
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/cluster/panamax.nix156
-rw-r--r--nixos/release.nix1
-rw-r--r--nixos/tests/panamax.nix21
5 files changed, 2 insertions, 181 deletions
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 0ed820a32acc..7a538210d10e 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -190,7 +190,7 @@
       cadvisor = 167;
       nylon = 168;
       apache-kafka = 169;
-      panamax = 170;
+      #panamax = 170; # unused
       exim = 172;
       #fleet = 173; # unused
       #input = 174; # unused
@@ -473,7 +473,7 @@
       #chronos = 164; # unused
       gitlab = 165;
       nylon = 168;
-      panamax = 170;
+      #panamax = 170; # unused
       exim = 172;
       fleet = 173;
       input = 174;
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 505c5497d36d..6f6a81bbda80 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -174,7 +174,6 @@
   ./services/cluster/kubernetes/default.nix
   ./services/cluster/kubernetes/dns.nix
   ./services/cluster/kubernetes/dashboard.nix
-  ./services/cluster/panamax.nix
   ./services/computing/boinc/client.nix
   ./services/computing/torque/server.nix
   ./services/computing/torque/mom.nix
diff --git a/nixos/modules/services/cluster/panamax.nix b/nixos/modules/services/cluster/panamax.nix
deleted file mode 100644
index 4475e8d8c24b..000000000000
--- a/nixos/modules/services/cluster/panamax.nix
+++ /dev/null
@@ -1,156 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-  cfg = config.services.panamax;
-
-  panamax_api = pkgs.panamax_api.override { dataDir = cfg.dataDir + "/api"; };
-  panamax_ui = pkgs.panamax_ui.override { dataDir = cfg.dataDir + "/ui"; };
-
-in {
-
-  ##### Interface
-  options.services.panamax = {
-    enable = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Whether to enable Panamax service.
-      '';
-    };
-
-    UIPort = mkOption {
-      type = types.int;
-      default = 8888;
-      description = ''
-        Panamax UI listening port.
-      '';
-    };
-
-    APIPort = mkOption {
-      type = types.int;
-      default = 3000;
-      description = ''
-        Panamax UI listening port.
-      '';
-    };
-
-    dataDir = mkOption {
-      type = types.str;
-      default = "/var/lib/panamax";
-      description = ''
-        Data dir for Panamax.
-      '';
-    };
-
-    fleetctlEndpoint = mkOption {
-      type = types.str;
-      default = "http://127.0.0.1:2379";
-      description = ''
-        Panamax fleetctl endpoint.
-      '';
-    };
-
-    journalEndpoint = mkOption {
-      type = types.str;
-      default = "http://127.0.0.1:19531";
-      description = ''
-        Panamax journal endpoint.
-      '';
-    };
-
-    secretKey = mkOption {
-      type = types.str;
-      default = "SomethingVeryLong.";
-      description = ''
-        Panamax secret key (do change this).
-      '';
-    };
-
-  };
-
-  ##### Implementation
-  config = mkIf cfg.enable {
-    systemd.services.panamax-api = {
-      description = "Panamax API";
-
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network.target" "fleet.service" "etcd.service" "docker.service" ];
-
-      path = [ panamax_api ];
-      environment = {
-        RAILS_ENV = "production";
-        JOURNAL_ENDPOINT = cfg.journalEndpoint;
-        FLEETCTL_ENDPOINT = cfg.fleetctlEndpoint;
-        PANAMAX_DATABASE_PATH = "${cfg.dataDir}/api/db/mnt/db.sqlite3";
-      };
-
-      preStart = ''
-        rm -rf ${cfg.dataDir}/state/tmp
-        mkdir -p ${cfg.dataDir}/api/{db/mnt,state/log,state/tmp}
-        ln -sf ${panamax_api}/share/panamax-api/_db/{schema.rb,seeds.rb,migrate} ${cfg.dataDir}/api/db/
-
-        if [ ! -f ${cfg.dataDir}/.created ]; then
-          bundle exec rake db:setup
-          bundle exec rake db:seed
-          bundle exec rake panamax:templates:load || true
-          touch ${cfg.dataDir}/.created
-        else
-          bundle exec rake db:migrate
-        fi
-      '';
-
-      serviceConfig = {
-        ExecStart = "${panamax_api}/bin/bundle exec rails server --binding 127.0.0.1 --port ${toString cfg.APIPort}";
-        User = "panamax";
-        Group = "panamax";
-      };
-    };
-
-    systemd.services.panamax-ui = {
-      description = "Panamax UI";
-
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network.target" "panamax_api.service" ];
-
-      path = [ panamax_ui ];
-      environment = {
-        RAILS_ENV = "production";
-        JOURNAL_ENDPOINT = cfg.journalEndpoint;
-        PMX_API_PORT_3000_TCP_ADDR = "localhost";
-        PMX_API_PORT_3000_TCP_PORT = toString cfg.APIPort;
-        SECRET_KEY_BASE = cfg.secretKey;
-      };
-
-      preStart = ''
-        mkdir -p ${cfg.dataDir}/ui/state/{log,tmp}
-        chown -R panamax:panamax ${cfg.dataDir}
-      '';
-
-      serviceConfig = {
-        ExecStart = "${panamax_ui}/bin/bundle exec rails server --binding 127.0.0.1 --port ${toString cfg.UIPort}";
-        User = "panamax";
-        Group = "panamax";
-        PermissionsStartOnly = true;
-      };
-    };
-
-    users.extraUsers.panamax =
-    { uid = config.ids.uids.panamax;
-      description = "Panamax user";
-      createHome = true;
-      home = cfg.dataDir;
-      extraGroups = [ "docker" ];
-    };
-
-    services.journald.enableHttpGateway = mkDefault true;
-    services.fleet.enable = mkDefault true;
-    services.cadvisor.enable = mkDefault true;
-    services.cadvisor.port = mkDefault 3002;
-    virtualisation.docker.enable = mkDefault true;
-
-    environment.systemPackages = [ panamax_api panamax_ui ];
-    users.extraGroups.panamax.gid = config.ids.gids.panamax;
-  };
-}
diff --git a/nixos/release.nix b/nixos/release.nix
index 5b6640f1d3cc..ebe23ebed02a 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -360,7 +360,6 @@ in rec {
   tests.openldap = callTest tests/openldap.nix {};
   tests.owncloud = callTest tests/owncloud.nix {};
   tests.pam-oath-login = callTest tests/pam-oath-login.nix {};
-  #tests.panamax = callTestOnMatchingSystems ["x86_64-linux"] tests/panamax.nix {};
   tests.peerflix = callTest tests/peerflix.nix {};
   tests.php-pcre = callTest tests/php-pcre.nix {};
   tests.postgresql = callSubTests tests/postgresql.nix {};
diff --git a/nixos/tests/panamax.nix b/nixos/tests/panamax.nix
deleted file mode 100644
index 088aa79f8c61..000000000000
--- a/nixos/tests/panamax.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "panamax";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ offline ];
-  };
-
-  machine = { config, pkgs, ... }: {
-    services.panamax.enable = true;
-  };
-
-  testScript =
-    ''
-      startAll;
-      $machine->waitForUnit("panamax-api.service");
-      $machine->waitForUnit("panamax-ui.service");
-      $machine->waitForOpenPort(3000);
-      $machine->waitForOpenPort(8888);
-      $machine->succeed("curl --fail http://localhost:8888/ > /dev/null");
-      $machine->shutdown;
-    '';
-})