feat(#6256): default hosted mint URL to mint.fullsend.sh - #6261
feat(#6256): default hosted mint URL to mint.fullsend.sh#6261fullsend-ai-coder[bot] wants to merge 4 commits into
Conversation
Change the hosted public mint URL from the raw GCP Cloud Run URL (fullsend-mint-gljhbkcloq-uc.a.run.app) to the community hostname (mint.fullsend.sh) backed by Cloudflare edge proxy (ADR 0068 interim deployment). Code changes: - Update DefaultMintURL in internal/cli/admin.go and DefaultPerRepoMintURL in internal/config/defaults.go - Add exported IsHostedMintURL() helper for hostname detection, replacing direct constant comparison in pkg/e2etest/auth.go - Update validateMintURL() to accept mint.fullsend.sh alongside .run.app and .cloudfunctions.net hosts - Add tests for IsHostedMintURL, validateMintURL acceptance of the new hostname, and DefaultMintURL constant value Documentation changes: - Replace all run.app URL references in docs with mint.fullsend.sh - Remove public-mint enrollment fiction from getting-started docs: adopters install shared Apps and use CLI defaults, no enrollment step needed - Clarify that mint enroll / unenroll language applies to self-managed mints, not the hosted community mint - Update standalone-mint fallback proxy examples and prereqs Closes #6256
|
🤖 Finished Review · ✅ Success · Started 1:58 PM UTC · Completed 2:11 PM UTC Commit: |
Site previewPreview: https://4776a4c0-site.fullsend-ai.workers.dev Commit: |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
|
/fs-fix The e2e failure is caused by this PR changing Fix in
Do not change workflow files, CLI defaults, or docs in this fix — only decouple e2e from the new community default. |
|
🤖 Finished Fix · ✅ Success · Started 2:10 PM UTC · Completed 2:18 PM UTC Commit: |
ReviewFindingsLow
Previous runReviewFindingsLow
Previous run (2)ReviewFindingsLow
Labels: PR modifies CLI mint URL defaults, validation logic, and user-facing documentation |
Add DefaultE2EMintURL constant for the per-org enrolled dev mint used by CI pool orgs. resolveMintURL() now falls back to DefaultE2EMintURL instead of cli.DefaultMintURL (mint.fullsend.sh), preventing 401s when pool orgs call the community mint where they are not enrolled. MintEnrollProjectID resolves to DefaultHostedMintGCPProject for both the e2e dev mint (direct comparison) and the community mint (via cli.IsHostedMintURL). Addresses review feedback on #6261
🔧 Fix agent — iteration 1 (human-triggered)Decoupled e2e test mint default from cli.DefaultMintURL. Added DefaultE2EMintURL constant for the per-org enrolled dev mint used by CI pool orgs. Updated resolveMintURL() and MintEnrollProjectID() to use the e2e-specific default, while MintEnrollProjectID still recognizes the community mint (mint.fullsend.sh) via IsHostedMintURL. All 4 human instruction items addressed. Fixed (4):
Tests: passedNext steps:
|
|
🤖 Review · Commit: |
|
/fs-fix Correction to the earlier fix instruction: do not change Two different mint URLs are in play:
Implement (no workflow changes):
Do not touch |
|
🤖 Finished Fix · ✅ Success · Started 2:21 PM UTC · Completed 2:29 PM UTC Commit: |
Revert resolveMintURL() to fall back to cli.DefaultMintURL (mint.fullsend.sh) for CI org locking and cross-org e2e tokens. Add DefaultPoolOrgInstallMintURL constant for the per-org enrolled dev mint used only by admin install tests (TestAdminInstallUninstall, TestVendorFromSubdirectory). MintEnrollProjectID recognises both URLs as hosted. Addresses review feedback on #6261
🔧 Fix agent — iteration 2 (human-triggered)Separated pool-org install mint URL from CI org-locking default. Reverted resolveMintURL() to cli.DefaultMintURL, added DefaultPoolOrgInstallMintURL constant, updated admin install test call sites to use it, and kept MintEnrollProjectID recognising both URLs as hosted. Fixed (4):
Tests: passed Decision points
Next steps:
|
|
🤖 Finished Review · ✅ Success · Started 2:31 PM UTC · Completed 2:45 PM UTC Commit: |
|
/fs-fix |
|
🤖 Finished Fix · ✅ Success · Started 3:05 PM UTC · Completed 3:13 PM UTC Commit: |
Use parsed.Hostname() (strips port) and strings.EqualFold (case- insensitive) for mint.fullsend.sh host checks so that URL variants like https://mint.fullsend.sh:443 or https://Mint.Fullsend.SH match correctly. Add test cases for port and case edge cases. Clarify DefaultPoolOrgInstallMintURL doc comment to explain why it intentionally stays on the raw Cloud Run URL. Addresses review feedback on #6261
🔧 Fix agent — iteration 3 (human-triggered)Addressed 2 of 3 review findings. Normalized host comparison in IsHostedMintURL and validateMintURL to handle port and case variants. Clarified DefaultPoolOrgInstallMintURL doc comment. The permission-expansion note was visibility-only and required no action. Fixed (2):
Disagreed (1):
Tests: passedNext steps:
|
|
🤖 Finished Review · ✅ Success · Started 3:14 PM UTC · Completed 3:27 PM UTC Commit: |
Summary
fullsend-mint-gljhbkcloq-uc.a.run.app) to the community hostname (mint.fullsend.sh) across CLI defaults, config constants, and all user-facing documentationIsHostedMintURL()helper and updatevalidateMintURL()to accept the new hostname alongside.run.appand.cloudfunctions.netWhat changed
Code (
internal/cli/admin.go,internal/config/defaults.go,pkg/e2etest/auth.go):DefaultMintURLandDefaultPerRepoMintURLconstants now resolve tohttps://mint.fullsend.shIsHostedMintURL()function detects the hosted community mint by hostname, used byMintEnrollProjectIDin e2e tests (replaces direct constant comparison for robustness)validateMintURL()acceptsmint.fullsend.shas a valid host alongside Cloud Run and Cloud Functions hostsDocs:
run.appURL references inmint-administration.md,standalone-mint.md,layered-config-reference.md, andrepo-management.mdupdated tomint.fullsend.shREADME.md: replaced enrollment instructions with shared-Apps + CLI-defaults framingoperations.md: replaced "contact fullsend team to unenroll" with "remove FULLSEND_MINT_URL variable"; clarified enrollment language applies to self-managed mints onlyrepo-management.md: updated prerequisites and example manifest URLstandalone-mint.md: updated fallback proxy prerequisites, examples, and enrollment languageTesting
TestValidateMintURL_AcceptsHostedCommunityMint,TestValidateMintURL_AcceptsCloudRunURL,TestValidateMintURL_AcceptsCloudFunctionsURL,TestValidateMintURL_RejectsArbitraryHosts,TestDefaultMintURL_IsHostedCommunity,TestIsHostedMintURLTestMintEnrollProjectID,TestResolveMintURL,TestInstallCmd_PerRepo*, config defaults tests) pass with updated constantsgo vetclean on all affected packagesCloses #6256
Post-script verification
agent/6256-mint-url-default)53456d472dcba81bcea79f8d715e9d6159cefa5c..HEAD)