Skip to content

Sync develop → main for v1.8.1 chart release (egress-enforcement-check standard-mode CNI fix) - #278

Merged
saadqbal merged 2 commits into
mainfrom
sync/develop-to-main-v1.8.1
Jun 24, 2026
Merged

Sync develop → main for v1.8.1 chart release (egress-enforcement-check standard-mode CNI fix)#278
saadqbal merged 2 commits into
mainfrom
sync/develop-to-main-v1.8.1

Conversation

@saadqbal

@saadqbalsaadqbal commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

What

Syncs develop → main for the v1.8.1 chart release.

What 1.8.1 ships

develop is exactly two commits ahead of main:

The §8.2 egress-lockdown helm test gate was false-failing on CNIs that enforce egress NetworkPolicy in standard mode (notably AWS VPC CNI with NETWORK_POLICY_ENFORCING_MODE=standard — both the dev and prod fleets). The probe ran instantly on pod startup, inside the per-pod policy reconciliation window, connected, and reported EGRESS LOCKDOWN NOT ENFORCED. #276 makes the probe retry until egress is observed blocked (bounded by enforcementProbeTimeoutSeconds, default 60s), so it measures steady-state enforcement. This is the gate used to verify each fleet during the client-runtime#102 egress-lockdown rollout, so it must ship before the per-fleet flips can rely on helm test.

Closes#275.

Validation

  • helm-unittest: 267/267.
  • End-to-end on dev (EKS, AWS VPC CNI standard mode): the patched helm test goes green where the previous instant-probe failed; a live egress-restriction demo confirmed a training pod's direct external calls are all blocked and only the allowlisted backend is reachable via the squid gateway. Dev rolled back to its original state afterward.

After merge

Publish the v1.8.1 GitHub release (tag on main) → triggers release-helm-chart.yaml to package + publish to the helm repo. Then the client-runtime#102 per-fleet rollout can run with a trustworthy gate.

🤖 Generated with Claude Code


Note

Low Risk
Changes only the helm test hook script and chart metadata/docs; no runtime training workload or NetworkPolicy rules are modified.

Overview
Releases client chart v1.8.1 and fixes false failures in the §8.2 helm test egress-enforcement-check on CNIs that enforce egress only after a short per-pod reconcile (e.g. AWS VPC CNI NETWORK_POLICY_ENFORCING_MODE=standard).

The probe retriescurl to the canary host until TCP egress is blocked (pass) or networkPolicy.training.enforcementProbeTimeoutSeconds (default 60s) elapses while still reachable (fail). A reached latch records any successful TCP connect so a late DNS failure cannot downgrade a definitive “not enforced” result to inconclusive. values.yaml documents the new knob and updated EKS VPC CNI guidance; helm-unittest asserts the loop, timeout wiring, and default.

Reviewed by Cursor Bugbot for commit 2f22398. Bugbot is set up for automated code reviews on this repo. Configure here.

saadqbaland others added 2 commits June 24, 2026 17:32
…CNI reconciliation window (#276)
* fix(egress-enforcement-check): retry probe to tolerate standard-mode CNI reconciliation window
The SECURITY §8.2 egress-lockdown enforcement helm test false-failed on
clusters whose CNI enforces egress NetworkPolicy in "standard" mode —
notably AWS VPC CNI with NETWORK_POLICY_ENFORCING_MODE=standard, which both
the dev and prod fleets use. Standard mode allows a brand-new pod all
traffic until its per-pod policy reconciles (a few-second startup window);
the probe curled the canary host instantly on startup, won that race,
connected, and reported "EGRESS LOCKDOWN NOT ENFORCED" — even though the
lockdown is enforced for real training pods, which start far slower than
the window.
Retry the probe until egress is observed blocked, bounded by a new
networkPolicy.training.enforcementProbeTimeoutSeconds (default 60s): PASS as
soon as the connect is blocked, FAIL only if the host stays reachable for
the whole timeout. Correct on standard mode, strict mode, and genuinely
non-enforcing clusters alike.
Also refresh the stale values.yaml CNI guidance (AWS VPC CNI does enforce
with enableNetworkPolicy=true) and extend helm-unittest (full suite 267 pass).
Verified on dev (EKS, tb-client-dev-templates): a training-labelled pod that
sleeps 30s then probes is blocked on 1.1.1.1:443 and example.com:443, and
reaches the backend via the squid gateway.
Refs #275, tracebloc/client-runtime#104, tracebloc/client-runtime#102.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* fix(egress-enforcement-check): NOT-ENFORCED verdict outranks a late DNS failure
Bugbot (PR #276): the post-loop inconclusive branch keyed off only the last
curl exit code. If an earlier attempt observed the host reachable (rc=0) but
a later attempt failed DNS (rc=6), the hook reported "inconclusive / no TCP
attempted" instead of "NOT ENFORCED" — a misdiagnosis that could send an
operator chasing DNS when the CNI simply isn't enforcing egress.
Latch a `reached` flag whenever a probe establishes a TCP connection (any curl
exit other than 6) and branch on it after the loop: a connect seen on ANY
attempt yields the definitive NOT-ENFORCED verdict; INCONCLUSIVE is reserved
for the case where no TCP connection ever succeeded. helm-unittest updated.
Refs #275.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Readies the 1.8.1 release, which ships the egress-enforcement-check
standard-mode CNI fix (#276, closes#275): the §8.2 helm-test gate now
retries through the per-pod NetworkPolicy reconciliation window instead of
racing it, so it no longer false-fails on AWS VPC CNI standard mode (the dev
and prod fleets both use it). Validated end-to-end on dev — the patched
`helm test` goes green where the previous instant-probe test failed.
Refs #275.
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@saadqbal
saadqbal merged commit 072df14 into mainJun 24, 2026
39 of 40 checks passed
@saadqbal
saadqbal deleted the sync/develop-to-main-v1.8.1 branch July 9, 2026 11:41
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(egress-enforcement-check): retry probe to tolerate standard-mode CNI reconciliation window

3 participants

@saadqbal@aptracebloc@LukasWodka