{ "info": { "author": "Luke Hodkinson", "author_email": "luke.hodkinson@uptickhq.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# GitOps\n\nContinuous delivery for your cluster.\n\n## Overview\n\nUsing CI/CD for applications is a wonderful technique to ease the pain of DevOps,wouldn't it be nice to apply the same workflow to cluster provisioning?\n\nGitOps is a two-part system. A library of commands is used to manage a\nsingle-tenanted cluster within a git repository, and the server component watches\nthe repository and provisions the calculated changes.\n\nCurrently Kubernetes/Helm is the only supported cluster interface. All changes\nto the cluster are performed as applications of Helm charts.\n\n## Installation\n\nSecrets should be placed in `secrets.env`. The example file `secrets.example.env` has the environment variables you will need to supply.\n\nGitops has a helm chart defining its deployment. Invoke scripts are provided to make deployment painless. See `tasks.py`.\n\n## Roadmap\n\n * Handle failure on initial application deployment.\n * Better error reporting on failures.\n * Forced redeployment interface.\n * Make kubernetes specific code modular so that we can start to support multiple deployment methods.\n * Invoke commands and other tools should be extracted from the uptick-cluster repo, added here and packaged up. Package should create /usr/bin/gitops to act as a CLI interface. Convert invoke commands to this new interface.\n * Add a command to create a template cluster repo (ala uptick-cluster) and give instructions to push it up and set up a webhook.\n\nDeveloper experience should look something like:\n```\npip install gitops\ngitops create-repository\n -> Creates cluster repo (maybe with examples?)\n -> Explains or pushes repo up somewhere.\n -> Explains or sets up a webhook on that repo.\ngitops create-secrets\n -> Either downloads secrets from AWS using awscli or\n -> Prompts for each secret individually.\ngitops deploy-server\n -> helm upgrade gitops chart... (see tasks.py:deploy)\n# Use as normal anywhere you want (like uptick-cluster invoke scripts)\ngitops summary\ngitops bump```\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/uptick/gitops", "keywords": "", "license": "BSD", "maintainer": "Uptick", "maintainer_email": "dean.mckendry@uptickhq.com", "name": "gitops", "package_url": "https://pypi.org/project/gitops/", "platform": "", "project_url": "https://pypi.org/project/gitops/", "project_urls": { "Homepage": "https://github.com/uptick/gitops" }, "release_url": "https://pypi.org/project/gitops/0.2.3/", "requires_dist": [ "tabulate", "boto3", "boto", "invoke", "humanize", "colorama" ], "requires_python": "", "summary": "", "version": "0.2.3" }, "last_serial": 5968948, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "88ee4fdd6458f2ce26a463484cee7aeb", "sha256": "8ee70d6737bcc7a7e008bec4664ddbc37a8ea05b88aab8e9c8abc8b77ddbacd6" }, "downloads": -1, "filename": "gitops-0.0.1-py3.6.egg", "has_sig": false, "md5_digest": "88ee4fdd6458f2ce26a463484cee7aeb", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 9942, "upload_time": "2018-09-20T00:36:24", "url": "https://files.pythonhosted.org/packages/04/ad/ba41c0f1d3aa40ae03485c0dc1f22029ff49798818ab7158676db09a0567/gitops-0.0.1-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "8e86e35ddea9b9b4dcadde336407c6a3", "sha256": "f92bca32eae4749e9abac41cb458ebf045982481eb52b5f1e5042db458748db3" }, "downloads": -1, "filename": "gitops-0.0.1.tar.gz", "has_sig": false, "md5_digest": "8e86e35ddea9b9b4dcadde336407c6a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9792, "upload_time": "2018-09-20T00:36:26", "url": "https://files.pythonhosted.org/packages/20/40/df8eec368c9faebe4a199789cef479db070eebac8fa2e869b186f67ea2f9/gitops-0.0.1.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "74b575780d371929068b0bccecf0e5de", "sha256": "c7a90a682c8249ebeeabb57e2c7105f500b152d130f8a85a96d91b9ef70e3bdc" }, "downloads": -1, "filename": "gitops-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "74b575780d371929068b0bccecf0e5de", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43296, "upload_time": "2019-07-16T01:10:22", "url": "https://files.pythonhosted.org/packages/1f/d8/e66fde0130f65512139239641463f05c5cb27fae4f1fc36f318670f0a1e8/gitops-0.1.0-py3-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "7681e29365624698b87c29772046e999", "sha256": "f4d241d17ff180b5836e63514faf8a398beba8e61a5c037cb8637f60856a73a9" }, "downloads": -1, "filename": "gitops-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7681e29365624698b87c29772046e999", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43318, "upload_time": "2019-07-17T01:52:14", "url": "https://files.pythonhosted.org/packages/91/b8/a5d5cdc3abdb3ba5a501f9099f97ecf36a871ed9298c4f058653c5aefd72/gitops-0.1.1-py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "c5c3ea1211b58baaba15c1373f4971f9", "sha256": "d033b821deff6590e3be8b979255cd2724d726f83dd1b93171be0ea03e6acaaa" }, "downloads": -1, "filename": "gitops-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c5c3ea1211b58baaba15c1373f4971f9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 35674, "upload_time": "2019-09-02T03:28:27", "url": "https://files.pythonhosted.org/packages/ca/58/b704fed25984f3989603542df19891ad4619504c3cef93b2c7b031bc9ad3/gitops-0.2.0-py3-none-any.whl" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "12ac1eee79c40ea5d67c26dc0fe8ca7b", "sha256": "af43d29ac24744ed5c0e227d4eb8b4eb4ab0f2d3594358bcdd83955ec6dca2da" }, "downloads": -1, "filename": "gitops-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "12ac1eee79c40ea5d67c26dc0fe8ca7b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 35821, "upload_time": "2019-09-05T01:36:08", "url": "https://files.pythonhosted.org/packages/ce/22/f072511c45727e5e73988e57d8fafac504d15c12ae8257a173a0eacb4f9a/gitops-0.2.1-py3-none-any.whl" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "5c9438f07e2b835ce73eba4a338c1d4f", "sha256": "8cec135f6a5c526990d814d4fbe0111e1f9bcf511530c78f038899b8b88436ad" }, "downloads": -1, "filename": "gitops-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5c9438f07e2b835ce73eba4a338c1d4f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 35932, "upload_time": "2019-09-12T22:39:34", "url": "https://files.pythonhosted.org/packages/cc/23/15a2238f308cf1d045e89b1a128e098d5def0c3af19bea54cb7e999f68ea/gitops-0.2.2-py3-none-any.whl" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "ec81ad328f78bd69f69102f95558c397", "sha256": "ef9962cdfdf04269ca3036e6140e3d67f08a33d79a988131887c010aa0663c16" }, "downloads": -1, "filename": "gitops-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ec81ad328f78bd69f69102f95558c397", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36128, "upload_time": "2019-10-13T22:02:44", "url": "https://files.pythonhosted.org/packages/a0/c3/4ae7544d0ed9a069fc7594a1c134c11347d4afd19b6a447cc59b03cc09c4/gitops-0.2.3-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ec81ad328f78bd69f69102f95558c397", "sha256": "ef9962cdfdf04269ca3036e6140e3d67f08a33d79a988131887c010aa0663c16" }, "downloads": -1, "filename": "gitops-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ec81ad328f78bd69f69102f95558c397", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36128, "upload_time": "2019-10-13T22:02:44", "url": "https://files.pythonhosted.org/packages/a0/c3/4ae7544d0ed9a069fc7594a1c134c11347d4afd19b6a447cc59b03cc09c4/gitops-0.2.3-py3-none-any.whl" } ] }