Automate DNS with a provider
boatramp can drive your managed-DNS provider directly, so pointing a verified custom domain and proving ownership become single commands instead of manual zone edits. This page covers both tasks. For custom-domain concepts, see Attach a custom domain.
Before you start
- A supported managed-DNS provider with its credentials exported in your
environment. The
--providernames and their credential variables are in DNS providers & credentials. - A running server you can reach with
--server.
Credentials are read from the environment only, never from a config file.
Verify ownership automatically
domain add --auto closes the ownership-verification loop for you. It publishes
the _boatramp-verify.<host> TXT record through the provider, polls until the
record resolves, attaches the host, then retracts the challenge record:
boatramp domain add app.example.com --auto --provider cloudflare
publishing _boatramp-verify.app.example.com TXT via cloudflare
waiting for it to resolve… resolved
verified app.example.com and attached it to my-site
--auto writes only the ownership-proof TXT — never the host’s A, AAAA,
or CNAME. Verification always happens before the host is pointed or served, so
boatramp cannot be induced to point or serve a hostname you have not proven you
control. Without --auto, domain add prints the record to publish by hand and
you run domain verify afterward.
Point the domain at your server
Once the host is verified, point it at the server — a separate, explicit step.
The --target value decides the record type: an IPv4/IPv6 literal becomes an
A/AAAA, and anything else becomes a CNAME:
boatramp dns configure-domain www.example.com --provider cloudflare --target lb.example.net
pointed CNAME www.example.com -> lb.example.net
Use an address target at a true apex, where a CNAME is invalid:
boatramp dns configure-domain example.com --provider cloudflare --target 203.0.113.7
pointed A example.com -> 203.0.113.7
Add --proxied to route the record through Cloudflare’s edge (cache / WAF / edge
TLS). It is Cloudflare-only, chosen per domain, applies to address and CNAME
records, and forces the automatic TTL Cloudflare requires:
boatramp dns configure-domain docs.example.com --provider cloudflare --target app.fly.dev --proxied
pointed CNAME docs.example.com -> app.fly.dev (proxied)
Reference
- Provider names and credential variables: DNS providers & credentials.