Provider integrations
Each provider is wired into the same UI shape: connect once via API token, then manage instances + auxiliary resources without leaving Mezzanine.
Hostinger
- VPSes — list, start/stop/restart, snapshots, OS install (reinstall)
- Domains + DNS — full DNS record CRUD, registrar info, SSL on/off per domain
- Email — Hostinger’s DNS-level email config (MX, SPF, DKIM)
- Billing — orders, subscriptions, payment methods (read-only)
- Free-domain setup — wizard that walks you through claiming the credits Hostinger ships
Connect: Cloud → Hostinger → Connect → paste the API token from hpanel.hostinger.com → API.
Contabo
- VPSes — list, start/stop/restart, snapshots, rename, Install OS (with image picker + SSH key from Secrets)
- Bandwidth usage — current billing period (CPU/RAM not in their API — adopt as a server for full metrics)
- Secrets — reusable SSH keys + passwords stored at the Contabo account level, picked from a dropdown during reinstall
Connect: Cloud → Contabo → Connect → fill in client_id, client_secret, username, password from my.contabo.com → API.
DigitalOcean
- Droplets — list, basic actions
- Domains + DNS — record CRUD
Connect: Cloud → DigitalOcean → Connect → paste a personal access token from cloud.digitalocean.com/account/api/tokens.
Cloudflare
- Zones + DNS records — full DNS record CRUD; Mezzanine becomes your DNS UI for any domain on Cloudflare (A/AAAA/CNAME/TXT/MX/NS/SRV/CAA, proxied toggle, TTL)
- Email Routing — a dedicated tab per zone: enable/disable routing, manage destination addresses (with verification status) and aliases (forward
hello@yourdomain→ your inbox, or drop), plus catch-all. No more bouncing to the Cloudflare dashboard to add an email alias.
Connect: Cloud → Cloudflare → Connect → paste an API token. For DNS use Zone:Read + DNS:Edit; for Email Routing the token also needs the account-level email-routing permissions. The panel surfaces a clear error (and the fix) if the token is the wrong type.
Hetzner Cloud
- Servers — list, power on/off/reboot, rebuild (reinstall OS from any image), delete, live status + type/location
- Create a server — pick server type, image/OS, location, and SSH keys right from the panel
- SSH keys — add/remove project SSH keys (used for create + rebuild)
- Adopt to Mezzanine — one click turns any Hetzner server into a managed Mezzanine server (Docker tab, Deploy workflows, Inventory) over SSH — by key or root password
Connect: Cloud → Hetzner → Connect → paste a project API token (Read & Write) from console.hetzner.cloud → your project → Security → API Tokens. The token is shown only once.
What’s not yet wired
Each provider’s API surface is larger than what we use today. Pre-launch we deliberately scoped down. Honest list:
- Contabo: Secrets ✅ · Object Storage ⏳ · Private Networks ⏳ · Cancel Instance ⏳ · Audit logs ⏳
- Hostinger: Hosting (shared-hosting plans) was deliberately removed — most accounts don’t have it. Mailboxes (vs DNS) are not yet wired.
- DigitalOcean: Spaces, App Platform, Load Balancers, Floating IPs — none yet
- Cloudflare: Email Routing aliases (manually managed in CF dashboard for now), Workers, Page Rules, Load Balancer — none yet
These are scope-able when there’s demand. File an issue if one matters for you.