diff options
author | Jaka Hudoklin <offlinehacker@users.noreply.github.com> | 2018-05-05 08:07:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-05 08:07:14 +0200 |
commit | 3ec4528dcfc8380dfe618a08337de451277bd302 (patch) | |
tree | 0f1a2ee875d69f76efb57d333c450193382ffc32 /nixos/modules/services | |
parent | 30caa09e51142e98c43f6288f55e1776fd5b625e (diff) | |
parent | c3eefe801a55586445125d49f159c1c0c5e76f76 (diff) | |
download | nixlib-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.nix | 150 | ||||
-rw-r--r-- | nixos/modules/services/cluster/panamax.nix | 156 |
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; - }; -} |