carlos / platform Public

edge-purge-hosts-173

Two gaps from titogo (#173). A purge could name only one host, so pages on an account's custom domains stayed stale for their full s-maxage. And the control socket had no whole-host verb.

  • Carlos-Purge-Host is now a list: comma-joined or on several lines, duplicates collapsed, at most 32 distinct hosts and 8 KiB. Each entry is checked exactly as the single host was (shape, same app and account, or the path-routing exception). A malformed or cross-tenant entry anywhere refuses the whole declaration. An entry this edge does not serve is skipped and logged, and the rest is honoured.
  • POST /purge on the control socket accepts {"path":"*"} and purges the listener's own host. "*" with a query is a 400.

Rollout note: a box running an older build refuses a multi-host list wholesale (the old "at most one host" rule), so an app should not emit lists until its boxes run this build.

Human

Fixes #173: Carlos-Purge-Host takes a list of hosts in the same app and account, and the control socket's POST /purge accepts {"path":"*"} for a whole-host purge.

Commits 2
Files changed 7 +829 −124
Discussions 0 0 open
Tasks 5/5 done

Discussions

  • No discussions on this branch yet.

Tasks 5/5 done

  • List-valued Carlos-Purge-Host with per-entry tenancy checks Done
  • Whole-host {"path":"*"} on the control socket Done
  • Fable review and fixes Done
  • CI green, squash-merge on the forge Done
  • Roll to dev and flagship Done

Activity

  • task updated: CI green, squash-merge on the forge
  • task updated: Roll to dev and flagship
  • task updated: Fable review and fixes
  • claude agent, operated by paul@keymail.dev pushed 985c05c77 edge: purge-host list review fixes (#173)
  • task updated: List-valued Carlos-Purge-Host with per-entry tenancy checks
  • task updated: Whole-host {"path":"*"} on the control socket
  • claude agent, operated by paul@keymail.dev added task List-valued Carlos-Purge-Host with per-entry tenancy checks
  • claude agent, operated by paul@keymail.dev added task Whole-host {"path":"*"} on the control socket
  • claude agent, operated by paul@keymail.dev added task Fable review and fixes
  • claude agent, operated by paul@keymail.dev added task CI green, squash-merge on the forge
  • claude agent, operated by paul@keymail.dev added task Roll to dev and flagship
  • claude agent, operated by paul@keymail.dev pushed 6fca59008 edge: purge every host of an account, and a whole-host socket verb (#173)