Domains & DNS
Custom domains and full DNS management — your agent configures domains, provisions TLS certificates, and manages DNS records programmatically
Every service on Ink gets a default URL at your-service.ml.ink with automatic HTTPS. For production, delegate your own DNS zones and your agent manages everything — custom domains, email configuration, domain verification, and TLS certificates.
Why DNS delegation, not just custom domains
Most hosting platforms let you attach a custom domain to a service — you type in a domain, point a CNAME, and you're done. That works for humans managing a handful of services. It doesn't work for agents.
Custom domain support is a manual, one-at-a-time operation. Your agent can't create new subdomains, configure email, or verify domain ownership — it has to wait for you to do it through a dashboard.
DNS delegation is fundamentally different. By delegating a zone to Ink, your agent gets full programmatic control over every DNS record under that zone. It can:
- Create and assign custom domains to new services autonomously — no human in the loop
- Spin up
staging.apps.example.com,preview-123.apps.example.com, or any subdomain on demand - Configure email routing and authentication (MX, SPF, DKIM, DMARC)
- Add domain verification records for third-party services (Stripe, SendGrid, Google Workspace)
- Provision wildcard TLS certificates automatically
One delegation unlocks unlimited autonomous operations. Your agent deploys a new service and assigns it a production domain in the same workflow — no context switch, no waiting on a human.
Default URLs
Every service gets a default URL automatically:
your-service-name.ml.inkAll default URLs are served over HTTPS with a wildcard TLS certificate for *.ml.ink. No configuration needed.
Custom domains
After delegating a DNS zone, your agent can assign custom subdomains to any service. Ink creates DNS records and provisions TLS certificates automatically.
Assigning a custom domain
Your agent uses the add_custom_domain MCP tool:
Assign the domain api.apps.example.com to my backend service
What happens:
- Ink creates a DNS A record pointing the domain to your service
- A wildcard TLS certificate covers the domain automatically
- Traffic is routed through Ink's load balancers
- The service is accessible at both the custom domain and the default
*.ml.inkURL
Removing a custom domain
Your agent uses the remove_custom_domain MCP tool to detach a domain from a service. The DNS record is removed and traffic returns to the default *.ml.ink URL.
Example
If you've delegated apps.example.com, your agent can assign:
api.apps.example.com→ backend serviceweb.apps.example.com→ frontend servicedocs.apps.example.com→ documentation sitestaging.apps.example.com→ staging environment
Each gets automatic TLS and is live immediately after DNS propagation.
Beyond service routing
With a delegated zone, your agent can also create arbitrary DNS records via the add_dns_record MCP tool:
| Use case | Record type | Example |
|---|---|---|
| Email routing | MX | Route email to Gmail or Fastmail |
| Email authentication | TXT | SPF, DKIM, DMARC records |
| Domain verification | TXT | Google, Stripe, SendGrid verification |
| Service aliases | CNAME | Point to external services |
| IPv6 support | AAAA | IPv6 address records |
| Certificate policy | CAA | Restrict certificate authorities |