Skip to content

Docs: billing adapter guides (Stripe, Metronome, Lago, custom) and terminology - #2

Merged
saiyam1814 merged 1 commit into
mainfrom
docs/billing-adapters
Oct 16, 2026
Merged

saiyam1814 merged 1 commit into
mainfrom
docs/billing-adapters

Conversation

@saiyam1814

Copy link
Copy Markdown
Collaborator

What changes

New Billing Adapters section in the docs sidebar, mirroring the adapter graphic on the landing page:

  • Stripe (docs/stripe.html), the guide that was missing:
    • install in test mode with keys in Secrets, and every setting
    • meters per metric and SKU, including which meters actually receive events
    • customers and how they are matched, with the search fallback
    • prices and automatic subscriptions, and invoice previews
    • exactly-once delivery and Stripe's limits (35 days, 24h identifier window, 20 prices per subscription)
    • dead letters, reconciliation, and webhooks to billing states and enforcement
    • offboarding and troubleshooting
  • Metronome (docs/metronome.html): customers, billable metrics and their group keys, contracts, the Stripe link, pricing on dimensions, delivery, reconciliation, webhooks.
  • Lago (docs/lago.html): the Lago walkthrough moved out of Getting Started, plus running the whole pipeline on a laptop with vind.
  • Custom Billing Adapter (docs/custom-adapter.html): the webhook adapter (event types, signature verification, retries), the ingest API, and writing a Go adapter. The example compiles against the repo.

Getting Started is adapter-neutral now: choose a billing platform, install, configure pricing and packaging, verify. It had been Lago-only, with v0.1 commands and log output.

Terminology follows vCluster Labs usage across the docs, README, chart notes and demo script:

  • tenant cluster, control plane cluster, AI Cloud
  • billing platform for Stripe, Metronome and Lago; billing adapter for vBilling's connectors
  • "Node capacity tracking" restored on the landing page
  • "reserved" used only as a capacity type
  • no selling language around shared GPUs
  • "vCluster Labs" in the footer

Fixes found along the way

  • Landing page: the AI Clouds section lost its two-column layout in v0.2, because a rename broke the CSS class names.
  • Metronome pricing example: the pricing and presentation group keys must together form the metric's compound group key, so GPU hours need billing_mode in the pricing key.
  • Troubleshooting quoted v0.1 log lines that no longer exist.
  • Billing states, including manual overrides, only exist when a Stripe or Metronome webhook secret is set. This is now documented.
  • The admission policy acts in the control plane cluster, so it cannot hold tenant clusters on Private Nodes, Auto Nodes or Standalone. This is now documented.
  • Docs pages and the landing quick start scrolled sideways at phone width. All 11 pages now fit 390px.
  • .gitignore covers the key file names the docs tell you to create (stripe-test-key, lago-api-key, and so on).

Checked: internal links and anchors across all 11 pages, helm lint, bash -n scripts/demo.sh, and a secrets scan of the diff (placeholders only).

🤖 Generated with Claude Code

…logy

The docs site gets a Billing Adapters section with full guides for
Stripe, Metronome, Lago and a custom billing adapter, and Getting
Started no longer assumes Lago: choose a billing platform, install,
configure pricing and packaging, verify.

Wording follows how vCluster Labs talks about the product: tenant
cluster, control plane cluster, AI Cloud, billing platform and billing
adapter, node capacity tracking, and "reserved" only as a capacity type.

Also fixed: the AI Clouds section layout on the landing page, the
Metronome pricing example (pricing and presentation keys must form the
metric's group key), v0.1 log lines quoted in troubleshooting, a note
that billing states need a Stripe or Metronome webhook secret, the
admission policy's reach for tenant clusters with their own nodes,
horizontal scrolling at phone width, and gitignored key file names.
@saiyam1814
saiyam1814 merged commit e67af0c into main Oct 16, 2026
2 checks passed
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.

1 participant