Skip to main content

php-generic

Generic PHP app chart. Same workload shape as symfony but with toggleable probes so apps that don't expose /health or /ready can disable them.

  • Workload kind: StatefulSet
  • Container port: 80
  • Probes: each can be disabled via probes.<kind>.enabled: false
  • Init container: runs ./.container-init.sh if present
  • Migrations: component-tasks.migrations.commands run once per deploy as an ArgoCD Sync hook Job

Dependencies​

Toggling probes​

probes:
startup: { enabled: false }
readiness: { enabled: true, path: /ready }
liveness: { enabled: false }

If a probe is enabled: false, no probe section is rendered into the container spec.

Shared volumes (RWX)​

Cross-pod shared storage is opt-in via global.sharedVolumes. See component-shared-volume for the schema and examples.

global:
sharedVolumes:
- name: uploads
size: 5Gi
mounts:
- path: /var/www/html/public/uploads

Migrations​

Database migrations run once per deploy as an ArgoCD Sync hook Job, after the app secrets and database are ready and before any new pod of the app, its workers or its cron jobs starts:

component-tasks:
migrations:
commands:
- ["php", "craft", "up"]
- ["php", "craft", "cacheable/flush/config"]

.container-init.sh then holds only per-pod steps, or goes away entirely. Fields and behaviour: component-tasks → Migrations.