Operational Guides

Add a DNS Record

How to add a new DNS record for a service or domain in the Ontopix infrastructure.

Production

Prerequisites

  • Git access to ontopix/infra
  • AWS CLI configured with ontopix-dev profile
  • Terraform and Task installed

Steps

1. Create a Feature Branch

git checkout master && git pull
git checkout -b feat/dns-your-service

2. Identify the Correct Zone

DNS records are organized by zone in global/route53/records.tf:

ZoneFor Services Under
ontopix_ai*.ontopix.ai
dev_ontopix_ai*.dev.ontopix.ai
pre_ontopix_ai*.pre.ontopix.ai
platform_ontopix_ai*.platform.ontopix.ai
ontopix_dev*.ontopix.dev

3. Add the Record

Edit global/route53/records.tf and add your record in the appropriate zone section:

A record (IP address):

resource "aws_route53_record" "dev_ontopix_ai_myservice" {
  zone_id = aws_route53_zone.dev_ontopix_ai.zone_id
  name    = "myservice.dev.ontopix.ai"
  type    = "A"
  ttl     = 300
  records = ["1.2.3.4"]
}

CNAME record (alias to another domain):

resource "aws_route53_record" "dev_ontopix_ai_myservice" {
  zone_id = aws_route53_zone.dev_ontopix_ai.zone_id
  name    = "myservice.dev.ontopix.ai"
  type    = "CNAME"
  ttl     = 300
  records = ["myservice.example.com"]
}

4. Validate and Plan

task infra:validate
task infra:plan

Review the plan output — it should show only the new record being created.

5. Commit and Create PR

git add global/route53/records.tf
git commit -m "feat(dns): add DNS record for myservice.dev.ontopix.ai"
git push origin feat/dns-your-service
gh pr create --base master

6. Apply After Approval

After the PR is reviewed and approved:

CONFIRM=yes task infra:apply

Notes

  • DNS propagation may take up to 24 hours (AWS Route53 TTL)
  • Amplify-managed DNS records should not be added here — Amplify manages its own DNS
  • Brand protection domains should only have anti-spoofing records (MX, SPF, DMARC)
  • All DMARC records must use rua=mailto:dmarc@ontopix.ai to centralize aggregate reports