{ "info": { "author": "Pior Bastida", "author_email": "pior@pbastida.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development", "Topic :: System" ], "description": "====================================\nBuddy, your Cloudformation/ECS valet\n====================================\n\n*Opinionated tools to manage your AWS infrastructure.*\n\n---------------------------------\nManage your cloudformation stacks\n---------------------------------\n\nCloudformation stacks are described by *stack files*\n\n- YAML format\n- Specify which Cloudformation *template* to use\n- Specify the parameters to use when creating/updating stacks\n\nExamples:\n\n.. code:: shell\n\n $ bstack list\n ...\n\n $ cat .aws/production.yaml\n name: helloworld\n template: service.yaml\n\n $ cat service.yaml\n AWSTemplateFormatVersion: 2010-09-09\n Description: Handle Service\n Resources:\n ...\n\n $ bstack create .aws/production.yaml\n $ bstack events helloworld # or bstack events .aws/production.yaml\n $ bstack resources helloworld\n $ bstack update .aws/production.yaml\n $ bstack delete helloworld\n\n-------------------------------------\nManage your services and tasks on ECS\n-------------------------------------\n\nAlpha: in development. Currently only implement deploy action for\ncontinuous deployment on ECS.\n\n.. code:: shell\n\n $ cat .aws/cluster.yaml\n targets:\n production:\n cluster: production\n service: service-Service-1234567890JVM\n task: helloworld\n environment: production\n tasks:\n helloworld:\n containers:\n - http\n - app\n - celery\n environments:\n production:\n SECRET_KEY: s3cr3t\n DATABASE_URL: postgis://user:pass@host/name\n REDIS_URL: redis://host:6379\n containers:\n http:\n properties:\n memory: 100\n cpu: 100\n portMappings:\n - containerPort: 80\n hostPort: 0 # 0 = dynamic port\n links: ['app']\n command: ['nginx', '-g', 'daemon off;']\n app:\n properties:\n memory: 200\n cpu: 200\n environment:\n [SECRET_KEY, DATABASE_URL, REDIS_URL]\n celery:\n properties:\n memory: 150\n cpu: 100\n command: ['celery', '-A', 'helloworld', 'worker', '-B', '-l', 'info']\n environment:\n [DATABASE_URL, REDIS_URL]\n\n $ bcluster deploy .aws/cluster.yaml production registry/myapp:latest a1b2c3d4\n Definition:\n [{'command': ['nginx', '-g', 'daemon off;'],\n 'cpu': 100,\n ...\n ]\n\n Register task\n Registered task: arn:aws:ecs:us-east-1:000000000000:task-definition/helloworld:123\n Deploying...\n Wait: deployment in progress\n arn:aws:ecs:us-east-1:000000000000:task-definition/helloworld:123 - PRIMARY - running: 0\n arn:aws:ecs:us-east-1:000000000000:task-definition/helloworld:122 - ACTIVE - running: 2\n\n Wait: deployment in progress\n arn:aws:ecs:us-east-1:000000000000:task-definition/helloworld:123 - PRIMARY - running: 0\n arn:aws:ecs:us-east-1:000000000000:task-definition/helloworld:122 - ACTIVE - running: 2\n\n Wait: deployment in progress\n arn:aws:ecs:us-east-1:000000000000:task-definition/helloworld:123 - PRIMARY - running: 2\n arn:aws:ecs:us-east-1:000000000000:task-definition/helloworld:122 - ACTIVE - running: 0\n\n Final state:\n ...\n\n Success\n\n-----------\nDevelopment\n-----------\n\nRunning tests\n\n.. code:: shell\n\n $ git clone git@github.com:pior/buddy.git\n ...\n $ mkvirtualenv buddy -p python3\n ...\n $ pip install -U -r requirements-test.txt\n ...\n $ pip install -e .\n ...\n $ pytest\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pior/buddy", "keywords": "aws cloudformation ecs deployment", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "buddy", "package_url": "https://pypi.org/project/buddy/", "platform": "Linux", "project_url": "https://pypi.org/project/buddy/", "project_urls": { "Homepage": "https://github.com/pior/buddy" }, "release_url": "https://pypi.org/project/buddy/0.0.3/", "requires_dist": [ "click", "pyyaml", "Arrow", "boto3", "tabulate" ], "requires_python": "", "summary": "Buddy, your Cloudformation/ECS valet", "version": "0.0.3" }, "last_serial": 2485615, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "b09ceb842d2f8772f715dad3af52df0a", "sha256": "82788fb1cd8044258eca15c27547a2823063ee11969bfdcf22ddb2e2be2bfba7" }, "downloads": -1, "filename": "buddy-0.0.2-py3.5.egg", "has_sig": false, "md5_digest": "b09ceb842d2f8772f715dad3af52df0a", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 19568, "upload_time": "2016-11-28T03:08:46", "url": "https://files.pythonhosted.org/packages/d9/26/57d651a612d74aa9977a119722a3fe29714378db93015ab5188e2125520b/buddy-0.0.2-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "77d171f041a34874ac1add50557363a9", "sha256": "52c9d2dbe5cc9c3b8cfb14376ac9fd26747875f0c7497f97b81b4bbc285916a6" }, "downloads": -1, "filename": "buddy-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "77d171f041a34874ac1add50557363a9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7852, "upload_time": "2016-11-13T19:47:59", "url": "https://files.pythonhosted.org/packages/c5/c3/e2a1487b0a3c2a52a9622f6c939c347eff145cfb3c939d54772c6a1c1b4b/buddy-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9ce8cad23a049675f3c4777a973e4658", "sha256": "6e7bd1d411dbfe1f8e8c4047f2ddfbd6c64c73bba38caa2994b75fdfefc2f090" }, "downloads": -1, "filename": "buddy-0.0.2.tar.gz", "has_sig": false, "md5_digest": "9ce8cad23a049675f3c4777a973e4658", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5516, "upload_time": "2016-11-13T19:48:01", "url": "https://files.pythonhosted.org/packages/1f/70/ecc1368f8d2853f7d563dc39ad6977dcc76a59e8db1a2dd47b0493adb8ab/buddy-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "27c2d075476b99d03715bad5edc3f94e", "sha256": "3d618016e3b6b4d8c180f1543f8466c6a1491c1b4502958cc185ebed9fe28b5d" }, "downloads": -1, "filename": "buddy-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "27c2d075476b99d03715bad5edc3f94e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10651, "upload_time": "2016-11-28T03:08:45", "url": "https://files.pythonhosted.org/packages/fd/06/d23e8c864fdead39c8c0a7e71c92c340b55fe0b3623a6c5d94ce942099ce/buddy-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "95120986d558b8b64874266151d35a01", "sha256": "dfa00c65ad52e613de4f6576b6c52950babf79ca886facd8faca9834a55ccc9a" }, "downloads": -1, "filename": "buddy-0.0.3.tar.gz", "has_sig": false, "md5_digest": "95120986d558b8b64874266151d35a01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7381, "upload_time": "2016-11-28T03:08:48", "url": "https://files.pythonhosted.org/packages/23/ba/35097668cf83035d35a5a0c3d51e3c4db4fc62372b6d734e59d6261382d9/buddy-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "27c2d075476b99d03715bad5edc3f94e", "sha256": "3d618016e3b6b4d8c180f1543f8466c6a1491c1b4502958cc185ebed9fe28b5d" }, "downloads": -1, "filename": "buddy-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "27c2d075476b99d03715bad5edc3f94e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10651, "upload_time": "2016-11-28T03:08:45", "url": "https://files.pythonhosted.org/packages/fd/06/d23e8c864fdead39c8c0a7e71c92c340b55fe0b3623a6c5d94ce942099ce/buddy-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "95120986d558b8b64874266151d35a01", "sha256": "dfa00c65ad52e613de4f6576b6c52950babf79ca886facd8faca9834a55ccc9a" }, "downloads": -1, "filename": "buddy-0.0.3.tar.gz", "has_sig": false, "md5_digest": "95120986d558b8b64874266151d35a01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7381, "upload_time": "2016-11-28T03:08:48", "url": "https://files.pythonhosted.org/packages/23/ba/35097668cf83035d35a5a0c3d51e3c4db4fc62372b6d734e59d6261382d9/buddy-0.0.3.tar.gz" } ] }