DNS Configuration Guide for getai.page

Good News!

Your zone is active and the worker route is already configured! You just need to add one DNS record.

Quick Setup (2 minutes)

Add Wildcard DNS Record

  1. Go to Cloudflare Dashboard:

    https://dash.cloudflare.com/2cf1f02313c4ef76af3d62eb78bb906e/getai.page/dns/records
    
  2. Click “Add record”

  3. Enter these values:

    • Type: AAAA

    • Name: * (just an asterisk)

    • IPv6 address: 100::

    • Proxy status: ✅ ON (Orange cloud enabled)

    • TTL: Auto

  4. Click “Save”

That’s it! 🎉

What This Does

The wildcard record (*.getai.page) will route all tenant subdomains to Cloudflare’s network:

  • tenant-finaldemo.getai.page

  • tenant-testdemo.getai.page

  • tenant-mycompany.getai.page

  • Any tenant-*.getai.page subdomain ✅

Already Configured

Zone Status: Active ✅ Name Servers: betty.ns.cloudflare.com, kevin.ns.cloudflare.com ✅ Worker Route: *.getai.page/*getaipage-routerWorker Script: Deployed with R2 binding

After Adding DNS Record

Wait 1-2 minutes for DNS propagation

Then test your deployed tenants:

# Test health endpoint
curl https://tenant-finaldemo.getai.page/_health

# Test actual site
curl -I https://tenant-finaldemo.getai.page/

Verify DNS Resolution

# Check if wildcard DNS is working
dig tenant-finaldemo.getai.page

# Should show Cloudflare IPs (proxied)
# Look for ANSWER SECTION with Cloudflare addresses

Or use online checker:

Your Deployed Tenants

These will be accessible once DNS record is added:

Deployed Tenants

Tenant

URL

tenant-finaldemo

https://tenant-finaldemo.getai.page/

tenant-testdemo

https://tenant-testdemo.getai.page/

tenant-getaipage2

https://tenant-getaipage2.getai.page/

tenant-getaipage

https://tenant-getaipage.getai.page/

Troubleshooting

If you get “This site can’t be reached” error

  1. Check DNS record exists:

    • Go to DNS settings in Cloudflare

    • Confirm * 100:: record exists

    • Confirm proxy (orange cloud) is ON

  2. Wait for propagation:

    • DNS changes can take 1-5 minutes

    • Sometimes up to 30 minutes globally

  3. Check worker logs:

If you get 404 or 500 errors

  1. Verify files are in R2:

    # List files for a tenant
    python -c "
    import boto3, os
    s3 = boto3.client('s3',
        endpoint_url=os.getenv('R2_ENDPOINT'),
        aws_access_key_id=os.getenv('R2_ACCESS_KEY_ID'),
        aws_secret_access_key=os.getenv('R2_SECRET_ACCESS_KEY'),
        region_name='auto')
    
    objs = s3.list_objects_v2(Bucket='getaipage', Prefix='tenant-finaldemo/')
    for obj in objs.get('Contents', [])[:10]:
        print(obj['Key'])
    "
    
  2. Check worker is deployed:

    python deploy_worker.py
    

Alternative: Use A Record Instead of AAAA

If you prefer IPv4:

  • Type: A

  • Name: *

  • IPv4 address: 192.0.2.1 (placeholder for proxied)

  • Proxy: ✅ ON

(When proxied, Cloudflare handles the actual IP routing)

Manual DNS Configuration Complete Checklist

  • [ ] Open Cloudflare Dashboard → DNS

  • [ ] Add AAAA record: * 100::

  • [ ] Enable proxy (orange cloud)

  • [ ] Save record

  • [ ] Wait 2 minutes

  • [ ] Test: curl https://tenant-finaldemo.getai.page/_health

  • [ ] Should return: OK

Need More Help?

The script configure_dns.py attempted to add this automatically but needs DNS edit permissions. You can:

  1. Add the permission to your API token:

    • Go to API Tokens in Cloudflare

    • Edit token: 2MfCcf2yvvTUjzNtfVcD-UIy6bf6t_wnPcSc9MqV

    • Add permission: Zone / DNS / Edit

    • Then run: python configure_dns.py

  2. Or just add it manually (faster!): Follow the steps above

Status: One DNS record away from being fully operational! 🚀