]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - nixops/modules/websites/tools/dav/davical.nix
Move davical and Jerome's website passwords to secure location
[perso/Immae/Config/Nix.git] / nixops / modules / websites / tools / dav / davical.nix
index f6cb5bbe86d6f39d17a01ad3a7d6eb5f0ae90240..4e464ebfda106da940bfeaf1749795a8604728d5 100644 (file)
@@ -16,7 +16,12 @@ let
     '';
   };
   davical = rec {
-    config = writeText "davical_config.php" ''
+    keys."dav-davical" = {
+      destDir = "/run/keys/webapps";
+      user = apache.user;
+      group = apache.group;
+      permissions = "0700";
+      text = ''
         <?php
         $c->pg_connect[] = "dbname=${env.postgresql.database} user=${env.postgresql.user} host=${env.postgresql.socket} password=${env.postgresql.password}";
 
@@ -69,6 +74,7 @@ let
         $c->do_not_sync_from_ldap = array('admin' => true);
         include('drivers_ldap.php');
       '';
+    };
     webapp = stdenv.mkDerivation rec {
       version = "1.1.7";
       name = "davical-${version}";
@@ -84,7 +90,7 @@ let
       installPhase = ''
         mkdir -p $out
         cp -ra config dba docs htdocs inc locale po scripts testing zonedb $out
-        ln -s ${config} $out/config/config.php
+        ln -s /run/keys/webapps/dav-davical $out/config/config.php
       '';
       buildInputs = [ gettext ];
     };
@@ -131,7 +137,8 @@ let
         '';
     };
     phpFpm = rec {
-      basedir = builtins.concatStringsSep ":" [ webapp config awl ];
+      serviceDeps = [ "postgresql.service" "openldap.service" "dav-davical-key.service" ];
+      basedir = builtins.concatStringsSep ":" [ webapp "/run/keys/webapps/dav-davical" awl ];
       socket = "/var/run/phpfpm/davical.sock";
       pool = ''
         listen = ${socket}