Context
The php-fpm container warms the application cache in a postStart hook
(phing -S warmup). postStart failures are hard to observe, run concurrently with the
container's main process, and the pod can become Ready before the warmup finished.
Upstream PR shopsys/deployment#73 moves the warmup into a dedicated init container
(same image, same env, shared source-codes volume + domains-urls mount) and drops the
postStart hook.
Proposal
Port the same change into deployment-webserver-php-fpm.yaml:
Benefits: warmup failures fail the rollout visibly (init container status), readiness is
truthful, logs are separated.
Tasks
Reference: shopsys/deployment#73
Context
The php-fpm container warms the application cache in a
postStarthook(
phing -S warmup). postStart failures are hard to observe, run concurrently with thecontainer's main process, and the pod can become Ready before the warmup finished.
Upstream PR shopsys/deployment#73 moves the warmup into a dedicated init container
(same image, same env, shared
source-codesvolume + domains-urls mount) and drops thepostStart hook.
Proposal
Port the same change into
deployment-webserver-php-fpm.yaml:warmup: app image,command: ["/var/www/html/phing", "-S", "warmup"],mounts
source-codes+ domains-urls, full backend env (shopsys.appEnv)postStarthook from the php-fpm container./phing warmup(separate decision — cronwarmup is part of its startup command, see [app] Align cron lifecycle with deployment#72 (Recreate, foreground crond, console lock/watch) #25)
Benefits: warmup failures fail the rollout visibly (init container status), readiness is
truthful, logs are separated.
Tasks
Reference: shopsys/deployment#73