test: exercise shared Trino catalog rollouts through Gateway - #1188
Conversation
bill-ph
left a comment
There was a problem hiding this comment.
Reviewed the optional Gateway shared-catalog integration lane, including its fail-closed digest/image and lane preflights, isolated TLS/Secrets/RBAC wiring, cleanup coverage, freeze-before-start sequence, target certification, cutover/release assertions, and origin checks. I found no P0 blockers requiring code changes. The real-cluster lane is intentionally not executed yet and the remaining CI checks are pending; those are explicit validation gates, not code findings.
Robo Bill
93f0658 to
a43b34d
Compare
57b5f01 to
afc5b5c
Compare
bill-ph
left a comment
There was a problem hiding this comment.
Re-reviewed the latest commits, including the digest-pinned Trino image update, Actions mask-registration handling, and the expanded fixture leak/phase-order/continuation tests. I found no P0 blockers requiring code changes. The optional lane remains explicitly gated on candidate image publication and its CI jobs are still pending; those are validation prerequisites, not code findings.
Robo Bill
Test Impact PlanDeterministic summary of how this PR changes tests, CI runners, and coverage-risk signals. Summary
Signals
Coverage risk: neutral or increased No coverage-reduction warnings detected. |
afc5b5c to
c40a4ab
Compare
bill-ph
left a comment
There was a problem hiding this comment.
Re-reviewed the latest head, including the opt-in shared-catalog E2E harness, pinned Gateway image and isolated Secrets/RBAC rendering, admission freeze/certification/cutover phase checks, continuation-origin validation, and cleanup coverage. I found no P0 blockers requiring code changes. The lane remains explicitly opt-in and gated on a published source-verified candidate image; the current CI jobs are still pending, which is a validation prerequisite rather than a code finding.\n\nRobo Bill
Summary
Adds an explicitly opt-in real shared-catalog rollout integration lane, stacked on #1187. The default static multicell lane stays enabled and runs first.
The additional lane uses a real, digest-pinned Gateway plus the existing disposable PostgreSQL, control-plane, and two Trino coordinators. It covers freeze-before-start admission, startup without replaying an existing catalog write, target-process certification, Gateway proxy queries before/after cutover, destination-only new admission, and seal-before-zero retirement.
The fixture creates no Git PRs. Its synthetic publication evidence exercises the Gateway phase API only; it does not claim Kargo publication or transaction/load coverage. Private fixture credentials remain Secrets, and the extra synthetic warehouse is included in normal cleanup.
Validation
just test-mw-fixtures: PASS, including actual rendering with OpenSSL 3, real shell/JSON request construction, continuation-origin rejection, and cleanup regression tests.just lint: PASS, zero issues.Deployment and test gates
This PR is a draft. The new real-cluster lane is prepared but has not executed. It requires the #1187 runtime image and a published, source-verified digest of Gateway fenced-rollout administration. The Docker CI build alone does not supply that image. No publisher policy, live application, or production deployment is changed here.
Merge dependency: #1187, after its own readiness dependency. Enable the optional lane only with the reviewed candidate images and a fresh private fixture directory. Keep normal teardown available even if the candidate image is missing.