Multi-Provider Deploy
One topology, any cloud. podmaker abstracts every provider behind a single interface so a plan can provision across clouds without rewrites or lock-in.
How a plan becomes infrastructure
- topology-planner receives the parsed plan and returns a deterministic action list — same input, same actions.
- It dispatches provisioning to the cloud-broker, a stateless translator that calls the matching provider adapter.
- Downstream controllers reconcile each node type:
server,lb,cache,database,mesh. - DNS records and certificates are wired per domain.
Supported providers
| Role | Providers |
|---|---|
| Compute | Hetzner, DigitalOcean, AWS, Azure, GCP — plus BYO-SSH (existing servers) |
| DNS | Cloudflare, Route 53 |
Mix freely — compute on one cloud, DNS on another.
Adding credentials
pdctl provider add awspdctl provider add cloudflarepdctl provider listCredentials are scoped and brokered; the cloud-broker forwards them to the adapter layer only for the duration of a request.
Targeting providers from a manifest
Use a server_selector to bind a site to a provider and region:
targets: - server_selector: provider: aws region: eu-central-1 tags: [web] min: 2Cost-aware planning
Before provisioning, size the plan:
pdctl plan estimate plan.yamlpdctl plan compare economy.yaml performance.yamlPlans come in ECONOMY / BALANCED / PERFORMANCE archetypes — see the plan lifecycle.
→ Marketing overview: Multi-Provider Deploy