Skip to content

[P2][Deferred][Cloudflare] billing・collaboration Workersをsame-origin stagingへ配備する #433

Description

@Hosi121

Parent / dependency roles

Problem

The account Worker has an explicit staging deployment Issue (#312), but billing and collaboration deployment are currently implicit inside the final canary. Their custom routes, Hyperdrive bindings, distinct rate-limit namespaces, Durable Object migration, Stripe secrets, disabled preview/log surfaces, and smoke evidence have no independent owner.

Goal

Deploy the billing control plane and editor collaboration Worker/Durable Object to the same private staging origin as the reviewed web/API build, with production-shaped bindings and denial evidence.

Acceptance criteria

  • exact same-origin routes expose only the documented billing and collaboration endpoints
  • workers_dev and preview URLs are disabled
  • distinct caching-disabled Hyperdrive and least-privilege database roles are pinned
  • every rate-limit namespace is present, unique per route/environment, and fails closed when unavailable
  • Durable Object class/migration and room namespace are pinned to the reviewed deployment version
  • Stripe test secret/webhook secret and other credentials are Worker secrets, never vars, files, logs, traces, or artifacts
  • invocation logs/traces and unsafe request URL/body logging remain disabled
  • billing status/Checkout/webhook denial and collaboration upgrade/presence/head/revocation smoke cases pass on the custom staging domain
  • Worker version, route, bindings, migration head, and reviewed git commit are recorded without secrets
  • rollback disables the routes or restores the previous reviewed Worker version without accepting mixed contracts

Non-goals

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/frontendFrontend architecture and editor UIarea/infraCI and developer toolingarea/qualityTesting, accessibility, and compatibilitypriority/P2Follow-up or polishsize/MMedium scoped changestatus/deferredIntentionally postponed; does not block the active local-product milestonestatus/external-gateCompletion requires credentials, live infrastructure, or operator evidence outside normal local CItype/featureNew user-facing capability

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions