about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorEric Sagnes <eric.sagnes@gmail.com>2016-09-14 11:58:29 +0900
committerEric Sagnes <eric.sagnes@gmail.com>2016-09-18 09:29:35 +0900
commit5cd565e507c1655800fa76bd06c707994ac0df32 (patch)
tree83668e0677c4cf37f56a65964d943dc409089840 /nixos
parent48999a953b3cad3752c5f845484d1e573335a45e (diff)
downloadnixlib-5cd565e507c1655800fa76bd06c707994ac0df32.tar
nixlib-5cd565e507c1655800fa76bd06c707994ac0df32.tar.gz
nixlib-5cd565e507c1655800fa76bd06c707994ac0df32.tar.bz2
nixlib-5cd565e507c1655800fa76bd06c707994ac0df32.tar.lz
nixlib-5cd565e507c1655800fa76bd06c707994ac0df32.tar.xz
nixlib-5cd565e507c1655800fa76bd06c707994ac0df32.tar.zst
nixlib-5cd565e507c1655800fa76bd06c707994ac0df32.zip
mongodb service: switch configuration format to YAML
Configuration format has changed from MongoDB 2.6 to
YAML and MongoDB 2.4 is EOL since March 2016.
Diffstat (limited to 'nixos')
-rw-r--r--nixos/doc/manual/release-notes/rl-1609.xml5
-rw-r--r--nixos/modules/services/databases/mongodb.nix18
2 files changed, 13 insertions, 10 deletions
diff --git a/nixos/doc/manual/release-notes/rl-1609.xml b/nixos/doc/manual/release-notes/rl-1609.xml
index 988e57caf105..4d210cf0c2b7 100644
--- a/nixos/doc/manual/release-notes/rl-1609.xml
+++ b/nixos/doc/manual/release-notes/rl-1609.xml
@@ -106,6 +106,11 @@ following incompatible changes:</para>
     tool introduced to generate Go package definition from its Go source automatically.</para>
   </listitem>
 
+  <listitem>
+    <para><literal>services.mongodb.extraConfig</literal> configuration format
+    was changed to YAML.</para>
+  </listitem>
+
 </itemizedlist>
 
 
diff --git a/nixos/modules/services/databases/mongodb.nix b/nixos/modules/services/databases/mongodb.nix
index ef9bc46e4a0e..38e46a0c6ef9 100644
--- a/nixos/modules/services/databases/mongodb.nix
+++ b/nixos/modules/services/databases/mongodb.nix
@@ -12,13 +12,11 @@ let
 
   mongoCnf = pkgs.writeText "mongodb.conf"
   ''
-    bind_ip = ${cfg.bind_ip}
-    ${optionalString cfg.quiet "quiet = true"}
-    dbpath = ${cfg.dbpath}
-    syslog = true
-    fork = true
-    pidfilepath = ${cfg.pidFile}
-    ${optionalString (cfg.replSetName != "") "replSet = ${cfg.replSetName}"}
+    net.bindIp: ${cfg.bind_ip}
+    ${optionalString cfg.quiet "systemLog.quiet: true"}
+    systemLog.destination: syslog
+    storage.dbPath: ${cfg.dbpath}
+    ${optionalString (cfg.replSetName != "") "replication.replSetName: ${cfg.replSetName}"}
     ${cfg.extraConfig}
   '';
 
@@ -84,9 +82,9 @@ in
       extraConfig = mkOption {
         default = "";
         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" ];
 
         serviceConfig = {
-          ExecStart = "${mongodb}/bin/mongod --quiet --config ${mongoCnf}";
+          ExecStart = "${mongodb}/bin/mongod --quiet --config ${mongoCnf} --fork --pidfilepath ${cfg.pidFile}";
           User = cfg.user;
           PIDFile = cfg.pidFile;
           Type = "forking";