Skip to content

Chart 1.2.0: default to native Server 3.4.0 and sleep before SIGTERM (#608) - #1127

Open
rmcdaniel wants to merge 4 commits into
mainfrom
fix/server-608-prestop
Open

rmcdaniel wants to merge 4 commits into
mainfrom
fix/server-608-prestop

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Nov 11, 2026 •

Copy link
Copy Markdown
Member

Fixes #608. Moves the chart default to native Server 3.4.0 (handed over by General).

Default image 3.4.0

source-release.json sets helm_chart.app_version to 3.4.0 and scripts/ci/sync-source-release.mjs --write updates Chart.yaml (appVersion, image reference), values.yaml and the README, the same shape as #1117. 3.4.0 has no schema change from 3.3.x (MySQL/MariaDB/PostgreSQL stay at schema 11), so a plain helm upgrade works; UPGRADING sends 3.2.x and earlier through the 1.1.0 steps first.

preStop sleep (#608)

Kubernetes removes a terminating pod from Service endpoints asynchronously, so the listener could close while traffic was still routed to it. The native Deployment now has a preStop hook that sleeps native.preStopSleepSeconds (default 5; 0 removes it) before SIGTERM. native.terminationGracePeriodSeconds defaults to 70 so a 60-second worker poll still drains after the sleep, and the render-time refusal accounts for the sleep.

Chart 1.2.0 (new optional value, so minor). Artifact Hub notes and docs/UPGRADING.md are updated.

Checks: python scripts/ci/test_helm_runtime_modes.py 20/20 and helm lint with Helm v3.16.2. Publication goes through the existing chart release workflow after merge.

🤖 Generated with Claude Code

Native pods closed their listener on SIGTERM while Services could still
route to them (#608). The native Deployment now runs a preStop sleep of
native.preStopSleepSeconds (default 5, 0 disables) and the default grace
period becomes 70 seconds so worker polls still drain afterwards. Chart 1.2.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
rmcdaniel and others added 2 commits November 11, 2026 16:00
The chart version is pinned by the source release record and moves in a
chart release PR, as earlier template changes did.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Packaged chart changes ship as a chart release: the source release record
and Chart.yaml move to 1.2.0, with the Artifact Hub note and an UPGRADING
section. The default image stays native Server 3.3.2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rmcdaniel rmcdaniel changed the title Sleep before SIGTERM so native rolling updates drop no requests (#608) Chart 1.2.0: sleep before SIGTERM so native rolling updates drop no requests (#608) Nov 11, 2026
3.4.0 is released and promoted with no schema change from 3.3.x, so the
chart default moves from 3.3.2 to 3.4.0 in the same 1.2.0 release as the
preStop sleep.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rmcdaniel rmcdaniel changed the title Chart 1.2.0: sleep before SIGTERM so native rolling updates drop no requests (#608) Chart 1.2.0: default to native Server 3.4.0 and sleep before SIGTERM (#608) Nov 11, 2026
@sonarqubecloud

Copy link
Copy Markdown

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Drain Server pods cleanly during Kubernetes rolling updates

1 participant