DNS Configuration for seams.so#
This directory contains DNSControl configuration for managing seams.so DNS records.
Setup#
-
Install DNSControl:
# macOS brew install dnscontrol # Linux go install github.com/StackExchange/dnscontrol/v4@latest # Or use Nix nix-shell -p dnscontrol -
Configure credentials:
cd dns/ cp creds.json.example creds.json # Edit creds.json with your he.net credentials -
Test configuration:
cd dns/ dnscontrol check -
Preview changes:
cd dns/ dnscontrol preview -
Apply changes:
cd dns/ dnscontrol push
Hurricane Electric (he.net) Setup#
- Log in to https://dns.he.net
- Ensure
seams.sois added as a zone - Get your credentials:
- Username: Your he.net login username
- TOTP secret: If using 2FA, get from your authenticator app settings
Alternative: Using API Key#
If he.net supports API keys, you can also use:
{
"hurricane": {
"TYPE": "HURRICANE",
"user": "your-username",
"password": "your-password"
}
}
Note: Keep creds.json private! It's gitignored by default.
Current Records#
From flyctl certs add seams.so:
- A record:
@→66.241.124.49 - AAAA record:
@→2a09:8280:1::b0:1269:0
These point seams.so to the Fly.io deployment.
Updating DNS#
When Fly.io IPs change:
# Get current IPs
flyctl ips list
# Update dnsconfig.js with new IPs
# Then apply:
cd dns/
dnscontrol preview # Check changes
dnscontrol push # Apply
Verification#
After applying DNS changes:
# Check DNS propagation
dig seams.so
dig AAAA seams.so
# Verify with external DNS
dig @8.8.8.8 seams.so
# Check SSL certificate status
flyctl certs check seams.so
# Test the site
curl -I https://seams.so/health
Files#
dnsconfig.js- DNS record configurationcreds.json- Credentials (gitignored, use example to create)creds.json.example- Template for credentials