Cloudflare provides public access via Tunnel and DNS automation.
Docs: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/
- Doppler project with
sharedconfig (Step 2.1)
New to Cloudflare? Click to expand
- Go to cloudflare.com/sign-up
- Enter email and password
- Verify email
Need to register or add a domain? Click to expand
- Domain Registration → Search and register
- Complete purchase
Tip: Cloudflare Registrar offers domains at cost —
.com~$9.77/year,.dev~$12/year
- Add a site
- Enter your domain
- Select Free plan
- Update nameservers at your current registrar to Cloudflare's
Locally-managed tunnel allows GitOps control over routes via config.yaml.
Docs: Create local tunnel
# macOS
brew install cloudflared
# Linux
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb -o cloudflared.deb
sudo dpkg -i cloudflared.debcloudflared tunnel login
# Opens browser → login → select domain → creates ~/.cloudflared/cert.pem
cloudflared tunnel create k8s-tunnel
# Output: Tunnel credentials written to ~/.cloudflared/<UUID>.json
cloudflared tunnel list
# Verify tunnel created, note the UUIDcat ~/.cloudflared/<UUID>.json | base64 -w0After saving to Doppler, delete local credentials:
rm ~/.cloudflared/cert.pem
rm ~/.cloudflared/<UUID>.jsonTo manage tunnels later, run
cloudflared tunnel loginagain
Result: Tunnel UUID → save as <CF_TUNNEL_ID>, base64 credentials → add CF_TUNNEL_CREDENTIALS to Doppler
For External-DNS (automatic DNS record management):
- API Tokens → Create Token
- Select template Edit zone DNS → Use template
- Configure:
- Zone Resources: Include → Specific zone → your domain
- Click Continue to summary → Create Token
- Copy token (shown only once!) → add
CF_API_TOKENto Doppler
Tunnel not connecting
kubectl logs -n cloudflare -l app=cloudflared -f
kubectl get secret tunnel-credentials -n cloudflareCheck Zero Trust → Tunnels — status should be HEALTHY.
DNS not updating
kubectl logs -n external-dns -l app.kubernetes.io/name=external-dnsVerify CF_API_TOKEN has Zone:DNS:Edit permission in API Tokens.