Direct access (no SSL):
- Staging: http://34.77.11.73/
- Production: http://34.140.208.108/
Just want to test with custom domains quickly? Add DNS records:
- Go to Advanced DNS
- Add A records:
staging.api→34.77.11.73production.api→34.140.208.108
- Wait 5-30 minutes for DNS propagation
Access at:
For production-ready setup with automatic SSL certificates:
- Helm 3 installed (
brew install helm) - kubectl connected to your cluster
cd k8s/ingress
./setup-ingress.shThe script will:
- ✅ Install NGINX Ingress Controller
- ✅ Install cert-manager
- ✅ Guide you through DNS setup
- ✅ Configure Let's Encrypt
- ✅ Issue SSL certificates
- ✅ Set up HTTPS redirects
Follow the prompts and you'll have:
- Your email address (for Let's Encrypt notifications)
- Access to Namecheap DNS settings
- 30 minutes total (most is waiting for DNS/certificates)
If you prefer Cloudflare for DNS and SSL:
- Create free Cloudflare account
- Add domain
overfly.ing - Update nameservers at Namecheap
- Add A records in Cloudflare:
staging.api→34.77.11.73production.api→34.140.208.108
- Enable proxy (orange cloud icon)
- Set SSL/TLS mode to "Flexible"
Done! Cloudflare handles SSL automatically.
For production: Use Option B (Ingress + cert-manager)
- Professional setup
- Google-managed infrastructure
- Free SSL certificates
- Automatic renewal
- Saves $17/month vs individual LoadBalancers
For quick testing: Use Option A
- Test domains immediately
- Upgrade to Option B later
If you use Cloudflare: Use Option C
- Easiest SSL setup
- Additional DDoS protection
- Free tier available
Navigate to: Domain List → Manage → Advanced DNS
For Option A (direct to services):
| Type | Host | Value | TTL |
|---|---|---|---|
| A Record | staging.api |
34.77.11.73 |
Automatic |
| A Record | production.api |
34.140.208.108 |
Automatic |
For Option B (via Ingress) - the script will tell you:
| Type | Host | Value | TTL |
|---|---|---|---|
| A Record | staging.api |
<INGRESS_IP> |
Automatic |
| A Record | production.api |
<INGRESS_IP> |
Automatic |
nslookup staging.api.overfly.ing
nslookup production.api.overfly.ing# Without SSL
curl http://staging.api.overfly.ing/health
# With SSL
curl https://staging.api.overfly.ing/healthecho | openssl s_client -connect staging.api.overfly.ing:443 2>/dev/null | openssl x509 -noout -dates- Wait 30 minutes for propagation
- Test with:
nslookup staging.api.overfly.ing 8.8.8.8 - Clear DNS cache:
sudo dscacheutil -flushcache(macOS)
- Check DNS is propagated first
- View status:
kubectl get certificate -n staging - Check logs:
kubectl logs -n cert-manager deployment/cert-manager
- Check pods are running:
kubectl get pods -n staging - Check logs:
kubectl logs -n staging -l app=api
After domains are working:
- Update CORS settings in your API
- Update GitHub workflow environment URLs
- Test from your frontend application
- Set up monitoring/uptime checks
- Configure rate limiting if needed
Full guides available:
- docs/CUSTOM_DOMAIN_SETUP.md - Complete setup guide
- k8s/ingress/README.md - Ingress configuration details
- docs/DEPLOYMENT_SETUP.md - Original deployment guide
If you encounter issues:
- Check the troubleshooting sections in the full guides
- Verify kubectl access:
kubectl get pods --all-namespaces - Check Ingress status:
kubectl get ingress --all-namespaces - View logs for errors