Repository navigation
fix(infra): settle stuck observability destination updates without the API - #1482
Conversation
…e API
The first beta.83 prd deploy left workers-observability-{logs,traces} in
state status "updating" after its 403. Alchemy resumes an interrupted
update whatever the diff returns, so #1479's diff patch never applied and
every prd deploy still reconciled, listed destinations, got a 403, and
skipped the api Worker.
reconcile now returns the stored attributes, with destinationConf
wrapped as Redacted, when the last-applied url, headers and enabled flag
match the desired ones. Those rows commit as "updated" without any API
call and later deploys diff to noop. A real change still observes and
PATCHes as before.
Maple review🟢 Confidence 8/10 · likely safe to merge Extends the alchemy beta.83 patch so a resumed destination update whose stored url, headers and enabled already match the desired props returns the stored attributes instead of listing the account (the 403). Only the two patched library files change, so merging is safe.
Before merge
What was checked
|
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing: 1
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Merged with 1 step from "Before merge" still open. If it is done, tick it on the review comment; if not, now is the time.
|
Why prd deploys still fail after #1479
The prd deploy still fails after #1479 (run 38657858388). Both observability destinations plan
update, the update gets a 403, and the api Worker is not updated.#1479 patched
diff, but the plan never consults it here. The first beta.83 deploy failed partway through, which left both rows in state atstatus: "updating". For anupdatingrow,Plan.tsresumes the update whetherdiffreturns noop or update. The resumedreconcilelists the account's destinations, which the deploy token is not allowed to do, so it fails with a 403 on every run.Fix
The alchemy patch now also makes
reconcilereturn the stored attributes when the last-appliedurl,headersandenabledmatch the desired ones. No API call is made, anddestinationConfis re-wrapped asRedacted. The stuck rows then commit asupdated, and later deploys diff to noop. If any of those values changes, for example a rotated ingest key,reconcilestill observes and PATCHes as before. That path still needs list access for the token.Verification
libandsrc.reconciledirectly with a stub Cloudflare environment:Successwith a RedacteddestinationConf, and no API call is madeSuccess🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.