summary refs log tree commit diff
path: root/nixos/modules/services
diff options
context:
space:
mode:
authorJaka Hudoklin <offlinehacker@users.noreply.github.com>2018-05-05 08:07:14 +0200
committerGitHub <noreply@github.com>2018-05-05 08:07:14 +0200
commit3ec4528dcfc8380dfe618a08337de451277bd302 (patch)
tree0f1a2ee875d69f76efb57d333c450193382ffc32 /nixos/modules/services
parent30caa09e51142e98c43f6288f55e1776fd5b625e (diff)
parentc3eefe801a55586445125d49f159c1c0c5e76f76 (diff)
downloadnixlib-3ec4528dcfc8380dfe618a08337de451277bd302.tar
nixlib-3ec4528dcfc8380dfe618a08337de451277bd302.tar.gz
nixlib-3ec4528dcfc8380dfe618a08337de451277bd302.tar.bz2
nixlib-3ec4528dcfc8380dfe618a08337de451277bd302.tar.lz
nixlib-3ec4528dcfc8380dfe618a08337de451277bd302.tar.xz
nixlib-3ec4528dcfc8380dfe618a08337de451277bd302.tar.zst
nixlib-3ec4528dcfc8380dfe618a08337de451277bd302.zip
Merge pull request #39991 from xeji/remove-fleet
fleet, panamax: remove
Diffstat (limited to 'nixos/modules/services')
-rw-r--r--nixos/modules/services/cluster/fleet.nix150
-rw-r--r--nixos/modules/services/cluster/panamax.nix156
2 files changed, 0 insertions, 306 deletions
diff --git a/nixos/modules/services/cluster/fleet.nix b/nixos/modules/services/cluster/fleet.nix
deleted file mode 100644
index ec03be395948..000000000000
--- a/nixos/modules/services/cluster/fleet.nix
+++ /dev/null
@@ -1,150 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-  cfg = config.services.fleet;
-
-in {
-
-  ##### Interface
-  options.services.fleet = {
-    enable = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Whether to enable fleet service.
-      '';
-    };
-
-    listen = mkOption {
-      type = types.listOf types.str;
-      default = [ "/var/run/fleet.sock" ];
-      example = [ "/var/run/fleet.sock" "127.0.0.1:49153" ];
-      description = ''
-        Fleet listening addresses.
-      '';
-    };
-
-    etcdServers = mkOption {
-      type = types.listOf types.str;
-      default = [ "http://127.0.0.1:2379" ];
-      description = ''
-        Fleet list of etcd endpoints to use.
-      '';
-    };
-
-    publicIp = mkOption {
-      type = types.nullOr types.str;
-      default = "";
-      description = ''
-        Fleet IP address that should be published with the local Machine's
-        state and any socket information. If not set, fleetd will attempt
-        to detect the IP it should publish based on the machine's IP
-        routing information.
-      '';
-    };
-
-    etcdCafile = mkOption {
-      type = types.nullOr types.path;
-      default = null;
-      description = ''
-        Fleet TLS ca file when SSL certificate authentication is enabled
-        in etcd endpoints.
-      '';
-    };
-
-    etcdKeyfile = mkOption {
-      type = types.nullOr types.path;
-      default = null;
-      description = ''
-        Fleet TLS key file when SSL certificate authentication is enabled
-        in etcd endpoints.
-      '';
-    };
-
-    etcdCertfile = mkOption {
-      type = types.nullOr types.path;
-      default = null;
-      description = ''
-        Fleet TLS cert file when SSL certificate authentication is enabled
-        in etcd endpoints.
-      '';
-    };
-
-    metadata = mkOption {
-      type = types.attrsOf types.str;
-      default = {};
-      apply = attrs: concatMapStringsSep "," (n: "${n}=${attrs."${n}"}") (attrNames attrs);
-      example = literalExample ''
-        {
-          region = "us-west";
-          az = "us-west-1";
-        }
-      '';
-      description = ''
-        Key/value pairs that are published with the local to the fleet registry.
-        This data can be used directly by a client of fleet to make scheduling decisions.
-      '';
-    };
-
-    extraConfig = mkOption {
-      type = types.attrsOf types.str;
-      apply = mapAttrs' (n: v: nameValuePair ("FLEET_" + n) v);
-      default = {};
-      example = literalExample ''
-        {
-          VERBOSITY = 1;
-          ETCD_REQUEST_TIMEOUT = "2.0";
-          AGENT_TTL = "40s";
-        }
-      '';
-      description = ''
-        Fleet extra config. See
-        <link xlink:href="https://github.com/coreos/fleet/blob/master/Documentation/deployment-and-configuration.md"/>
-        for configuration options.
-      '';
-    };
-
-  };
-
-  ##### Implementation
-  config = mkIf cfg.enable {
-    systemd.services.fleet = {
-      description = "Fleet Init System Daemon";
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network.target" "fleet.socket" "etcd.service" "docker.service" ];
-      requires = [ "fleet.socket" ];
-      environment = {
-        FLEET_ETCD_SERVERS = concatStringsSep "," cfg.etcdServers;
-        FLEET_PUBLIC_IP = cfg.publicIp;
-        FLEET_ETCD_CAFILE = cfg.etcdCafile;
-        FLEET_ETCD_KEYFILE = cfg.etcdKeyfile;
-        FLEET_ETCD_CERTFILE = cfg.etcdCertfile;
-        FLEET_METADATA = cfg.metadata;
-      } // cfg.extraConfig;
-      serviceConfig = {
-        ExecStart = "${pkgs.fleet}/bin/fleetd";
-        Group = "fleet";
-      };
-    };
-
-    systemd.sockets.fleet = {
-      description = "Fleet Socket for the API";
-      wantedBy = [ "sockets.target" ];
-      listenStreams = cfg.listen;
-      socketConfig = {
-        ListenStream = "/var/run/fleet.sock";
-        SocketMode = "0660";
-        SocketUser = "root";
-        SocketGroup = "fleet";
-      };
-    };
-
-    services.etcd.enable = mkDefault true;
-    virtualisation.docker.enable = mkDefault true;
-
-    environment.systemPackages = [ pkgs.fleet ];
-    users.extraGroups.fleet.gid = config.ids.gids.fleet;
-  };
-}
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;
-  };
-}