You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Helm chart: run native 3.x (still PHP-only after 3.0.0) #946
Native 3.0.0 is released as durableworkflow/server:3.0.0 and latest (#325), but the Helm chart (k8s/helm/durable-workflow, chart 0.3.8) still targets PHP.
State
values.yaml defaults image.tag to 2.11.8 (appVersion 2.11.8). Only the PHP release flow (scripts/ci/sync-source-release.mjs) generates that default. The native release workflow doesn't touch it, so a default install still gets a working PHP 2.11.8.
The templates are PHP-shaped:
a server Deployment;
a queue-worker Deployment, HPA and PDB;
a scheduler CronJob and a migration Job that call server-entrypoint and artisan;
Redis wiring.
The native image has none of server-entrypoint, artisan, a queue worker or Redis. Native is one process: it creates and checks its schema at startup and runs maintenance (timers, repair, retention) in-process, as docker-compose.published.yml already does since Rust #325: published Compose runs the native server #920.
Hazard: setting image.tag=3.0.0 on this chart renders workloads that fail at runtime.
The pre-release list on #325 included "Compose and Helm defaults switched to native". Only Compose was done (#920), so 3.0.0 shipped with this gap.
Needed
Now (small): make the chart refuse a 3.x image (tag or native flag) at template time with a clear message, until native mode exists. This closes the hazard without changing the PHP default.
Native chart mode:
a single server Deployment running the native binary;
no worker, scheduler or Redis;
native readiness and health probes;
DB and TLS settings as today;
schema upgrades between native versions through the native schema-upgrade command as an explicit pre-upgrade Job, never implicit.
Chart major version and docs:docs/UPGRADING.md covers PHP→native through the takeover runbook (takeover is planned for deprecation in 3.1.x, Rust #325: note takeover's planned deprecation in 3.1.x #930), and fresh native installs. Cloud's cutover settings live on cloud#9.
CI:helm template and lint for both modes, and a kind or k3d smoke test of the native mode against the published 3.0.0 digest.
Step 1 is done: chart 0.3.9 (#947) refuses native 3.x tags at render time, including latest and 3. It's published and read back (details on #947). Native chart mode, step 2, is still open.
Security independently accepts the public Helm 1.0.0 publication. Exact run, source, OCI/package/image digests, anonymous pull, and clean-install evidence are recorded on #963: #963 (comment)
The acceptance is bounded to chart 1.0.0 / appVersion 3.0.1; a later appVersion bump is a separate release change.
Activity
Helm chart 0.3.9: also refuse the rolling 3 and latest tags, with a r…
rmcdaniel commentedon Nov 2, 2026
Step 1 is done: chart 0.3.9 (#947) refuses native 3.x tags at render time, including
latestand3. It's published and read back (details on #947). Native chart mode, step 2, is still open.Helm native mode: fix the PHP memo guard scenario and Sonar findings
Helm native mode: gate the schema-upgrade hook on live proof, apply S…
Helm chart: reserve the chart's authority metadata
rmcdaniel commentedon Nov 3, 2026
Native Helm chart mode is delivered: chart 1.0.0 is published (General, 01:38 UTC).
17c52f5f, Security final-cleared atc40a57f6. Server reviewed the native runtime facts.oci://ghcr.io/durable-workflow/charts/durable-workflow1.0.0, digestsha256:6d980357be8361e7abd785c0c5ba4bc2a3a4f128c9fca7ed047d175346c554af, appVersion 3.0.1.runtimeis set explicitly./api/ready, TCP liveness;Closing as delivered.
rmcdaniel commentedon Nov 3, 2026
Security independently accepts the public Helm 1.0.0 publication. Exact run, source, OCI/package/image digests, anonymous pull, and clean-install evidence are recorded on #963: #963 (comment)
The acceptance is bounded to chart 1.0.0 / appVersion 3.0.1; a later appVersion bump is a separate release change.