From 1247e537b0c8e5ed780ab890cbce4612714a0fa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Thu, 9 May 2019 10:03:16 +0200 Subject: Make etherpad derivation pure It also moves .ep_initialized to /var/lib to allow proper initialization. --- nixops/modules/websites/tools/ether/default.nix | 10 +++++++++- nixops/modules/websites/tools/ether/etherpad_lite.nix | 5 +---- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'nixops') diff --git a/nixops/modules/websites/tools/ether/default.nix b/nixops/modules/websites/tools/ether/default.nix index 09e5c9d..c4685a4 100644 --- a/nixops/modules/websites/tools/ether/default.nix +++ b/nixops/modules/websites/tools/ether/default.nix @@ -5,6 +5,7 @@ let env = myconfig.env.tools.etherpad-lite; }; + varDir = etherpad.webappDir.varDir; cfg = config.services.myWebsites.tools.etherpad-lite; in { options.services.myWebsites.tools.etherpad-lite = { @@ -26,6 +27,8 @@ in { script = '' exec ${pkgs.nodejs}/bin/node ${etherpad.webappDir}/src/node/server.js \ + --sessionkey /var/secrets/webapps/tools-etherpad-sessionkey \ + --apikey /var/secrets/webapps/tools-etherpad-apikey \ --settings /var/secrets/webapps/tools-etherpad ''; @@ -44,7 +47,12 @@ in { Restart = "always"; Type = "simple"; TimeoutSec = 60; - ExecStartPre = "+${pkgs.coreutils}/bin/chown -R etherpad-lite:etherpad-lite /var/secrets/webapps/tools-etherpad /var/secrets/webapps/tools-etherpad-sessionkey /var/secrets/webapps/tools-etherpad-apikey"; + # Use ReadWritePaths= instead if varDir is outside of /var/lib + StateDirectory="etherpad-lite"; + ExecStartPre = [ + "+${pkgs.coreutils}/bin/install -d -m 0755 -o etherpad-lite -g etherpad-lite ${varDir}/ep_initialized" + "+${pkgs.coreutils}/bin/chown -R etherpad-lite:etherpad-lite ${varDir} /var/secrets/webapps/tools-etherpad /var/secrets/webapps/tools-etherpad-sessionkey /var/secrets/webapps/tools-etherpad-apikey" + ]; }; }; diff --git a/nixops/modules/websites/tools/ether/etherpad_lite.nix b/nixops/modules/websites/tools/ether/etherpad_lite.nix index 35220ee..c6f3704 100644 --- a/nixops/modules/websites/tools/ether/etherpad_lite.nix +++ b/nixops/modules/websites/tools/ether/etherpad_lite.nix @@ -119,10 +119,7 @@ let ''; } ]; - webappDir = (etherpad-lite.override { - session_key = "/var/secrets/webapps/tools-etherpad-sessionkey"; - api_key = "/var/secrets/webapps/tools-etherpad-apikey"; - }).withModules etherpad-lite-modules; + webappDir = etherpad-lite.withModules (builtins.attrValues etherpad-lite-modules); in { inherit webappDir keys listenPort; -- cgit v1.2.3