Repository navigation
fix(tenants): trust bounded release streams - #3726
Merged
Merged
Conversation
Signed-off-by: Nikolai Emil Damm <nikolaiemildamm@icloud.com>
devantler
marked this pull request as ready for review
September 12, 2026 11:25
This was referenced Sep 13, 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.
The AS Coaching semver source selected a valid tenant release signed by a newer immutable revision of the platform-owned publish workflow, but the platform matcher allowed only the two revisions recorded in its generated approval set. Production reconciliation then waited 30 minutes and failed even though the release stayed inside the platform's existing tenant boundary.
This change declares AS Coaching and Wedding as trusted application release streams. Their matcher now requires the exact GitHub OIDC issuer and exact
devantler-tech/actions/.github/workflows/publish-app.yamlpath at an immutable 40-hex commit, while.githuband AWS remain bound to their generated exact revision sets. The writer preserves that distinction, and enforcement rejects a concrete revision pair on a trusted release stream because it would recreate the per-release platform approval gate.The platform continues to govern package source, namespace, RBAC, network, and admission-policy boundaries. A tenant release can move freely within those bounds; additional authority still requires a reviewed platform change.
Validation:
bash scripts/tests/test-write-publish-workflow-matchers.shbash scripts/tests/test-publish-workflow-approved-revisions-guard.shbash scripts/tests/test-shared-publish-workflow-pin-guard.shbash scripts/guard-shared-publish-workflow-pin.shshellcheck -xon the changed matcher scripts and testsgo test ./scripts/validate-eks-ci-role-policyFixes #3699