Skip to content

r2_origin: pin the minted fabric-workspace credentials - #13397

Merged
gunbai-bot[bot] merged 1 commit into
mainfrom
workspace-credential-pin
Oct 6, 2026
Merged

gunbai-bot[bot] merged 1 commit into
mainfrom
workspace-credential-pin

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Pins the two credentials minted for the fabric-workspace R2 placement (#13161), so the workspace readers and writers stop refusing at gunbc.cloudflare.r2_origin fabric_workspace_standing.

Credential Mint run Secret version Access key id (= token id, r2_s3_access_key_is_created_token_id_citation)
read 37291106411 (r2-workspace-object-read-mint-receipt) cloudflare-r2-workspace-read-token v1 fabric_workspace_read_access_key_id
write 37292959180 (r2-workspace-object-write-mint-receipt) cloudflare-r2-workspace-write-token v1 fabric_workspace_write_access_key_id

The pins follow the durable origin's pattern (#11713): OriginCredentialPinned { access_key_id, token_value: secret_ref_pin_version(fleet_secret_ref(id), version) }. As with those pins, the instrument that re-derives a token id is list_account_tokens_for_reconcile, and a rotation changes a credential's version and key id together. Access key ids are not secret.

The bucket gunbai-fabric-workspace exists: r2_bucket_ensure run 37294324885 reported 'fabric-workspace absent apply create ok (locationHint requested enam); readback converged'. The accessor cells are part of the 13 R2 custody cells granted by gcp-iam-converge (run 37288763345, #13298).

Evidence: r2_workspace_standing_pins_both_minted_credentials (renamed from the unminted assertion) checks both key ids, both secret names, both versions, and that the two key ids differ. claim_batch on BuildBuddy, full rosters: cloudflare_r2_origin_mint_run 32/32, cloudflare_r2_bucket_ensure 18/18, fabric_blob 8/8.

Next: the If-Match race test against this bucket. It is what can cite extdeps.cloudflare.r2 r2_conditional_put_linearizability, which gates the workspace commit path.

🤖 Generated with Claude Code

From the federated mint runs 37291106411 (read) and 37292959180 (write): secret version 1 of
cloudflare-r2-workspace-{read,write}-token, access key ids = token ids from the receipts
(r2_s3_access_key_is_created_token_id_citation). fabric_workspace_standing is now
OriginCredentialPinned for both; witness asserts the exact pins. 32/32, 18/18, 8/8.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@gunbai-bot
gunbai-bot Bot added this pull request to the merge queue Oct 5, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Oct 5, 2026
@gunbai-bot
gunbai-bot Bot added this pull request to the merge queue Oct 6, 2026
Merged via the queue into main with commit a771099 Oct 6, 2026
4 checks passed
@gunbai-bot
gunbai-bot Bot deleted the workspace-credential-pin branch October 6, 2026 12:10
Sign up for free to 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.

0 participants