Providers
Providers overview
Ahena works with provider accounts you own and pay for. You connect each one per environment with its own credential; your application keeps talking to the provider directly.
| Provider | Capability | Plan, apply and verify | Doctor | Drift | Generated code |
|---|---|---|---|---|---|
| Supabase | database, auth | Auth site URL and redirect URLs | Yes | Yes | Database and auth clients |
| Cloudflare | storage (R2), DNS | Buckets, CORS, DNS records | Yes | Yes | S3-compatible storage adapter |
| Resend | Sending domain, DNS records, webhooks | Yes | Yes | Email adapter, webhook route | |
| Stripe | payments | Webhooks, products and prices | Yes | Yes | Checkout, portal, Connect, webhook route |
| Firebase | push | iOS and Android app registration | Yes | Yes | Server-side push |
| OpenAI | AI | (nothing to configure) | Yes | No | ahena.ai adapter |
| Anthropic | AI | (nothing to configure) | Yes | No | ahena.ai adapter |
| Ollama | AI (local) | (nothing to configure) | Yes, on your machine | No | ahena.ai adapter |
The three AI providers share one generated interface, so each environment can use a different one: see AI providers.
Every provider page has the same sections: overview, connection, permissions, capabilities, limitations, manual steps, Doctor checks and disconnect behaviour.
How far each provider is verified
Every provider is tested against a fake of its API and contract fixtures. Testing against the real services has started and is not complete, so no provider is called production-ready yet:
- Verified against the real service: Stripe (test mode: connect, Doctor and plan; creates,
idempotent replays and read-backs through Ahena's test harness, not yet through
ahena apply), Cloudflare (read-only: token, permissions, accounts and zones, Doctor), OpenAI and Anthropic (read-only: key validation, model discovery, Doctor) and Ollama (local). - Not yet verified against the real service: Supabase, Resend, Firebase, and Cloudflare writes (buckets, CORS, DNS).
Generated code is typechecked against each provider's official SDK. Supabase, Resend and Ollama code is also run in Ahena's tests with Ahena stopped; the others are typecheck-only (see Generated code).
Not supported yet
Services outside this list (for example Clerk, SendGrid, Postmark or other S3-compatible
storage) aren't managed by Ahena. ahena init lists them as "Not managed by Ahena" instead of
guessing. Planned: more providers per capability and OAuth connections to providers.