A nice to have, MIT-licensed tool for using Cloudflare as a dynamic DNS provider.
Before you get started, ensure that you have a Cloudflare site (one or more, doesn't matter since it's by Zone ID) so records can be updated. Leveraging the
example.json, create a file that you want to contain your own DNS A records. Run
go build -v ., then leverage
cloudflare-sync.exe -h for the specifics.
There is a Dockerfile you can use to push to your own registry, if you want. You can also leverage my pre-built one at
cr.r3t.io/library/cloudflare-sync:latest if you want. Here is a template command you'll want:
docker run \ -ti \ -e "API_TOKEN=''" \ -e "ZONE_ID=''" \ -e "FREQUENCY=30" \ -e "RECORDS_FILE_NAME=production.json" \ cr.r3t.io/library/cloudflare-sync
Don't forget to pass in your own
production.json file via docker volumes.
There is a
kubernetes.yml file which you can use to deploy a
Deployment for this. You shouldn't ever need more than one replica. Fill out the
spec.template.spec.containers.env values, and
data.production.json with your configuration.