Metadata-Version: 1.1
Name: docker-hostdns
Version: 1.0.1
Summary: Update BIND nameserver zone with Docker hosts via DNS Updates.
Home-page: https://github.com/glorpen/docker-hostdns
Author: Arkadiusz Dzięgiel
Author-email: arkadiusz.dziegiel@glorpen.pl
License: UNKNOWN
Description: ==============
        Docker HostDNS
        ==============
        
        Update BIND nameserver zone with Docker hosts via DNS Updates.
        
        Usage
        =====
        
        *Docker HostDNS* can be run by ``docker-hostdns`` wrapper script or directly with ``python -m docker_hostdns``.
        
        .. sourcecode::
        
           usage: docker-hostdns [-h] [--zone ZONE] [--dns-server DNS_SERVER]
                              [--dns-key-secret DNS_KEY_SECRET]
                              [--dns-key-name DNS_KEY_NAME] [--daemonize PIDFILE]
                              [--verbose] [--syslog]
           
           Update BIND nameserver zone with Docker hosts via DNS Updates.
           
           optional arguments:
             -h, --help            show this help message and exit
             --zone ZONE           Dns zone to update, defaults to "docker".
             --dns-server DNS_SERVER
                                   Address of DNS server which will be updated, defaults
                                   to 127.0.0.1.
             --dns-key-secret DNS_KEY_SECRET
                                   DNS Server key secret for use when updating zone. Use
                                   '-' to read from stdin.
             --dns-key-name DNS_KEY_NAME
                                   DNS Server key name for use when updating zone.
             --daemonize PIDFILE, -d PIDFILE
                                   Daemonize after start and store PID at given path.
             --verbose, -v         Give more output. Option is additive, and can be used
                                   up to 3 times.
             --syslog              Enable logging to syslog.
        
        
        The ``--daemonize`` options is only available when you have installed ``python-daemon3`` package.
        
        Example ``named.conf`` zone configuration with key auth:
        
        .. sourcecode::
        
           include "/etc/bind/docker.key";
           
           zone "docker" in {
               type master;
               file "/var/bind/dyn/docker.zone";
               allow-update {
                 key "docker-key";
               };
           };
        
        ``docker.key`` can be generated by:
        
        .. sourcecode:: sh
        
           rndc-confgen -a -c docker.key -k docker-key
        
        And then:
        
        .. sourcecode:: sh
        
           echo 'my base64 key secret' | docker-hostdns --dns-key-name docker-key --dns-key-secret -
        
        Host names
        ==========
        
        Host name is created by using container name and slugifying & trimming it. So ``/example2::docker`` will result with ``example2-docker``.
        In case of name duplication a "-<number>" will be appended, resulting with eg. ``example2-docker-1``
        
        Following dns records are created for each container, given ``example`` hostname and ``docker`` zone:
        
        - IPv4: ``example.docker``
        - IPv4: ``*.example.docker``
        - IPv6: ``example.docker``
        - IPv6: ``*.example.docker``
        - TXT: ``_container.docker`` with container name as value
        
        TXT record is used for keeping track of added hosts so when app is stopped or resumed it keeps its state. 
        
        Custom host names
        *****************
        
        You can set custom host name by using container label ``pl.glorpen.hostname``, its content will be used as container name.
        
        
        
Keywords: docker dns bind named
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development
Classifier: Topic :: Utilities
