ankra.cc, and every Ingress on that cluster’s zone is published and certified on its own. This guide is for the next step: hostnames on a domain you own, such as app.example.com.
There are three ways to do it. Pick by where the domain’s DNS is hosted and how much of it Ankra should manage.
A domain held in Avura has its own short path: see Use Avura Domains with Ankra.
Before you start
- Organisation admin. Registering a root domain, connecting a DNS credential, declaring a zone and changing records need it. Every member can read.
- Clusters with public DNS and the networking stack, so each cluster runs the external-dns and cert-manager the lanes below build on.
- Ankra CLI logged in (
ankra org current).
Delegate a root domain to Ankra
The domain becomes the organisation’s own Ankra domain in place ofankra.cc. The organisation’s zone, each cluster’s zone and the preview hostnames built from them all nest under it, and the external-dns Ankra runs on each cluster may publish any hostname under the domain, app.example.com included, with no credential of your own.
1
Point the domain at Ankra's nameservers
At your registrar, set the domain’s NS records to the nameservers that serve
ankra.cc. The domain must be a bare domain you own (example.com, not sub.example.com), and no other organisation may hold it.2
Clear what is under the current root
The switch is refused while cluster zones or DNS records still live under the old root. Inventory them, and follow the checklist in switching the root domain to remove them:
3
Register the domain
4
Bring the cluster zones back
The Preview domain field beside it is a different setting. It decides only where pull request previews and demos are published, and changes nothing else. Set it with
ankra org ai-environment set --demo-base-domain. See AI Workspaces.Serve a Cloudflare zone from every cluster
Keep the zone in your Cloudflare account, and let every cluster in the organisation publish its Ingress hostnames into it.1
Create a scoped Cloudflare API token
In Cloudflare, create an API token with Zone:Read on the zones Ankra should see and DNS:Edit on the zones it should write to. Never use the Global API Key: it carries every permission on every zone in the account.
2
Connect it
The token is read from the environment or from stdin, never from a flag:Ankra verifies the token with Cloudflare before it stores anything, and refuses a token that reaches no zones.
--verify-only checks a token without storing it.3
Declare the zone for every cluster
Serve a zone with a webhook credential
For a DNS provider other than Cloudflare, use any provider that speaks the external-dns webhook protocol. The credential is the webhook provider URL including its token.- A zone that overlaps the domain Ankra already serves for the organisation is refused, because Ankra’s own controllers publish there. A zone above it is accepted.
ankra org custom-dns-zones remove --zone example.devwithdraws the declaration. Ankra removes the controllers it rendered, and the zone’s records are yours and are left untouched.
Publish individual records
In the organisation’s Ankra zone (the oneankra org dns zone shows), records start pending and turn active once they are published:
records marks each record ankra or external, so you can tell what Ankra published from what was written by hand, by Terraform or by a cluster controller. Deleting a record live traffic depends on takes the hostname down at once.
Certificates
Once a hostname resolves, the networking stack’s cert-manager issues its Let’s Encrypt certificate. The HTTP-01 challenge is answered over the hostname being certified, so a name that does not resolve gets no certificate: publish it first with one of the lanes above. A proxied Cloudflare record terminates TLS at Cloudflare. Set the zone’s SSL mode in Cloudflare to match what the cluster serves.Verify
ankra cluster custom-dns-zones list <cluster> shows each zone the cluster serves and whether the organisation or the cluster declared it.
Troubleshooting
Related
- Applications: the preview URL - the root domain and custom zones in depth.
- Organisation Settings: DNS records
- Gateway API - HTTPRoute hostnames publish the same way.
ankra orgreference