Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

DNS providers & credentials

The managed-DNS providers boatramp drives directly, and the manual fallback. Ten providers are built in. Each entry lists the value passed to --provider, any accepted alias, and the exact credential environment variables the provider reads.

Credentials are read from the environment only — never from a config file. The same --provider names apply in every DNS command surface: boatramp dns --provider <name>, boatramp serve --acme-dns-provider <name>, and boatramp domain add --auto --provider <name>.

Providers

--providerAliasProviderCredential env vars
manualnone (prints records)
cloudflareCloudflareCLOUDFLARE_ZONE_ID, CLOUDFLARE_API_TOKEN
route53AWS Route 53ROUTE53_HOSTED_ZONE_ID + the standard AWS chain
ociOracle Cloud DNSOCI_REGION, OCI_ZONE, OCI_KEY_ID, OCI_PRIVATE_KEY_FILE
digitaloceandoDigitalOceanDIGITALOCEAN_DOMAIN, DIGITALOCEAN_TOKEN
hetznerHetzner DNSHETZNER_ZONE_ID, HETZNER_ZONE, HETZNER_DNS_TOKEN
ns1NS1 (IBM)NS1_ZONE, NS1_API_KEY
dnsimpleDNSimpleDNSIMPLE_ACCOUNT_ID, DNSIMPLE_ZONE, DNSIMPLE_TOKEN
gcp-dnsgcpGoogle Cloud DNSGCP_DNS_PROJECT, GCP_DNS_ZONE, GCP_ACCESS_TOKEN
azure-dnsazureAzure DNSAZURE_SUBSCRIPTION_ID, AZURE_RESOURCE_GROUP, AZURE_DNS_ZONE, AZURE_ACCESS_TOKEN
akamaiAkamai Edge DNSAKAMAI_HOST, AKAMAI_CLIENT_TOKEN, AKAMAI_CLIENT_SECRET, AKAMAI_ACCESS_TOKEN, AKAMAI_ZONE

Notes

  • manual prints the records to apply by hand and reads no credentials. It is the fallback for self-hosted authoritative servers (BIND, PowerDNS, Knot).
  • gcp-dns and azure-dns take a short-lived OAuth2 access token in GCP_ACCESS_TOKEN / AZURE_ACCESS_TOKEN. Mint it with gcloud / az.
  • route53 reads ROUTE53_HOSTED_ZONE_ID for the zone and resolves credentials through the standard AWS provider chain (environment, shared config, instance role).

See also