diff options
author | Ismaël Bouya <ismael.bouya@normalesup.org> | 2019-04-21 19:31:06 +0200 |
---|---|---|
committer | Ismaël Bouya <ismael.bouya@normalesup.org> | 2019-04-21 19:31:06 +0200 |
commit | 8eded9ecb6220bb26599419a4aaea1743d3d187e (patch) | |
tree | 45538fcc9fa3bc9476311c14af8d399b25110a2b /nixops/modules/websites/ludivine | |
parent | 43fe68fb9fc66bda710974fe2a1a3321aa853303 (diff) | |
download | Nix-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.nix | 2 | ||||
-rw-r--r-- | nixops/modules/websites/ludivine/ludivinecassal.nix | 19 |
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 ( |