aboutsummaryrefslogtreecommitdiff
path: root/nixops/modules/websites/ludivine
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2019-04-21 19:31:06 +0200
committerIsmaël Bouya <ismael.bouya@normalesup.org>2019-04-21 19:31:06 +0200
commit8eded9ecb6220bb26599419a4aaea1743d3d187e (patch)
tree45538fcc9fa3bc9476311c14af8d399b25110a2b /nixops/modules/websites/ludivine
parent43fe68fb9fc66bda710974fe2a1a3321aa853303 (diff)
downloadNix-8eded9ecb6220bb26599419a4aaea1743d3d187e.tar.gz
Nix-8eded9ecb6220bb26599419a4aaea1743d3d187e.tar.zst
Nix-8eded9ecb6220bb26599419a4aaea1743d3d187e.zip
Move cache clearing of php applications to preStart systemd
Diffstat (limited to 'nixops/modules/websites/ludivine')
-rw-r--r--nixops/modules/websites/ludivine/default.nix2
-rw-r--r--nixops/modules/websites/ludivine/ludivinecassal.nix19
2 files changed, 14 insertions, 7 deletions
diff --git a/nixops/modules/websites/ludivine/default.nix b/nixops/modules/websites/ludivine/default.nix
index c5a904b..814764f 100644
--- a/nixops/modules/websites/ludivine/default.nix
+++ b/nixops/modules/websites/ludivine/default.nix
@@ -37,6 +37,7 @@ in {
37 }; 37 };
38 }; 38 };
39 39
40 services.myPhpfpm.preStart.ludivinecassal_prod = ludivinecassal_prod.phpFpm.preStart;
40 services.myPhpfpm.serviceDependencies.ludivinecassal_prod = ludivinecassal_prod.phpFpm.serviceDeps; 41 services.myPhpfpm.serviceDependencies.ludivinecassal_prod = ludivinecassal_prod.phpFpm.serviceDeps;
41 services.myPhpfpm.poolConfigs.ludivinecassal_prod = ludivinecassal_prod.phpFpm.pool; 42 services.myPhpfpm.poolConfigs.ludivinecassal_prod = ludivinecassal_prod.phpFpm.pool;
42 system.activationScripts.ludivinecassal_prod = ludivinecassal_prod.activationScript; 43 system.activationScripts.ludivinecassal_prod = ludivinecassal_prod.activationScript;
@@ -56,6 +57,7 @@ in {
56 deployment.keys = ludivinecassal_dev.keys; 57 deployment.keys = ludivinecassal_dev.keys;
57 security.acme.certs."eldiron".extraDomains."ludivine.immae.eu" = null; 58 security.acme.certs."eldiron".extraDomains."ludivine.immae.eu" = null;
58 59
60 services.myPhpfpm.preStart.ludivinecassal_dev = ludivinecassal_dev.phpFpm.preStart;
59 services.myPhpfpm.serviceDependencies.ludivinecassal_dev = ludivinecassal_dev.phpFpm.serviceDeps; 61 services.myPhpfpm.serviceDependencies.ludivinecassal_dev = ludivinecassal_dev.phpFpm.serviceDeps;
60 services.myPhpfpm.poolConfigs.ludivinecassal_dev = ludivinecassal_dev.phpFpm.pool; 62 services.myPhpfpm.poolConfigs.ludivinecassal_dev = ludivinecassal_dev.phpFpm.pool;
61 system.activationScripts.ludivinecassal_dev = ludivinecassal_dev.activationScript; 63 system.activationScripts.ludivinecassal_dev = ludivinecassal_dev.activationScript;
diff --git a/nixops/modules/websites/ludivine/ludivinecassal.nix b/nixops/modules/websites/ludivine/ludivinecassal.nix
index 423bbda..439d3c9 100644
--- a/nixops/modules/websites/ludivine/ludivinecassal.nix
+++ b/nixops/modules/websites/ludivine/ludivinecassal.nix
@@ -40,6 +40,18 @@ let
40 ''; 40 '';
41 }; 41 };
42 phpFpm = rec { 42 phpFpm = rec {
43 preStart = ''
44 if [ ! -f "${varDir}/currentWebappDir" -o \
45 ! -f "${varDir}/currentKey" -o \
46 "${webappDir}" != "$(cat ${varDir}/currentWebappDir 2>/dev/null)" ] \
47 || ! sha512sum -c --status ${varDir}/currentKey; then
48 pushd ${webappDir} > /dev/null
49 /run/wrappers/bin/sudo -u wwwrun ./bin/console --env=${environment} cache:clear --no-warmup
50 popd > /dev/null
51 echo -n "${webappDir}" > ${varDir}/currentWebappDir
52 sha512sum /run/keys/webapps/${environment}-ludivinecassal > ${varDir}/currentKey
53 fi
54 '';
43 serviceDeps = [ "mysql.service" "${environment}-ludivinecassal-key.service" ]; 55 serviceDeps = [ "mysql.service" "${environment}-ludivinecassal-key.service" ];
44 socket = "/var/run/phpfpm/ludivinecassal-${environment}.sock"; 56 socket = "/var/run/phpfpm/ludivinecassal-${environment}.sock";
45 pool = '' 57 pool = ''
@@ -141,13 +153,6 @@ let
141 install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} 153 install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir}
142 install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir}/tmp 154 install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir}/tmp
143 install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions 155 install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions
144 if [ ! -f "${varDir}/currentWebappDir" -o \
145 "${webappDir}" != "$(cat ${varDir}/currentWebappDir 2>/dev/null)" ]; then
146 pushd ${webappDir} > /dev/null
147 $wrapperDir/sudo -u wwwrun ./bin/console --env=${environment} cache:clear --no-warmup
148 popd > /dev/null
149 echo -n "${webappDir}" > ${varDir}/currentWebappDir
150 fi
151 ''; 156 '';
152 }; 157 };
153 webappDir = composerEnv.buildPackage ( 158 webappDir = composerEnv.buildPackage (