{ "info": { "author": "m_messiah", "author_email": "m.muzafarov@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Utilities" ], "description": "Distributor\n===========\n\n.. epigraph::\n *\"Let me show, where your service\"*\n \n\n.. image:: https://img.shields.io/pypi/v/distributor.svg?style=flat-square\n :target: https://pypi.python.org/pypi/distributor\n :alt: PyPI latest version\n\n.. image:: https://img.shields.io/pypi/dm/distributor.svg?style=flat-square\n :target: https://pypi.python.org/pypi/distributor\n :alt: PyPI downloads/month\n\n.. image:: https://img.shields.io/travis/m-messiah/distributor.svg?style=flat-square\n :target: https://travis-ci.org/m-messiah/distributor\n\n.. image:: https://readthedocs.org/projects/distributor/badge/?version=latest&style=flat-square\n :target: http://distributor.readthedocs.org/ru/latest/?badge=latest\n :alt: Documentation Status\n \n \nWhat is it?\n-----------\n\nWhen you have many frontend servers - it's a big headache to know, which of them listens your service now, especially, if you often need to move some services between groups of frontend balancers.\nMoreover, if you have so many domain names, it is also difficult to monitor their actuality without automatic systems.\n \n**Distributor** is a web app, which can get Nginx and HAproxy configurations from your frontend servers, and clearly show which of your frontends listen each service and ip address.\n\nHow it works?\n-------------\n\n**Distributor** can get configs from GitLab, where frontends push their Nginx and HAproxy configs, also it can get dns zone transfers and handle list of your domains from nic.ru. \n\nIf your fronts doesn't push their configs, you need to customize code to get configs from other places.\n\nUsage\n-----\n\n.. code:: bash\n\n sudo -u www-data distributor-gen -c config.ini -l distributor.log -o /var/www/\n \nWhere config.ini is your config file as described in documentation, and /var/www/ is the directory, which published by some static web-server.", "description_content_type": null, "docs_url": "https://pythonhosted.org/distributor/", "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/m-messiah/distributor", "keywords": "haproxy nginx bind nic.ru", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "distributor", "package_url": "https://pypi.org/project/distributor/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/distributor/", "project_urls": { "Homepage": "https://github.com/m-messiah/distributor" }, "release_url": "https://pypi.org/project/distributor/2.4.2/", "requires_dist": null, "requires_python": "", "summary": "Nginx, Haproxy configs and DNS analyzer.", "version": "2.4.2" }, "last_serial": 2020354, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "1f379a9f8bd4aa00ef30d654ffe2288c", "sha256": "4d8cdaf981ecf110f6104f729dccfc499e1a7e3897e21462809be0b95f933fdb" }, "downloads": -1, "filename": "distributor-1.0.tar.gz", "has_sig": false, "md5_digest": "1f379a9f8bd4aa00ef30d654ffe2288c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12124, "upload_time": "2015-12-15T08:14:20", "url": "https://files.pythonhosted.org/packages/ea/74/00dc7fbb271ffa92613223055f7f700b0d76bfb3ce434b644ca6f3ffc13e/distributor-1.0.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "09292e642e219fa5cfc49f9397482ccb", "sha256": "7fcccf7db1b6b4425e51447ed68afc53e78a594525937dadf8aec1b7f8178930" }, "downloads": -1, "filename": "distributor-2.0.tar.gz", "has_sig": false, "md5_digest": "09292e642e219fa5cfc49f9397482ccb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12293, "upload_time": "2015-12-15T13:17:21", "url": "https://files.pythonhosted.org/packages/a8/2b/5793922da65764d8506b5bed094d74d10042fe17fc08f5b8bc311d7e8b5a/distributor-2.0.tar.gz" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "d11c5345875c51dfeb1f2a3e68657ea3", "sha256": "1fdbc0f45ef62b3cfb49f692b2acf9bf54c2d13787e72d399e22c363f10ee711" }, "downloads": -1, "filename": "distributor-2.1.tar.gz", "has_sig": false, "md5_digest": "d11c5345875c51dfeb1f2a3e68657ea3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12308, "upload_time": "2015-12-15T13:50:02", "url": "https://files.pythonhosted.org/packages/7b/7e/b8e89461e18f5c4d94fdef4a10ebff578a7d9d64e46afeafe47aa92c4e3c/distributor-2.1.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "d2d4adf900b33c18e2c6d264ebe3409a", "sha256": "3b903fd62d68bb1d79e47c13b4056aed38701790310147c0bb878079ca0c4d2c" }, "downloads": -1, "filename": "distributor-2.2.tar.gz", "has_sig": false, "md5_digest": "d2d4adf900b33c18e2c6d264ebe3409a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12310, "upload_time": "2015-12-17T05:32:07", "url": "https://files.pythonhosted.org/packages/5b/29/315cbe09e9000d45b048a1d3e28c9838fbceb02c19e6de98372171564048/distributor-2.2.tar.gz" } ], "2.3": [ { "comment_text": "", "digests": { "md5": "1a96d016f19659408307e129753c10d3", "sha256": "cb8ef059af5d62e13ba7e6b921c3e46065a844b1c88a3ffdbc6a06d7678d27e7" }, "downloads": -1, "filename": "distributor-2.3-py2-none-any.whl", "has_sig": false, "md5_digest": "1a96d016f19659408307e129753c10d3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15435, "upload_time": "2015-12-30T08:18:51", "url": "https://files.pythonhosted.org/packages/7c/40/66cf2221f160a09afe9e02f42ee168ab4639e13182fb36aa2e83e8a6be79/distributor-2.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b31c5674a2be4368ffdfea4758e52de4", "sha256": "911f01d988d1e8fde075ff352d1793fb64490399a98aeafce47290fe1aa3a256" }, "downloads": -1, "filename": "distributor-2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b31c5674a2be4368ffdfea4758e52de4", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 15439, "upload_time": "2015-12-30T08:17:47", "url": "https://files.pythonhosted.org/packages/72/41/fbbfeae3110eb70b1060b1e20edef365992ae2e0cec270ec0a5a66401be7/distributor-2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f84bef85fd544bd220cf977a45b3ee6", "sha256": "8bc771505a0581504d104126046f7d8a079c831c758f1851f14ff449c49b84d8" }, "downloads": -1, "filename": "distributor-2.3.tar.gz", "has_sig": false, "md5_digest": "2f84bef85fd544bd220cf977a45b3ee6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12330, "upload_time": "2015-12-30T07:41:33", "url": "https://files.pythonhosted.org/packages/f5/65/094e73ff89c2ec5c39921b4fb31d446810f57ec68036f1bcac5e66ed177d/distributor-2.3.tar.gz" } ], "2.4": [ { "comment_text": "built for Darwin-15.2.0", "digests": { "md5": "57465dc357009e71150674024bca6a9c", "sha256": "61c0ccd3b9fb83f794e88906d224d602f79d78aa53785e81a0d906f126830778" }, "downloads": -1, "filename": "distributor-2.4.macosx-10.11-x86_64.tar.gz", "has_sig": false, "md5_digest": "57465dc357009e71150674024bca6a9c", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 21374, "upload_time": "2016-01-13T07:14:12", "url": "https://files.pythonhosted.org/packages/a2/c4/63afca4a3129a0be00d72f6b0bb263e7f7d84076e28221adbb9e5fab0e85/distributor-2.4.macosx-10.11-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "53a2f0663930380e86589af65b02f195", "sha256": "3b3715d177cbebc8eb74d89188a7701296dd9f84857344968398444f48abe123" }, "downloads": -1, "filename": "distributor-2.4-py2.7.egg", "has_sig": false, "md5_digest": "53a2f0663930380e86589af65b02f195", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 13551, "upload_time": "2016-01-13T07:15:53", "url": "https://files.pythonhosted.org/packages/d9/76/4ade5c075622549d59c8be190c6581d8b19ba15ce8e1c7897a8f46690b46/distributor-2.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "45e0fd62ea6f752047b93cd186c119a2", "sha256": "414dc3d31c54384f60fe5b9f66d6e2ebe25a20c82668a120426d71771e1c376d" }, "downloads": -1, "filename": "distributor-2.4-py2-none-any.whl", "has_sig": false, "md5_digest": "45e0fd62ea6f752047b93cd186c119a2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15541, "upload_time": "2016-01-13T07:15:34", "url": "https://files.pythonhosted.org/packages/c8/37/8807840edf09be26640fb16aa3a26ed97ed9ec78585126b8c766419a7097/distributor-2.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bfcb47584bccee4c34df847ef640f683", "sha256": "9a03eabbbfe51be3c59c67fea0834b044da376be9bef29c34479c71fb0c838dd" }, "downloads": -1, "filename": "distributor-2.4-py3.5.egg", "has_sig": false, "md5_digest": "bfcb47584bccee4c34df847ef640f683", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 13552, "upload_time": "2016-01-13T07:15:16", "url": "https://files.pythonhosted.org/packages/08/fb/cc061f5428f88b66b264a55d00bb664c5fc6b0ad47bae322c6632449d4a9/distributor-2.4-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "73c5eedab7d3420586aeee9c22fb84a9", "sha256": "ca19f36eca0eca38ae87e554fe36533f91f1497a238fa360158ae02b9fd96766" }, "downloads": -1, "filename": "distributor-2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "73c5eedab7d3420586aeee9c22fb84a9", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 15544, "upload_time": "2016-01-13T07:15:09", "url": "https://files.pythonhosted.org/packages/09/bf/6ec34872dc0d6d14bdf7e4d9291a2af177dd5ae33fce93d9491da41ee5fe/distributor-2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "914f5834e10d0233b61cf2042fc980bf", "sha256": "4928f46c9d7fdc6ccddbe361ae086b6b71006e55075efc830ab78c4de4bf1886" }, "downloads": -1, "filename": "distributor-2.4.tar.gz", "has_sig": false, "md5_digest": "914f5834e10d0233b61cf2042fc980bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12400, "upload_time": "2016-01-13T07:14:04", "url": "https://files.pythonhosted.org/packages/86/7a/0860dd7f78751e74f8aa34681e1a9f381b075bdb72109b44e0e6acacddc0/distributor-2.4.tar.gz" } ], "2.4.1": [ { "comment_text": "", "digests": { "md5": "9396cbd40acfd7c8f94c88516b966a09", "sha256": "79c2286521a25ca502f8e2cb615f2c4e4f2f2c44e29e6f86a48d012ce19287eb" }, "downloads": -1, "filename": "distributor-2.4.1.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "9396cbd40acfd7c8f94c88516b966a09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22558, "upload_time": "2016-03-15T12:35:12", "url": "https://files.pythonhosted.org/packages/57/be/ccf3567dd6d0677cae3af13b556e28d89a2ff47b0293413b3f73f1f0def1/distributor-2.4.1.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "c6f84f2b39f567dee7f44c402b30fb42", "sha256": "cf93aeaca42aeada5b884a6c73f9cb37c4998de3b053f252d20009b00d36446b" }, "downloads": -1, "filename": "distributor-2.4.1-py2-none-any.whl", "has_sig": false, "md5_digest": "c6f84f2b39f567dee7f44c402b30fb42", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 15650, "upload_time": "2016-03-15T12:34:56", "url": "https://files.pythonhosted.org/packages/47/3c/ea2cc41df8d969b639fc48519031f1151c8306c86592ab7697bc7a7c1c28/distributor-2.4.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5edce374529273f4cd952cf7791ef167", "sha256": "de84927eeb8ae4fcf3ba259d9a23ccc8cb907ec42a026ef43c469f80222594af" }, "downloads": -1, "filename": "distributor-2.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5edce374529273f4cd952cf7791ef167", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15652, "upload_time": "2016-03-15T12:34:55", "url": "https://files.pythonhosted.org/packages/5e/39/5cc75ddeb4f37e1acd4a902fbdd01b01d4c5d1e20a385725705dc7de616b/distributor-2.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "93d1d87b5638ee1a16d4d5cafea40734", "sha256": "b777d231d17b828f8fea56b67e1cd5e36c0975c80d325f0325c687c38f36da53" }, "downloads": -1, "filename": "distributor-2.4.1.tar.gz", "has_sig": false, "md5_digest": "93d1d87b5638ee1a16d4d5cafea40734", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12400, "upload_time": "2016-03-15T12:35:24", "url": "https://files.pythonhosted.org/packages/e4/40/cd1313cd7df9e4b706b2998015c180a778e922e2530db530f465aa56eb70/distributor-2.4.1.tar.gz" } ], "2.4.2": [ { "comment_text": "", "digests": { "md5": "5da97acdda2ff93c017c469caa37fb22", "sha256": "51ebb843ee0e24bf303bd9947e018525d10f85f4164454414e6eba4bad7254b1" }, "downloads": -1, "filename": "distributor-2.4.2.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "5da97acdda2ff93c017c469caa37fb22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22164, "upload_time": "2016-03-22T11:07:49", "url": "https://files.pythonhosted.org/packages/e3/0f/0288cbd7badb07138a16acd665b16df87fab4f532e4df15cf62b371f98f9/distributor-2.4.2.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "443b35a6802afa16d7fee02d83c8f7a2", "sha256": "d286cf8b4ee046dfd8fcd150452435fb8698378b3227651aa2886c4f92804c61" }, "downloads": -1, "filename": "distributor-2.4.2.tar.gz", "has_sig": false, "md5_digest": "443b35a6802afa16d7fee02d83c8f7a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12420, "upload_time": "2016-03-22T11:08:15", "url": "https://files.pythonhosted.org/packages/54/c1/d66b9270cf956e4313728d5d049eea46b790565fe3261eb81692eec1f9f2/distributor-2.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5da97acdda2ff93c017c469caa37fb22", "sha256": "51ebb843ee0e24bf303bd9947e018525d10f85f4164454414e6eba4bad7254b1" }, "downloads": -1, "filename": "distributor-2.4.2.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "5da97acdda2ff93c017c469caa37fb22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22164, "upload_time": "2016-03-22T11:07:49", "url": "https://files.pythonhosted.org/packages/e3/0f/0288cbd7badb07138a16acd665b16df87fab4f532e4df15cf62b371f98f9/distributor-2.4.2.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "443b35a6802afa16d7fee02d83c8f7a2", "sha256": "d286cf8b4ee046dfd8fcd150452435fb8698378b3227651aa2886c4f92804c61" }, "downloads": -1, "filename": "distributor-2.4.2.tar.gz", "has_sig": false, "md5_digest": "443b35a6802afa16d7fee02d83c8f7a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12420, "upload_time": "2016-03-22T11:08:15", "url": "https://files.pythonhosted.org/packages/54/c1/d66b9270cf956e4313728d5d049eea46b790565fe3261eb81692eec1f9f2/distributor-2.4.2.tar.gz" } ] }