Docker-Image to auto-pull&push Nameserver-entries using dnscontrol
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Ruakij 5674bf339c Added path-vars 3 years ago
data Fixed todo 3 years ago
Dockerfile Changed image from alpine to slim (buster) 3 years ago
License.md Added License 3 years ago
Readme.md Fixed typo 3 years ago
daemon.py Added path-vars 3 years ago
requirements.txt Changed requirement to dnslib 3 years ago

Readme.md

Dnscontrol-Sync

This image is designed to synchronise changes between Nameserver-Providers (like PowerDNS or Cloudflare-DNS).

It uses dnscontrol to pull & push these changes and DNS-NOTIFY for event-driven updates.


Current state

At the moment, this program can only pull changes from PowerDns and will push it to any other provider specified for that domain in dnsconfig.js (from dnscontrol).

Furthermore there is an option to auto-rename a zone (e.g. public-zone has suffix .public), because e.g. PowerDns does not support "views".

It is very likely the software will make mistakes when multiple change-events were executed when the first one was not finished yet. It's planned to have a queue for that.


How it works

PowerDns has this program as "slave" and will send a DNS-NOTIFY when zone-information has changed. We will then use dnscontrol to pull the whole zone into a dnscontrol-formatted JavaScript-file, modify it to match our needs and push it using the configured dnscontrol config.

In Short

  1. DNS-NOTIFY by PowerDns
  2. dnscontrol get-zones PowerDns
  3. Modify generated file
  4. dnscontrol push

Which Providers are supported

Check out the dnscontrol-documentation for further information about providers, setup and compatability of special records and settings:

https://stackexchange.github.io/dnscontrol/provider-list