{ "info": { "author": "Leif Johansson", "author_email": "leifj@mnt.se", "bugtrack_url": null, "classifiers": [], "description": "Python DNS LB & Traffic Director\n================================\n\nThis snippet of python is meant to be used with https://github.com/abh/geodns - a geo-aware\nDNS server in GO. The idea is to monitor a set of services and periodically generate a JSON\nzone based on the service instances that are up and responding correctly. This can be used\nas a poor-mans \"global dns load balancer\".\n\nInstallation\n------------\n\nAs alwasy, setting up a virtualenv might be a good idea but other than that do the usual, \ni.e in this case:\n\n\tpip install python-dlslb\n\nor \n\n\tgit clone git@github.com:leifj/python-dnslb.git\n\tcd python-dnslb\n\t./setup.py install\n\n\nRunning\n-------\n\nCreate a yaml-file somewhere (lets call it example.com.yaml):\n\n```yaml\ncontact: hostmaster.example.com\nnameservers:\n - ns1.example.com\n - ns2.example.com\nhosts:\n\thost-1:\n\t\t- 1.2.3.4\n\thost-2:\n\t\t- 1.2.3.5\n\t\t- 1.2.4.1\n\thost-3\n\t\t- 4.3.2.1\naliases:\n\t- www\nlabels:\n\t- north-america\n\t\t- host-1\n\t- europe\n\t\t- host-2\n\t\t- host-3\nchecks:\n\t- check_http:\n\t\t vhost: \"www.example.com\"\n\t\turl: \"/\"\n```\n\nThen run the following command:\n\n\tdnslb --loglevel=DEBUG -z example.com.json -c example.com.yaml\n\nThe monitor will startup and connect to each IP address listed for all hosts in the\nhosts table, issuing a GET request for '/' with the Host header set to www.example.com\nPeriodically the monitor will write a json zonefile to example.com.json. The zonefile\nwill always list A and AAAA recoreds for the hosts but will only list A and AAAA for\nthe zone (example.com in our case) and for each label for those addresses that passes\nthe test (check_http in this case).\n\nThe zonefile can be fed directly into geodns.\n\n\n\nNEWS\n====\n\n0.2\n---\n\n*Release Date: Mon Apr 8 12:49:06 CEST 2013*\n\n* Initial release\n\n0.2.1\n-----\n\n*Release Date: Mon Apr 8 12:49:06 CEST 2013*\n\n* Fixes label handling\n\n0.2.2\n------\n*Release Date: Wed Jul 31 13:59:43 CEST 2013*\n\n* Conditionally export check_* depending on imports\n\n0.2.3\n-----\n* Release Date: Fri Aug 16 10:19:08 CEST 2013*\n\n* better logging\n* email notification (beta)\n\n0.2.4\n-----\n* Release Date: Wed Mar 11 22:39:49 CET 2015*\n\n0.2.5\n-----\n* Release Date: Wed Mar 11 22:39:49 CET 2015*\n* sleep configuration\n\n0.2.8\n-----\n* Release Date: Fre 30 jun 2017 18:07:14 CEST\n* check https urls\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://blogs.mnt.se", "keywords": "cdn dlb", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "python-dnslb", "package_url": "https://pypi.org/project/python-dnslb/", "platform": "", "project_url": "https://pypi.org/project/python-dnslb/", "project_urls": { "Homepage": "http://blogs.mnt.se" }, "release_url": "https://pypi.org/project/python-dnslb/0.2.8/", "requires_dist": null, "requires_python": "", "summary": "Simple Python DNS load balancer for geodns", "version": "0.2.8" }, "last_serial": 2990273, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "401883d6bbb613c95a175e3d9c38d450", "sha256": "e1b4bdf7d7ecfe2537a75d4965a547fe806cd1f46d3c876f712327695d270510" }, "downloads": -1, "filename": "python-dnslb-0.2.tar.gz", "has_sig": false, "md5_digest": "401883d6bbb613c95a175e3d9c38d450", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6449, "upload_time": "2013-04-08T11:07:39", "url": "https://files.pythonhosted.org/packages/bf/9c/e5b1af3137685504083dee1a483e4a200772789d02b57848a4067540415f/python-dnslb-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "2d55540c436550914cecc09711b05d25", "sha256": "affd58c5827bbd38527af74558019dbd7c6d535eb34b547b15fc65f11cfd2210" }, "downloads": -1, "filename": "python-dnslb-0.2.1.tar.gz", "has_sig": false, "md5_digest": "2d55540c436550914cecc09711b05d25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6606, "upload_time": "2013-04-08T12:07:37", "url": "https://files.pythonhosted.org/packages/3c/9e/27485c2e625fd3c5b396f8247690f5ed90f4f57413c323d2c6470b1dd8d4/python-dnslb-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "c35a87f31b9a8c43dea95d52579492fc", "sha256": "c8dba7c19e767d5f092b761c832848cba75ba6561774e35c384bab537daf5d75" }, "downloads": -1, "filename": "python-dnslb-0.2.2.tar.gz", "has_sig": false, "md5_digest": "c35a87f31b9a8c43dea95d52579492fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6970, "upload_time": "2013-07-31T12:01:18", "url": "https://files.pythonhosted.org/packages/f1/e9/e50912a2b678f8e6cf8b5295576c8c961ff3f0e6c545e267c1df8bdc86bd/python-dnslb-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "9ed4d9586228ededfe2e34437c0cd3ed", "sha256": "47c689673ada1daa6b8b969eee5871b9f01940ee4e46d4e224a2093b6024dfd1" }, "downloads": -1, "filename": "python-dnslb-0.2.3.tar.gz", "has_sig": false, "md5_digest": "9ed4d9586228ededfe2e34437c0cd3ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7675, "upload_time": "2013-08-16T08:20:23", "url": "https://files.pythonhosted.org/packages/24/52/38318fe81fa7cdb2661ab95c069b55d1e95707e2bdc1e52cbaf962789472/python-dnslb-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "d741485002eb95ecdd80281b7a62113b", "sha256": "799cd3aa37fe7ce8720d695f9e4c866c81865d67aa598f9b1c15bcb3c90e7d94" }, "downloads": -1, "filename": "python-dnslb-0.2.4.tar.gz", "has_sig": false, "md5_digest": "d741485002eb95ecdd80281b7a62113b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7769, "upload_time": "2015-03-11T21:41:25", "url": "https://files.pythonhosted.org/packages/13/30/9d0866794b4fb297808642627b108c599c0a183a3fd2d02bc9a205dbc82d/python-dnslb-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "df6e1436325333be33f2683df7f00ffe", "sha256": "ca7fc204c55ceb1a78930ef6ee506ba0c9a0f56f2606a99ff9ee5d8efc542d1a" }, "downloads": -1, "filename": "python-dnslb-0.2.5.tar.gz", "has_sig": false, "md5_digest": "df6e1436325333be33f2683df7f00ffe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7847, "upload_time": "2015-03-11T21:53:36", "url": "https://files.pythonhosted.org/packages/7c/68/905295e9329039878d7965c4af3e5c9bd69f8e7e609bf973aa817f7519f7/python-dnslb-0.2.5.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "8179ea2bb50897a01f18fad5885cb4a7", "sha256": "9dfd25ee3de9a5840f44fce38ba3b13c40ab95a0248e723cfefb50ef89bfe8fd" }, "downloads": -1, "filename": "python-dnslb-0.2.7.tar.gz", "has_sig": false, "md5_digest": "8179ea2bb50897a01f18fad5885cb4a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7862, "upload_time": "2015-03-11T22:21:56", "url": "https://files.pythonhosted.org/packages/c8/c5/d47c059562c099d8404ff270f8caf8f8ce7da01598edecaaca6c03ce52e0/python-dnslb-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "5a81f96a29502fe0d45486b493046279", "sha256": "eccda85c728e2504c4105274188e47b7f5748983812764a9bba1309e682af6f2" }, "downloads": -1, "filename": "python-dnslb-0.2.8.tar.gz", "has_sig": false, "md5_digest": "5a81f96a29502fe0d45486b493046279", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9234, "upload_time": "2017-06-30T16:11:35", "url": "https://files.pythonhosted.org/packages/86/5e/1e9b58624c0d2eca99265cd8deb54f597c3d7ed029da3d6a59ea9355cf36/python-dnslb-0.2.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5a81f96a29502fe0d45486b493046279", "sha256": "eccda85c728e2504c4105274188e47b7f5748983812764a9bba1309e682af6f2" }, "downloads": -1, "filename": "python-dnslb-0.2.8.tar.gz", "has_sig": false, "md5_digest": "5a81f96a29502fe0d45486b493046279", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9234, "upload_time": "2017-06-30T16:11:35", "url": "https://files.pythonhosted.org/packages/86/5e/1e9b58624c0d2eca99265cd8deb54f597c3d7ed029da3d6a59ea9355cf36/python-dnslb-0.2.8.tar.gz" } ] }