{ "info": { "author": "Arkadiusz Dzi\u0119giel", "author_email": "arkadiusz.dziegiel@glorpen.pl", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development", "Topic :: Utilities" ], "description": "==============\nDocker HostDNS\n==============\n\nUpdate BIND nameserver zone with Docker hosts via DNS Updates.\n\nUsage\n=====\n\n*Docker HostDNS* can be run by ``docker-hostdns`` wrapper script or directly with ``python -m docker_hostdns``.\n\n.. sourcecode::\n\n usage: docker-entrypoint [-h] [--zone ZONE] [--dns-server DNS_SERVER]\n [--dns-key-secret DNS_KEY_SECRET]\n [--dns-key-name DNS_KEY_NAME]\n [--dns-key-alg {...}]\n [--name NAME] [--network NETWORK] [--verbose]\n [--syslog [SYSLOG]] [--clear-on-exit]\n\n Update BIND nameserver zone with Docker hosts via DNS Updates.\n\n optional arguments:\n -h, --help show this help message and exit\n --zone ZONE dns zone to update, defaults to \"docker\"\n --dns-server DNS_SERVER\n address of DNS server which will be updated, defaults\n to 127.0.0.1\n --dns-key-secret DNS_KEY_SECRET\n DNS Server key secret for use when updating zone, use\n '-' to read from stdin\n --dns-key-name DNS_KEY_NAME\n DNS Server key name for use when updating zone\n --dns-key-alg {...}\n DNS Server key algorithm for use when updating zone\n --name NAME name to differentiate between multiple instances\n inside same dns zone, defaults to current hostname\n --network NETWORK network to fetch container names from, defaults to\n docker default bridge, can be used multiple times\n --verbose, -v give more output - option is additive, and can be used\n up to 3 times\n --syslog [SYSLOG] enable logging to syslog, defaults to \"/dev/log\", you\n can provide path to unix socket or uri:\n ://[:]\n --clear-on-exit clear zone on exit\n\n\nThe ``--daemonize`` options is only available when you have installed ``python-daemon3`` package.\n\nExample ``named.conf`` zone configuration with key auth:\n\n.. sourcecode::\n\n include \"/etc/bind/docker.key\";\n\n zone \"docker\" in {\n type master;\n file \"/var/bind/dyn/docker.zone\";\n allow-update {\n key \"docker-key\";\n };\n };\n\n``docker.key`` can be generated by:\n\n.. sourcecode:: sh\n\n rndc-confgen -a -c docker.key -k docker-key\n\nAnd then:\n\n.. sourcecode:: sh\n\n echo 'my base64 key secret' | docker-hostdns --dns-key-name docker-key --dns-key-secret -\n\nHost names\n==========\n\nHost name is created by using container name and slugifying & trimming it. So ``/example2::docker`` will result with ``example2-docker``.\nIn case of name duplication a \"-\" will be appended, resulting with eg. ``example2-docker-1``\n\nFollowing dns records are created for each container, given ``example`` hostname and ``docker`` zone:\n\n- IPv4: ``example.docker``\n- IPv4: ``*.example.docker``\n- IPv6: ``example.docker``\n- IPv6: ``*.example.docker``\n- TXT: ``_container_.docker`` with container name as value and instance name as ````\n\nTXT record is used for keeping track of added hosts so when app is stopped or resumed it keeps its state.\n\nCustom host names\n*****************\n\nYou can set custom host name by using container label ``pl.glorpen.hostname``, its content will be used as container name.\n\nDocker Image\n============\n\nDocker image is available at ``glorpen/hostdns``.\nFor help try ``docker run --rm -it glorpen/hostdns:latest --help``.\n\nRemember to mount ``/run/docker.sock`` inside container.\n\nBuild image from GitHub\n***********************\n\n- ``git clone ``\n- ``cd docker-hostdns/``\n- ``docker build -t \"\" .``\n\nDocker environment variables\n****************************\n\n- ``DNS_SERVER``: address of DNS server which will be updated, defaults to ``127.0.0.1``\n- ``DNS_ZONE``: DNS zone to update, defaults to ``docker``\n- ``DNS_KEY_NAME``: DNS Server key name for use when updating zone\n- ``DNS_KEY_SECRET``: DNS Server key secret for use when updating zone\n- ``DNS_KEY_SECRET_FILE``: path of file with secret as its content\n- ``NAME``: name to differentiate between multiple instances inside same dns zone, defaults to current hostname\n- ``NETWORK``: network to fetch container names from, defaults to docker default bridge, accepts multiple networks as comma delimited list (e.g. ``network1,network2,network3,..``)\n- ``VERBOSITY``: give more output, accepts ``0`` to ``3``, defaults to ``0`` (equivalent to ``-v``, ``-vv``, ``-vvv`` arguments on the command line)\n- ``SYSLOG``: enable logging to syslog, if set ``true`` or ``yes`` defaults to \"/dev/log\", or you can provide path to unix socket or uri: ``://[:]``\n- ``CLEAR_ON_EXIT``: clear zone on exit, defaults to ``false`` (accepts ``true`` or ``yes``)\n\nSecuring DNS secret key\n***********************\n\nTo secure secret key (the ``dns-key-secret`` option) you can:\n\n- passing its contents to env var ``DNS_KEY_SECRET``\n- setting env var ``DNS_KEY_SECRET_FILE`` to path of file with secret as its content\n\nOption ``--dns-key-secret -`` will be then automatically prepended and secret key piped to docker-hostdns process.\n\nWorking with docker-compose\n===========================\n\nWhen using *docker-compose* for development you can create custom docker network and use it as\ndomain names source.\n\nTo do this, create docker network with ``docker network create example-dns`` and then run *Docker HostDNS* with ``--network example-dns`` argument.\n\nNext, with example ``docker-compose.yml``:\n\n.. sourcecode:: yaml\n\n version: '2.2'\n services:\n app:\n image: example\n labels:\n pl.glorpen.hostname: example\n networks:\n default: ~\n dns: ~\n\n networks:\n dns:\n external: true\n name: example-dns\n\nyou can start container that would be accessible by host as ``example.docker`` domain.\n\n\n2.4.0\n=====\n\n- added dns server name resolving\n- added key algorithm parameter for update request signing\n\n2.3.0\n=====\n\n- configure travis\n- slim docker image\n- fixed and added more tests\n- added more environment variables\n\n2.2.0\n=====\n\n- added environment variables for docker image\n\n2.1.0\n=====\n\n- fixed docker entrypoint exit signal handling\n- added clean-on-exit option to clear used dns zone\n\n2.0.0\n=====\n\n- added Docker image\n- watched network interfaces can be now specified by user\n- container name deduplication now only drops duplicate names\n- single container can have multiple aliases\n- short id and other container aliases are now available as dns names\n\n1.1.1\n=====\n\n- it is now possible to run multiple instances in single dns zone\n `#2 `__ (`dvenza `__)\n- added option to override default instance name for use in txt records\n\n1.1.0\n=====\n\n- possible breaking change: changed `dnspython3` package to just `dnspython` as Py3 is now supported\n\n1.0.4\n=====\n\n- host names are now allowed to have dots in them\n\n1.0.3\n=====\n\n- added tests\n- added proper domain names coversion\n- added a way to keep track of hosts when adding & removing containers\n\n1.0.2\n=====\n\n- fixed error when handling disconnection event without earlier connect one\n- added app exception logging\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/glorpen/docker-hostdns", "keywords": "docker dns bind named", "license": "", "maintainer": "", "maintainer_email": "", "name": "docker-hostdns", "package_url": "https://pypi.org/project/docker-hostdns/", "platform": "", "project_url": "https://pypi.org/project/docker-hostdns/", "project_urls": { "Homepage": "https://github.com/glorpen/docker-hostdns" }, "release_url": "https://pypi.org/project/docker-hostdns/2.4.0/", "requires_dist": [ "docker (>=2.0.0)", "dnspython (>=1.13.0)", "unittest ; extra == 'development'", "python-daemon ; extra == 'development'", "python-daemon ; extra == 'suggested'", "unittest ; extra == 'testing'", "python-daemon ; extra == 'testing'" ], "requires_python": "", "summary": "Update BIND nameserver zone with Docker hosts via DNS Updates.", "version": "2.4.0" }, "last_serial": 5533789, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "b3801f31d3021a592486b0f196d7bdb0", "sha256": "a43889ed21132abb88a589aa44f5010eae7d2c700b3f9b4c33cdb9c1c0d20df0" }, "downloads": -1, "filename": "docker_hostdns-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b3801f31d3021a592486b0f196d7bdb0", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 9584, "upload_time": "2017-03-31T19:43:03", "url": "https://files.pythonhosted.org/packages/1a/e2/ffd508706745fa6ab78958ab0acb064cf697765f798c4a71c673be659ada/docker_hostdns-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "97082f32f6f83d1f7d564555dd23a4a6", "sha256": "a071b6f4ae2b877ed348b5cefa88515a0482525690679b8e1146d2bee45278f3" }, "downloads": -1, "filename": "docker-hostdns-1.0.tar.gz", "has_sig": false, "md5_digest": "97082f32f6f83d1f7d564555dd23a4a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6120, "upload_time": "2017-03-31T19:43:00", "url": "https://files.pythonhosted.org/packages/04/49/1eefc87dcf44e8cb943fa11ec94fa8c870c16fb5600e7c16a138c7965346/docker-hostdns-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "32071aac275f57202cd11aa8e95449b3", "sha256": "0f0039ffdcf1de579ecc364bc4fa2bf6c87f15a194dd15a05888947c923ef139" }, "downloads": -1, "filename": "docker_hostdns-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "32071aac275f57202cd11aa8e95449b3", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 9646, "upload_time": "2017-04-01T13:10:15", "url": "https://files.pythonhosted.org/packages/e2/5f/e5dd7d0eee039b7e3fb5bf6123c55cdc4a138ef0390e80e02f3189233486/docker_hostdns-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7fd8269194ccab59f9ebed904b1b67df", "sha256": "9e8de8f2d37ed74ce5b5d8c0e5ad5e2e5c0ddc9887cd9add462584810a24810b" }, "downloads": -1, "filename": "docker-hostdns-1.0.1.tar.gz", "has_sig": false, "md5_digest": "7fd8269194ccab59f9ebed904b1b67df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6148, "upload_time": "2017-04-01T13:10:13", "url": "https://files.pythonhosted.org/packages/39/b4/ce42f6739cc0b458e8b5b81cc27106123392eb3d65b148aec0dc668d1d56/docker-hostdns-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "ceb55c54b7d5a75f4e71c58c48aa0e04", "sha256": "c6f679c6d2ddeb502ba309b834f635ccecb4ae961acdaf05660c2d898e178a9c" }, "downloads": -1, "filename": "docker_hostdns-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ceb55c54b7d5a75f4e71c58c48aa0e04", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 9741, "upload_time": "2017-04-01T17:12:51", "url": "https://files.pythonhosted.org/packages/30/c1/3d603d4c2de48a88631fa7c5e0194e65926134c260e72444d047c69e2a47/docker_hostdns-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a3f81b05b272ea2bc4d48ca2732ac4e5", "sha256": "f15cbc0959d934019a11502350f727011f0981600f108bf0f8c88c41c1062834" }, "downloads": -1, "filename": "docker-hostdns-1.0.2.tar.gz", "has_sig": false, "md5_digest": "a3f81b05b272ea2bc4d48ca2732ac4e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6215, "upload_time": "2017-04-01T17:12:49", "url": "https://files.pythonhosted.org/packages/02/49/cd5e6cca5eeffa9f33944f5642c384e105a4ddde49fc9a908118c8c464e9/docker-hostdns-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "e8329986966ac778e8def99c326cda31", "sha256": "fa40f4ac8eed87b12e25fa2f6ff290cfd233f535311b2d71c722a41e6fdfa512" }, "downloads": -1, "filename": "docker_hostdns-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "e8329986966ac778e8def99c326cda31", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 12462, "upload_time": "2017-04-07T18:10:36", "url": "https://files.pythonhosted.org/packages/d4/d6/e33ccda61cce38ffe046a8ee49743755e069fb2dea37c8fdac4bceae4a7b/docker_hostdns-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "418b004bfe3da9d6d1e125911f568fca", "sha256": "f512498ce8967bf306623eb66fb91a909441993d4371068a35a1db2c08f4b421" }, "downloads": -1, "filename": "docker-hostdns-1.0.3.tar.gz", "has_sig": false, "md5_digest": "418b004bfe3da9d6d1e125911f568fca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9694, "upload_time": "2017-04-07T18:10:33", "url": "https://files.pythonhosted.org/packages/88/e9/8b2b78529f524eac7e480ab1f84dee47a34755058faab0c509b8c9e2bc1a/docker-hostdns-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "36f9334949d3e7982b85e6b6eca63d55", "sha256": "2fa0a47d90e8634dff6be14b485001fb86198dd88be8e3e07f155cfc0e98aa4b" }, "downloads": -1, "filename": "docker_hostdns-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "36f9334949d3e7982b85e6b6eca63d55", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 12508, "upload_time": "2017-04-09T20:03:41", "url": "https://files.pythonhosted.org/packages/51/e2/c7e8fd7572be3d2f66007a8f6db28b1f05b740932255ff1d0b9ab74d6d98/docker_hostdns-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d9600ed429cf04a46e4111385c36966", "sha256": "0b58b46651a064b2b5dbf0f996f10731f62901a2f733c8b2ef1797faf83e13c0" }, "downloads": -1, "filename": "docker-hostdns-1.0.4.tar.gz", "has_sig": false, "md5_digest": "4d9600ed429cf04a46e4111385c36966", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9759, "upload_time": "2017-04-09T20:03:38", "url": "https://files.pythonhosted.org/packages/a5/5f/202afbc55b7c9bc90c484d5c3b8420526367747bf0368ccbcf2276da0d68/docker-hostdns-1.0.4.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "5b601fb7efc00dde38ff5d9722b7346a", "sha256": "ee64d561a6238060f10f2adbfa3c697cb9928e973de2684544063f94352319fd" }, "downloads": -1, "filename": "docker_hostdns-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5b601fb7efc00dde38ff5d9722b7346a", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 12660, "upload_time": "2018-01-19T16:01:36", "url": "https://files.pythonhosted.org/packages/36/e4/b08f89a010814070448cb3ffb50352404b480718c85a06b6caf4fe83b070/docker_hostdns-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41e2753991ae153c3c7e5d49e707615d", "sha256": "d5bf4fa5c9eb29617283b284eb01fdc01df1fd99891fe73de465ce8c14758cf9" }, "downloads": -1, "filename": "docker-hostdns-1.1.0.tar.gz", "has_sig": false, "md5_digest": "41e2753991ae153c3c7e5d49e707615d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9903, "upload_time": "2018-01-19T16:01:34", "url": "https://files.pythonhosted.org/packages/78/08/2cdaec9a9f8b88013f2ca48026134e42e7333582b932cca7ace25d0a1000/docker-hostdns-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "8b06c2d76445d5d8e2148e8b6d25c266", "sha256": "c19d9ccb240d79e5d7ef8a333c015b0e1cd2889c0b6662e90beb6234ce741ef7" }, "downloads": -1, "filename": "docker_hostdns-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8b06c2d76445d5d8e2148e8b6d25c266", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 13149, "upload_time": "2018-02-07T07:18:06", "url": "https://files.pythonhosted.org/packages/b0/40/2edbaf917c1c44f8c9e28d770d6ab6938c54ae50ac5df63426ba7083df07/docker_hostdns-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01f6cc944460a5c14206c5e5d5b66181", "sha256": "418559dc3b04b9b728e2abbd29c36856410dcff285ad3e0587b895f36e2f2332" }, "downloads": -1, "filename": "docker-hostdns-1.1.1.tar.gz", "has_sig": false, "md5_digest": "01f6cc944460a5c14206c5e5d5b66181", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10289, "upload_time": "2018-02-07T07:18:04", "url": "https://files.pythonhosted.org/packages/8a/d5/fc594a44c80cab1dfc9e2e721d458ba7cbbe7c0e1516aa8a2b26145f292f/docker-hostdns-1.1.1.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "739e48e8d6be883f3accf5c3408c7bbb", "sha256": "abbf7b14ef0b80ce243ddca120fd1057d58931790dcef1034e3b99f145a91257" }, "downloads": -1, "filename": "docker_hostdns-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "739e48e8d6be883f3accf5c3408c7bbb", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 14268, "upload_time": "2018-09-13T10:05:39", "url": "https://files.pythonhosted.org/packages/5c/2b/704a815201817f79bb6c1bb41257090f0de70626426a79feac14df9af78e/docker_hostdns-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5dcd7d0900d2d7d359cdefcebf032814", "sha256": "8c283a261e172a168f27b7ad9cb2b513ee3f33f40e07938669f6a92f205f489e" }, "downloads": -1, "filename": "docker-hostdns-2.0.0.tar.gz", "has_sig": false, "md5_digest": "5dcd7d0900d2d7d359cdefcebf032814", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11542, "upload_time": "2018-09-13T10:05:37", "url": "https://files.pythonhosted.org/packages/84/5a/7dd6c607205df294654540b12fb0978320455562ece9da8d3c0441127f82/docker-hostdns-2.0.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "a40a0445b9e7a408a44eb5e764a7a29c", "sha256": "b20609b5726174b13b6cd4bca80492d9ea7ad4a712765fc6e08fa0d7e4bd722e" }, "downloads": -1, "filename": "docker_hostdns-2.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a40a0445b9e7a408a44eb5e764a7a29c", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 14579, "upload_time": "2018-09-13T16:28:42", "url": "https://files.pythonhosted.org/packages/ca/e4/d3d231763546060e1cb501d80e911119d2fd089506d9a16cdc709e01a7d9/docker_hostdns-2.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5b36ce894800d9d050fb3a1a6a0cf3c7", "sha256": "b4b51a25ebe795d5d4b99c0172ec97aa36940c535ea9fbffd8d6df67cbed27fb" }, "downloads": -1, "filename": "docker-hostdns-2.1.0.tar.gz", "has_sig": false, "md5_digest": "5b36ce894800d9d050fb3a1a6a0cf3c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11802, "upload_time": "2018-09-13T16:28:40", "url": "https://files.pythonhosted.org/packages/93/17/2cac9aba1c3ec77f2b4a515ef221b14c91d035fc61651c351a7432dab3cd/docker-hostdns-2.1.0.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "74afc580bd7c1bcfa36932f4c22b0477", "sha256": "d77f460cb6ae0edb894c7ea2ede973a841eefd5463356cb29039cbe4d5922371" }, "downloads": -1, "filename": "docker_hostdns-2.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "74afc580bd7c1bcfa36932f4c22b0477", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 15630, "upload_time": "2019-03-04T22:50:59", "url": "https://files.pythonhosted.org/packages/91/8e/662c9277d09cea5752e8598a7a67fc2a6fd20c475c855bffd158bac6bdc8/docker_hostdns-2.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4bdc7648d08f72058da252109d74a83e", "sha256": "0b818436d8cf2ac6aaeb2af399f27a77220b460cf5b9a098875a849c8aa5ca6f" }, "downloads": -1, "filename": "docker-hostdns-2.2.0.tar.gz", "has_sig": false, "md5_digest": "4bdc7648d08f72058da252109d74a83e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12989, "upload_time": "2019-03-04T22:50:47", "url": "https://files.pythonhosted.org/packages/0e/25/6b3464560e45d132e97260bd96f01ec248b52ff271fbf9372d2af0637e52/docker-hostdns-2.2.0.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "24288ad3f18f8791ab0bbfffb5bcf714", "sha256": "bdc08690a29a3213c3b363c0e70d76aad68f10fd1fa48b4412556c0964ebf569" }, "downloads": -1, "filename": "docker_hostdns-2.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "24288ad3f18f8791ab0bbfffb5bcf714", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10305, "upload_time": "2019-03-19T10:52:46", "url": "https://files.pythonhosted.org/packages/a0/0e/29a54bd24c840ddddb842b63ed0450ef50ff2d8ecd25283be8f41306cf22/docker_hostdns-2.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b3afdd2edd4f916ea767f0b1d60941f1", "sha256": "76da9240eec000dff3034fdea47dbfcc4a5824f0e1e71e48b5a6dc65b29e6e76" }, "downloads": -1, "filename": "docker-hostdns-2.3.0.tar.gz", "has_sig": false, "md5_digest": "b3afdd2edd4f916ea767f0b1d60941f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9052, "upload_time": "2019-03-19T10:52:47", "url": "https://files.pythonhosted.org/packages/97/fc/35c38b3ca2412c4212963e70edce323bbe0ac62027e14315afeadb4765d3/docker-hostdns-2.3.0.tar.gz" } ], "2.4.0": [ { "comment_text": "", "digests": { "md5": "22be5cad2df8bb27eb2c0fc39878cac8", "sha256": "e87c64231ece5810e5aa7f7de19d8ad36488ed07bc78035da3f710b3a0f3c887" }, "downloads": -1, "filename": "docker_hostdns-2.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "22be5cad2df8bb27eb2c0fc39878cac8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10556, "upload_time": "2019-07-15T08:19:31", "url": "https://files.pythonhosted.org/packages/7c/fd/043eed9972afff0ef0b2df7e8bda115353e0f94f1e7eb6fea91181278e8d/docker_hostdns-2.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "72e90947c120ba52a88a5a991d66f866", "sha256": "961f9184057f509051d5436b9c900368f4da29f3a1c8566dbff77aa95e579dd4" }, "downloads": -1, "filename": "docker-hostdns-2.4.0.tar.gz", "has_sig": false, "md5_digest": "72e90947c120ba52a88a5a991d66f866", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9364, "upload_time": "2019-07-15T08:19:33", "url": "https://files.pythonhosted.org/packages/11/66/6262444b796a8ed6f872a383ee98077e5ba6df3b0bf11a40909aa08c8895/docker-hostdns-2.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "22be5cad2df8bb27eb2c0fc39878cac8", "sha256": "e87c64231ece5810e5aa7f7de19d8ad36488ed07bc78035da3f710b3a0f3c887" }, "downloads": -1, "filename": "docker_hostdns-2.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "22be5cad2df8bb27eb2c0fc39878cac8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10556, "upload_time": "2019-07-15T08:19:31", "url": "https://files.pythonhosted.org/packages/7c/fd/043eed9972afff0ef0b2df7e8bda115353e0f94f1e7eb6fea91181278e8d/docker_hostdns-2.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "72e90947c120ba52a88a5a991d66f866", "sha256": "961f9184057f509051d5436b9c900368f4da29f3a1c8566dbff77aa95e579dd4" }, "downloads": -1, "filename": "docker-hostdns-2.4.0.tar.gz", "has_sig": false, "md5_digest": "72e90947c120ba52a88a5a991d66f866", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9364, "upload_time": "2019-07-15T08:19:33", "url": "https://files.pythonhosted.org/packages/11/66/6262444b796a8ed6f872a383ee98077e5ba6df3b0bf11a40909aa08c8895/docker-hostdns-2.4.0.tar.gz" } ] }