release: client chart 1.6.1 — proxy-key exclusion gate (#238) + appVersion lockstep#239
Merged
Merged
Conversation
…irectly-set env.HTTP_PROXY #236 excluded the proxy-owned keys (HTTP_PROXY/HTTPS_PROXY/NO_PROXY/… plus the HTTP_PROXY_* inputs) from jobs-manager's generic .Values.env passthrough UNCONDITIONALLY, so tracebloc.proxyEnv would be the sole source. But proxyEnv only emits when HTTP_PROXY_HOST is set — when it is UNSET, proxyEnv renders nothing AND the passthrough now drops a directly-set env.HTTP_PROXY (a full proxy URL, the pre-1.6.0 way to configure a corporate proxy). Net effect: clusters that set the raw HTTP_PROXY value instead of HTTP_PROXY_HOST lose backend/registry egress behind their corporate proxy on upgrade to 1.6.0 — an upgrade regression flagged by Cursor Bugbot on release PR #235. Gate the exclusion on proxyEnv being active: build $proxyKeys empty and only populate it when .Values.env.HTTP_PROXY_HOST is set (mirrors proxyEnv's own gate). When unset, the list stays empty so the passthrough emits directly-set proxy vars verbatim — prior behavior preserved. When set, the exclusion holds exactly as in #236 (proxyEnv authoritative; a stray direct HTTP_PROXY dropped). Adds a proxy_env_test regression: a direct env.HTTP_PROXY + NO_PROXY with no HTTP_PROXY_HOST passes through on both jobs-manager containers. Confirmed the test fails (4 asserts) against the unconditional #236 template. Validation: helm unittest 196 pass (+1 regression); lint clean; 4-platform render (aks/bm/eks/oc) clean; render-verified both scenarios (direct HTTP_PROXY survives when host unset; proxyEnv authoritative and stray direct value dropped when host set). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…on lockstep The 1.6.0 chart bump (#231) moved Chart.yaml `version` 1.5.1 → 1.6.0 but left `appVersion` at "1.5.1" — every prior release (1.1.0 … 1.5.1) bumped the two in lockstep. tracebloc.labels emits `app.kubernetes.io/version` from .Chart.AppVersion, so a 1.6.0 chart labelled every resource (and reported to cluster info, which reads that standard label) as app version 1.5.1 while `helm.sh/chart` correctly said client-1.6.0 — two disagreeing version signals. Restore lockstep so the published 1.6.0 carries the right app version from the start (no stale-label 1.6.1 follow-up). No functional/workload change; helm unittest 196 pass, lint clean, render shows both labels at 1.6.0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
shujaatTracebloc
previously approved these changes
Jun 9, 2026
aptracebloc
previously approved these changes
Jun 9, 2026
Ship this PR's fixes as a 1.6.1 fast-follow (per #238) rather than folding into the still-unpublished 1.6.0: the proxy-key exclusion gate (#238) and the appVersion lockstep correction. Bumps both version and appVersion together so they stay in lockstep (the 1.6.0 bump's miss is what stranded appVersion at 1.5.1 in the first place); supersedes the intermediate appVersion=1.6.0 from the previous commit. helm unittest 196 pass; lint clean; render shows both labels (app version + helm.sh/chart) at 1.6.1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
54feeee
shujaatTracebloc
approved these changes
Jun 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cuts client chart 1.6.1 as a fast-follow to the (still-unpublished) 1.6.0, bundling two release-hygiene fixes plus the version bump. All verified on
develop: 196 helm-unittest pass, lint + 4-platform render (aks/bm/eks/oc) clean.Chart:
version1.6.0 → 1.6.1,appVersion1.5.1 → 1.6.1 (kept in lockstep).1. Closes #238 — gate proxy-key exclusion on
HTTP_PROXY_HOSTRefines #236 (already on
develop), flagged by Cursor Bugbot on release PR #235.Problem (upgrade regression): #236 excluded the proxy-owned keys (
HTTP_PROXY/HTTPS_PROXY/NO_PROXY/… + theHTTP_PROXY_*inputs) from jobs-manager's generic.Values.envpassthrough unconditionally, intendingtracebloc.proxyEnvto be the sole source. ButproxyEnvonly emits whenHTTP_PROXY_HOSTis set (_helpers.tpl:215). When it's unset,proxyEnvrenders nothing and the passthrough now drops a directly-setenv.HTTP_PROXY(a full proxy URL — the pre-1.6.0 way to configure a corporate proxy). Clusters that used the rawHTTP_PROXYvalue instead ofHTTP_PROXY_HOSTlose backend/registry egress on upgrade.Fix: build
$proxyKeysempty and only populate it when.Values.env.HTTP_PROXY_HOSTis set (mirrorsproxyEnv's own gate). The passthrough loops already key off$proxyKeys:proxyEnvauthoritative; a stray directHTTP_PROXYis dropped).Regression test: a direct
env.HTTP_PROXY+NO_PROXYwith noHTTP_PROXY_HOSTpasses through on both jobs-manager containers. Confirmed it fails (4 asserts) against the unconditional #236 template and passes against the gate. Render-verified both scenarios.2. Restore Chart
version/appVersionlockstepThe 1.6.0 bump (#231) moved
version1.5.1 → 1.6.0 but leftappVersionat "1.5.1" — every prior release (1.1.0 … 1.5.1) bumped both together.tracebloc.labelsemitsapp.kubernetes.io/versionfrom.Chart.AppVersion, so the chart labelled every resource (and reported to cluster info, which reads that standard label) with a stale app version whilehelm.sh/chartwas correct — two disagreeing version signals. The 1.6.1 bump sets both fields to 1.6.1.3. Bump chart → 1.6.1
Ship #1 and #2 as 1.6.1 (per #238's "land as 1.6.1 / fast-follow") rather than folding into the unpublished 1.6.0.
Release sequencing
sync/develop-to-main-v1.6.0branch behind Sync develop → main for v1.6.0 chart release #235) is unaffected — it ships, or not, as its own historical release without these fixes.developmoves to the 1.6.1 line here.release-helm-chart.yaml→ publishes client-1.6.1 to gh-pages.🤖 Generated with Claude Code
Note
Low Risk
Scoped to jobs-manager env templating and chart metadata; restores prior proxy passthrough when HTTP_PROXY_HOST is unset without changing the HTTP_PROXY_HOST-driven path.
Overview
Fixes an upgrade regression (#238) in jobs-manager proxy handling and bumps the Helm chart to 1.6.1 with aligned
version/appVersion.Proxy (#238): The jobs-manager template now builds the proxy-key exclusion list only when
env.HTTP_PROXY_HOSTis set—the same conditiontracebloc.proxyEnvuses. With the host unset, directenv.HTTP_PROXY/NO_PROXYvalues pass through the generic.Values.envloop again (pre-1.6.0 behavior). With the host set, #229 behavior is unchanged:proxyEnvowns merged proxy vars and passthrough must not re-emit duplicates.Chart:
Chart.yamlmoves to 1.6.1 for bothversionandappVersion.Tests: New helm-unittest cases assert both jobs-manager containers keep verbatim
HTTP_PROXYandNO_PROXYwhenHTTP_PROXY_HOSTis absent.Reviewed by Cursor Bugbot for commit 54feeee. Bugbot is set up for automated code reviews on this repo. Configure here.