/dns-updater

DNS Updater runs as a Docker service on a Docker Swarm manager host and listen for service create events then add cname to DNS provider based on label added to services

Primary LanguageGoGNU General Public License v3.0GPL-3.0

DNS Updater

DNS Updater runs as a Docker service on a Docker Swarm manager host and listens for service create events then add cname to DNS provider based on label provided.

Only one dns backend is supported which is infoblox.

Getting started

Run it

First add the config file in Docker Secret:

# docker secret create infoblox_config -
---
ipam_host: '<hostname>'
api_version: '2.4'
username: '<user>'
password: '<password>'

Then start dns-updater service on any of the Docker Swarm manager using that secret

# docker service create -d --constraint "node.role==manager" -v /var/run/docker.sock:/var/run/docker.sock --secret source=infoblox_config,target=/config.yml --name dns-updater kasissol/dns-updater:x.x.x -c /config.yml

Use it

Labels are used to configure your services.

Label Description
dns.host Give host name the CNAME will be pointed to.
dns.cname Give the CNAME name.

Example:

# docker service create -d --label "dns.host=foo.example.com" --label "dns.cname=bar.example.com" --name web1 nginx

User Feedback

Issues

If you have any problems with or questions about this application, please contact us through a GitHub issue.