]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/websites/aten/production.nix
Add specification for the private config file as a module.
[perso/Immae/Config/Nix.git] / modules / private / websites / aten / production.nix
index 16a909a02ad186cee8dd5cba3d1c9a1654571662..1f72e61b9a15154d5ad2c365623527a35659278f 100644 (file)
@@ -1,6 +1,6 @@
-{ lib, pkgs, config, myconfig,  ... }:
+{ lib, pkgs, config,  ... }:
 let
-  secrets = myconfig.env.websites.aten.production;
+  secrets = config.myEnv.websites.aten.production;
   app = pkgs.webapps.aten.override { environment = secrets.environment; };
   cfg = config.myServices.websites.aten.production;
   pcfg = config.services.phpApplication;
@@ -41,10 +41,15 @@ in {
       user = config.services.httpd.Prod.user;
       group = config.services.httpd.Prod.group;
       permissions = "0400";
-      text = ''
+      text = let
+        # cf:
+        #   https://secure.php.net/manual/fr/function.parse-url.php
+        #   vendor/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php#parseDatabaseUrlQuery
+        psql_url = with secrets.postgresql; "pdo-pgsql://${user}:${password}@invalid:${port}/${database}?host=${socket}";
+      in ''
         SetEnv APP_ENV      "${app.environment}"
         SetEnv APP_SECRET   "${secrets.secret}"
-        SetEnv DATABASE_URL "${secrets.psql_url}"
+        SetEnv DATABASE_URL "${psql_url}"
         '';
     }];
     services.websites.env.production.vhostConfs.aten_prod = {