feat(mint): implement ADR 0059 public mint mode - #2773
Conversation
Allow ALLOWED_ORGS=* to accept any org while restricting workflow provenance to fullsend-ai/fullsend upstream reusables, and align enrollment tooling and docs with public vs tight mint behavior. Signed-off-by: Barak Korren <bkorren@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Site previewPreview: https://1184ee02-site.fullsend-ai.workers.dev Commit: |
|
🤖 Review · ❌ Terminated · Started 7:49 AM UTC · Ended 8:17 AM UTC |
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
|
🤖 Finished Review · ❌ Failure · Started 7:49 AM UTC · Completed 8:17 AM UTC |
Clarify public mint docs (ALLOWED_ORGS=* succeeds without config changes), add CLI/provisioner tests for public mode paths, and extract mintValidationStepDone for admin install messaging. Signed-off-by: Barak Korren <bkorren@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
|
🤖 Review · |
PR Summary by Qodofeat(mint): implement ADR 0059 public mint mode (ALLOWED_ORGS=*)
AI Description
Diagram
High-Level Assessment
Files changed (16)
|
|
🤖 Finished Review · ❌ Failure · Started 9:51 AM UTC · Completed 10:20 AM UTC |
Code Review by Qodo
1.
|
ReviewFindingsMedium
Labels: existing labels ( Previous runReviewFindingsMedium
Labels: existing labels ( Previous run (2)ReviewFindingsMedium
Labels: existing labels ( Previous run (3)ReviewFindingsMedium
Labels: existing labels ( Previous run (4)ReviewFindingsMedium
Labels: existing labels ( Previous run (5)ReviewFindingsMedium
Previous run (6)ReviewFindingsMedium
Labels: PR modifies token mint validation, provisioner enrollment, and CLI mint commands implementing public mint mode Previous run (7)ReviewFindingsMedium
Low
Labels: PR modifies token mint validation, provisioner enrollment, and CLI mint commands to implement public mint mode per ADR 0059. |
Document that ALLOWED_ORGS=* must pair with a permissive WIF provider and that tight-mode provisioner paths do not provision public WIF yet. Signed-off-by: Barak Korren <bkorren@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
|
🤖 Finished Review · ✅ Success · Started 6:02 AM UTC · Completed 6:14 AM UTC |
Clarify that permissive WIF provisioning applies only to the hosted GCF mint (STSVerifier), not standalone JWKS verification. Signed-off-by: Barak Korren <bkorren@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
|
🤖 Review · |
|
🤖 Review · |
Stale FULLSEND_PER_REPO_INSTALL on test-repo caused enroll-all to skip the repo, so repo-maintenance never opened an enrollment PR. Signed-off-by: Barak Korren <bkorren@redhat.com>
a09e81c to
89675d7
Compare
|
🤖 Finished Review · ✅ Success · Started 7:09 AM UTC · Completed 7:24 AM UTC |
|
🤖 Finished Retro · ✅ Success · Started 7:15 AM UTC · Completed 7:23 AM UTC |
|
PR #2773 (feat: implement ADR 0059 public mint mode) was a substantial 19-file, +1068/-95 feature PR by ifireball, merged after 5 days with 12 commits. The review agent ran 13 times across 3 days (4 failed/terminated, 4 cancelled, 5 successful). The agent produced genuinely valuable findings: it caught missing public-mode guards in Proposals filed
|
Summary
ALLOWED_ORGSis*: any org may mint, butjob_workflow_refmust come fromfullsend-ai/fullsend/.github/workflows/only.fullsend/per-repo provenance, basename allowlist)EnsureOrgInMintsucceeds without config changes, per-repo WIF/unenroll errors) and CLI messaging for public mintsmint deploy --publicto bootstrap GCF-hosted public mints with alignedALLOWED_ORGS=*and permissive WIF CEL (assertion.repository_owner != ''); bidirectional mode guards block tight↔public conversion on redeployDeploying a public GCF mint
--pem-dir(shared role PEMs/app IDs)--publicfor public mints, omit for tight mintscmd/mint) are unchanged — no WIF provisioning neededTest plan
go test ./internal/mintcore/... ./internal/dispatch/gcf/... ./internal/cli/...hack/lint-mint-embed-syncmint deploy --publicprovisions permissive WIF +ALLOWED_ORGS=*; STS accepts any org with upstream workflow provenance--publicinto tight / tight into public)Made with Cursor