feat: full Stripe catalog provider support (Phase 1 + 2)#20
Conversation
Phase 1 CatalogResource adapters for every unimplemented deployable (one module tree per provider family), plus wave landing docs and config helpers. Domain purchases and known Cloudflare exclusions stay out.
…dflare Phase 2 --on hosts provisioned via Stripe Projects. Observe/destroy key off Stripe registration; provider REST deploy clients deferred.
Drop unused registry imports and rename clickhouse/clickhouse to cluster to avoid module_inception.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 6afe94b. Configure here.
| })?; | ||
| let stripe_resource = payload | ||
| .map(|p| p.stripe_resource) | ||
| .unwrap_or_else(|| checkpoint.resource_id.clone()); |
There was a problem hiding this comment.
Empty payload wrong Stripe ID
Medium Severity
When a cloudflare-worker checkpoint has an empty payload, observe and destroy fall back to checkpoint.resource_id, which holds the derived worker name ({stack}-{instance}-{service}), not the Stripe registration name ({instance}-{service}). Stripe lookups and removals then target the wrong identifier.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 6afe94b. Configure here.
| shorten the stack/service name" | ||
| ), | ||
| })); | ||
| } |
There was a problem hiding this comment.
DNS check ignores instance length
Medium Severity
validate_definition derives the Cloudflare worker name using a one-character placeholder instance "i", while real instances are often much longer (for example {stack}-{uuid}). Definitions can pass validation yet fail at start when the true {stack}-{instance}-{service} name exceeds the 3–63 character worker rule.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 6afe94b. Configure here.


Summary
crates/stackless-integrations/src/providers/<family>/with gap + hermetic tests.--onsubstrates for railway, gitlab, laravel-cloud, wordpress, and cloudflare (Workers host). Observe/destroy via Stripe registration; provider REST deploy clients deferred.squarespace/domainandwordpress.com/domain(non-refundable).Provider families (one module tree each)
Wave 1: neon, supabase, turso, upstash, auth0, workos, privy, prisma
Wave 2: planetscale, clickhouse, chroma, sentry, posthog, amplitude, mixpanel, algolia
Wave 3: openrouter, exa, firecrawl, parallel, elevenlabs, heygen, huggingface, inngest
Wave 4: e2b, daytona, browserbase, blaxel, runloop, kernel, agentmail, agentphone
Wave 5: railway, gitlab, laravel_cloud, wordpress_com, base44_projects, wix, postalform, metronome, supermemory
Wave 6: render_db (
render/postgres), flyio (mpg,sprite)OUTPUT_FIELDSare provisional (Hyperdrive posture) untilmise run discoverwith live credentials.Test plan
cargo test -p stackless-integrations --lib(143 tests)cargo clippy -D warningson new crates + stacklesscargo test -p stackless error_codes_are_globally_uniquemise run discover <ref>per family when Stripe + provider links availableNote
Medium Risk
Broad surface area for paid provisioning and many new adapters, but behavior mirrors existing substrates/integrations with catalog gap tests; actual provider API deploy is deferred so runtime blast radius is limited until live discover/smoke.
Overview
Adds five new
--oncloud substrates (railway,gitlab,laravel-cloud,wordpress,cloudflare) as workspace crates wired throughstackless’s substrate registry. Each follows the existing Stripe Projects pattern: provision catalog resources onstart, record DNS-safe names and best-effort origins, use Stripe registration for observe/destroy, enforce--confirm-paidwhere needed, and defer provider REST deploy, health polling, and logs until later phases.Expands
stackless-integrationswith many new Stripe catalog deployable adapters (auth, data, analytics, AI, sandboxes, etc.) using the sharedCatalogResource/Hostablepattern: typed configs,verify_serviceagainst the committed catalog fixture, config validation, and hermetic provision tests.stackless-cloudflareis split from Cloudflare integration resources; integration docs now point deploy hosting at the new host crate.README capability checklists are updated to mark the new hosts and integrations as implemented (with notes where
--onvs catalog-only differs).Reviewed by Cursor Bugbot for commit 6afe94b. Bugbot is set up for automated code reviews on this repo. Configure here.