mesos-slave: docker and IP address config options
- Usage of docker containerizer is currently hardcoded, this PR makes it optional. Default is to enable it if docker is enabled. - Make IP address to listen on part of service configuration.
This commit is contained in:
parent
4c01e6d919
commit
045e93e0a6
@ -12,6 +12,8 @@ let
|
||||
attribsArg = optionalString (cfg.attributes != {})
|
||||
"--attributes=${mkAttributes cfg.attributes}";
|
||||
|
||||
containerizers = [ "mesos" ] ++ (optional cfg.withDocker "docker");
|
||||
|
||||
in {
|
||||
|
||||
options.services.mesos = {
|
||||
@ -22,8 +24,14 @@ in {
|
||||
type = types.uniq types.bool;
|
||||
};
|
||||
|
||||
ip = mkOption {
|
||||
description = "IP address to listen on.";
|
||||
default = "0.0.0.0";
|
||||
type = types.string;
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
description = "Mesos Slave port";
|
||||
description = "Port to listen on.";
|
||||
default = 5051;
|
||||
type = types.int;
|
||||
};
|
||||
@ -43,6 +51,12 @@ in {
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
withDocker = mkOption {
|
||||
description = "Enable the docker containerizer.";
|
||||
default = config.virtualisation.docker.enable;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
workDir = mkOption {
|
||||
description = "The Mesos work directory.";
|
||||
default = "/var/lib/mesos/slave";
|
||||
@ -92,17 +106,18 @@ in {
|
||||
description = "Mesos Slave";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
environment.MESOS_CONTAINERIZERS = "docker,mesos";
|
||||
environment.MESOS_CONTAINERIZERS = concatStringsSep "," containerizers;
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
${pkgs.mesos}/bin/mesos-slave \
|
||||
--ip=${cfg.ip} \
|
||||
--port=${toString cfg.port} \
|
||||
--master=${cfg.master} \
|
||||
${optionalString cfg.withHadoop "--hadoop-home=${pkgs.hadoop}"} \
|
||||
${attribsArg} \
|
||||
--work_dir=${cfg.workDir} \
|
||||
--logging_level=${cfg.logLevel} \
|
||||
--docker=${pkgs.docker}/libexec/docker/docker \
|
||||
${attribsArg} \
|
||||
${optionalString cfg.withHadoop "--hadoop-home=${pkgs.hadoop}"} \
|
||||
${optionalString cfg.withDocker "--docker=${pkgs.docker}/libexec/docker/docker"} \
|
||||
${toString cfg.extraCmdLineOptions}
|
||||
'';
|
||||
PermissionsStartOnly = true;
|
||||
|
Loading…
Reference in New Issue
Block a user