Merge pull request #18574 from ericsagnes/feat/mongodb

MongoDB service: switch configuration format to YAML
This commit is contained in:
Domen Kožar 2016-09-21 14:19:17 +02:00 committed by GitHub
commit 001d314e87
3 changed files with 14 additions and 11 deletions

View File

@ -106,6 +106,11 @@ following incompatible changes:</para>
tool introduced to generate Go package definition from its Go source automatically.</para> tool introduced to generate Go package definition from its Go source automatically.</para>
</listitem> </listitem>
<listitem>
<para><literal>services.mongodb.extraConfig</literal> configuration format
was changed to YAML.</para>
</listitem>
</itemizedlist> </itemizedlist>

View File

@ -12,13 +12,11 @@ let
mongoCnf = pkgs.writeText "mongodb.conf" mongoCnf = pkgs.writeText "mongodb.conf"
'' ''
bind_ip = ${cfg.bind_ip} net.bindIp: ${cfg.bind_ip}
${optionalString cfg.quiet "quiet = true"} ${optionalString cfg.quiet "systemLog.quiet: true"}
dbpath = ${cfg.dbpath} systemLog.destination: syslog
syslog = true storage.dbPath: ${cfg.dbpath}
fork = true ${optionalString (cfg.replSetName != "") "replication.replSetName: ${cfg.replSetName}"}
pidfilepath = ${cfg.pidFile}
${optionalString (cfg.replSetName != "") "replSet = ${cfg.replSetName}"}
${cfg.extraConfig} ${cfg.extraConfig}
''; '';
@ -84,9 +82,9 @@ in
extraConfig = mkOption { extraConfig = mkOption {
default = ""; default = "";
example = '' example = ''
nojournal = true storage.journal.enabled: false
''; '';
description = "MongoDB extra configuration"; description = "MongoDB extra configuration in YAML format";
}; };
}; };
@ -112,7 +110,7 @@ in
after = [ "network.target" ]; after = [ "network.target" ];
serviceConfig = { serviceConfig = {
ExecStart = "${mongodb}/bin/mongod --quiet --config ${mongoCnf}"; ExecStart = "${mongodb}/bin/mongod --quiet --config ${mongoCnf} --fork --pidfilepath ${cfg.pidFile}";
User = cfg.user; User = cfg.user;
PIDFile = cfg.pidFile; PIDFile = cfg.pidFile;
Type = "forking"; Type = "forking";

View File

@ -77,7 +77,7 @@ in {
}; }; }; };
mongodb.enable = true; mongodb.enable = true;
mongodb.extraConfig = '' mongodb.extraConfig = ''
nojournal = true storage.journal.enabled: false
''; '';
}; };
systemd.services.mongodb.unitConfig.Before = "pump.io.service"; systemd.services.mongodb.unitConfig.Before = "pump.io.service";