diff options
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/misc/ids.nix | 4 | ||||
-rw-r--r-- | nixos/modules/module-list.nix | 1 | ||||
-rw-r--r-- | nixos/modules/services/cluster/panamax.nix | 156 | ||||
-rw-r--r-- | nixos/release.nix | 1 | ||||
-rw-r--r-- | nixos/tests/panamax.nix | 21 |
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; - ''; -}) |