dns
Quickstart
Three calls and a registrar tweak. You're answering DNS queries.
You need a domain you own (e.g. example.com) and an Excloud API token. Get a token with exc apikey create or from the console.
export TOKEN=eyJhbGciOi...
1. Create the zone
curl -sS -X POST https://dns.excloud.in/dns/zone/create \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "example.com"}'
The response includes four nameservers (ns1.excloud.in etc.). Copy them.
2. Delegate at your registrar
In your registrarโs control panel, set the nameservers for the domain to the four values from step 1. Propagation typically completes within an hour but can take up to 48.
Sanity check:
dig +short NS example.com
When that returns the Excloud nameservers, youโre delegated.
3. Add an A record
curl -sS -X POST https://dns.excloud.in/dns/record/create \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"zone_name": "example.com",
"type": "A",
"name": "api",
"ttl": 300,
"records": ["203.0.113.10"]
}'
Verify:
dig +short api.example.com
4. (Optional) The same in Terraform
resource "excloud_dns_zone" "example" {
name = "example.com"
}
resource "excloud_dns_record" "api" {
zone_name = excloud_dns_zone.example.name
type = "A"
name = "api"
ttl = 300
records = ["203.0.113.10"]
}
output "nameservers" {
value = excloud_dns_zone.example.nameservers
}
terraform apply, then set the output nameservers at your registrar.