{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# What's that thing?\n\n`lb-controller` is kubernetes operator that can handle dynamic reconfiguration\nof an external load balancer, *e.g* haproxy, it aims to allow the use of the\n`LoadBalancer` service type with on premise clusters.\n\nThis operator is not deployed in the K8s cluster but on the load balancers and\nis a subscriber of the cluster events to know when it has to wake up and do its\nthing.\n\nWe thought of 3 scenarios while building this app :\n\n - HAProxy + keepalived\n - Envoy + keepalived\n - keepalived only\n\n\nThe advantage of this implementation compared to [MetalLB](https://metallb.universe.tf/)\nis that you gain the ability to completely master the LB configuration, for\nexample ipv6 to ipv4 or specific SSL configurations.\n\n# How should I integrate `lb-controller`\n\n* Install haproxy and keepalived\n* pip install lb-controller\n* add the configurations in /etc/lb-controller/\n* Define a dedicated service account to consume only the appropriate resources\n from the cluster API server\n* set this identity in the `/root/.kube/config` file on the HAProxy hosts.\n\nYou can find an ansible role at this adress ... as an example.\n\n\n# Metrics\n\nThis app exposes two metrics in the openmetrics format to be scrape by\nprometheus for example:\n- number of valid loadbalancers\n- number of invalid loadbalancers\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "lb-controller", "package_url": "https://pypi.org/project/lb-controller/", "platform": "", "project_url": "https://pypi.org/project/lb-controller/", "project_urls": null, "release_url": "https://pypi.org/project/lb-controller/0.0.6/", "requires_dist": [ "kubernetes (==9.0.0)", "kubernetes-asyncio (==9.1.0)", "jinja2 (==2.10.1)", "prometheus-client (==0.7.1)", "pytest (==4.6.3) ; extra == 'tests'" ], "requires_python": "", "summary": "A controller to auto configure k8s load balancer on premise", "version": "0.0.6" }, "last_serial": 5584006, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "5137122af6e754c7c87b9210a3d86dae", "sha256": "0b751f2882b4ca6c093b3d949fcbb7de50025675ad98c9c95212617d3f275bed" }, "downloads": -1, "filename": "lb_controller-0.0.1.tar.gz", "has_sig": false, "md5_digest": "5137122af6e754c7c87b9210a3d86dae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1143, "upload_time": "2019-07-22T10:03:54", "url": "https://files.pythonhosted.org/packages/60/ad/b63dd8b587267cb97687ee9fb89f50dae97e1e296f5c381d9657727f3fda/lb_controller-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "67f8674e3449cebbc796fd5edd3ba281", "sha256": "9da1ac49641780990e518eacadc9bf101c1bbbe2a2fd6f7790e2c3e49bc7f0ea" }, "downloads": -1, "filename": "lb_controller-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "67f8674e3449cebbc796fd5edd3ba281", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7082, "upload_time": "2019-07-22T14:26:32", "url": "https://files.pythonhosted.org/packages/f1/d6/eb9c35a919c141a48cda59c8819e902828e2c1a27d53f7142dd614fd26fa/lb_controller-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1252573f43e4de19f01d407a5196fb6", "sha256": "8849f218690685cf4f18637649720578b630e5808fb7f963fdd740b0134d5956" }, "downloads": -1, "filename": "lb_controller-0.0.2.tar.gz", "has_sig": false, "md5_digest": "e1252573f43e4de19f01d407a5196fb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5476, "upload_time": "2019-07-22T14:26:34", "url": "https://files.pythonhosted.org/packages/08/b9/af591c7840b9cb9502450a4b359d813cef10eaea1c46a9e72b8e07f2a01e/lb_controller-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "7a824d98efcbfd2c4abb8eca0b625e45", "sha256": "7b69df98005b45377702061668032f359dfebfe544594a8b89f9fd3e1a90a68e" }, "downloads": -1, "filename": "lb_controller-0.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "7a824d98efcbfd2c4abb8eca0b625e45", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8951, "upload_time": "2019-07-23T15:14:22", "url": "https://files.pythonhosted.org/packages/8d/54/f94f5640ce92e1d0f6aea84a0963d072356ac490ca27481da24ea4cbaf9f/lb_controller-0.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "05e444c443c12ccfed43e1c79001a356", "sha256": "4b19c06c07baafda2334a373b582b2a3cdbd6c007836d819c3f0ab394be70d2d" }, "downloads": -1, "filename": "lb_controller-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "05e444c443c12ccfed43e1c79001a356", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7429, "upload_time": "2019-07-23T16:49:50", "url": "https://files.pythonhosted.org/packages/85/0a/c7e743e0d16673479bb972443f30b59fce37e281ce9b819d61a6940a1bb0/lb_controller-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4bb293e0a25927c6c9e36f6030a99b8", "sha256": "940ed9f06e29fd2d674c8599982f30c2fadf9489f9cd1c34ab1282d17b2fa29d" }, "downloads": -1, "filename": "lb_controller-0.0.3.tar.gz", "has_sig": false, "md5_digest": "c4bb293e0a25927c6c9e36f6030a99b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5893, "upload_time": "2019-07-23T15:14:23", "url": "https://files.pythonhosted.org/packages/9f/67/51a03e062d3d1821bd9160daf5f2175a78d2ea0ab683c4576c0af56e080e/lb_controller-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "8283cb3e8f5be0228541c37a86541c2f", "sha256": "401550621ea89f49a26c04a7dba5f3e226e54e9666170874a17fcc9adab3ba36" }, "downloads": -1, "filename": "lb_controller-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "8283cb3e8f5be0228541c37a86541c2f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7424, "upload_time": "2019-07-24T14:20:43", "url": "https://files.pythonhosted.org/packages/d1/05/0c3f457bce64847b135deb7e1c04d42e9db8a016fb4502f5fb9b593ecdf5/lb_controller-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c8f7ec55a05694aa484b1c342d25167c", "sha256": "1fb945ac08eeeb6788407efbfe1a531051a6617c053b43503d24d238130c3d6a" }, "downloads": -1, "filename": "lb_controller-0.0.4.tar.gz", "has_sig": false, "md5_digest": "c8f7ec55a05694aa484b1c342d25167c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5830, "upload_time": "2019-07-24T14:20:44", "url": "https://files.pythonhosted.org/packages/a2/03/926b1b8845eb39debd1dec21cc7e19aa057d9c8e18bfa7df19c6831f01f4/lb_controller-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "40b4d5f43e0d1a656871231943ac2002", "sha256": "09adc94803ed0fec551fb38f5acd4c4fe6bb0da2cc5cadb1c767645d54f33a30" }, "downloads": -1, "filename": "lb_controller-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "40b4d5f43e0d1a656871231943ac2002", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7432, "upload_time": "2019-07-25T14:56:59", "url": "https://files.pythonhosted.org/packages/54/3d/0641a5d0a9eb286cf29c436ab6be4f32628e753e2a932d7f5b0042e58da4/lb_controller-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a3c7f32aefccbb9fd31d70d805ce1f95", "sha256": "61665e017b72f95fe4f35fa14ffcd3d9d9072a61756c9a85342be5e4414ec276" }, "downloads": -1, "filename": "lb_controller-0.0.5.tar.gz", "has_sig": false, "md5_digest": "a3c7f32aefccbb9fd31d70d805ce1f95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5868, "upload_time": "2019-07-25T14:57:00", "url": "https://files.pythonhosted.org/packages/e6/64/32ea5e07e6024252a061a83024cbec4fb077f8a230d572f46eb65065c6bb/lb_controller-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "3c5f04c129e658b705c28e9619d5c94e", "sha256": "bc5c6a9bb23190b2810ab8274cde66114b31f68c44a1c856ac587cc5c2ba2f5e" }, "downloads": -1, "filename": "lb_controller-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "3c5f04c129e658b705c28e9619d5c94e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7504, "upload_time": "2019-07-25T16:02:16", "url": "https://files.pythonhosted.org/packages/4b/ef/7ea041b6b84060b7310921538fb51a76d7ccffcd2fe57f410eb9a3e525f9/lb_controller-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "24fcb8dcb7c35dde186f87b83946dbc7", "sha256": "9ece64f7673d9214bade5f3b4f3a7e7e566e646c700a628949522c4ce0dc8810" }, "downloads": -1, "filename": "lb_controller-0.0.6.tar.gz", "has_sig": false, "md5_digest": "24fcb8dcb7c35dde186f87b83946dbc7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5903, "upload_time": "2019-07-25T16:02:18", "url": "https://files.pythonhosted.org/packages/ec/7e/2c464ea072e7a4bb0e86cc75ac18848da76946ec76082b38bbad6c705656/lb_controller-0.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3c5f04c129e658b705c28e9619d5c94e", "sha256": "bc5c6a9bb23190b2810ab8274cde66114b31f68c44a1c856ac587cc5c2ba2f5e" }, "downloads": -1, "filename": "lb_controller-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "3c5f04c129e658b705c28e9619d5c94e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7504, "upload_time": "2019-07-25T16:02:16", "url": "https://files.pythonhosted.org/packages/4b/ef/7ea041b6b84060b7310921538fb51a76d7ccffcd2fe57f410eb9a3e525f9/lb_controller-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "24fcb8dcb7c35dde186f87b83946dbc7", "sha256": "9ece64f7673d9214bade5f3b4f3a7e7e566e646c700a628949522c4ce0dc8810" }, "downloads": -1, "filename": "lb_controller-0.0.6.tar.gz", "has_sig": false, "md5_digest": "24fcb8dcb7c35dde186f87b83946dbc7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5903, "upload_time": "2019-07-25T16:02:18", "url": "https://files.pythonhosted.org/packages/ec/7e/2c464ea072e7a4bb0e86cc75ac18848da76946ec76082b38bbad6c705656/lb_controller-0.0.6.tar.gz" } ] }