{ "info": { "author": "Xiuming Chen", "author_email": "cc@cxm.cc", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Topic :: System :: Clustering" ], "description": "ecsctl\n======\n\nkubectl-style command line tool for AWS EC2 Container Service (ECS)\n\n.. image:: https://img.shields.io/pypi/v/ecsctl.svg\n :target: https://pypi.python.org/pypi/ecsctl\n\n.. image:: https://img.shields.io/travis/cxmcc/ecsctl.svg\n :target: https://travis-ci.org/cxmcc/ecsctl\n :alt: travis-ci\n\nInstallation\n------------\n\n.. code:: bash\n\n pip install ecsctl\n\nPurpose\n-------\n\nA convenient command line tool to view ECS cluster status and do\ntroubleshooting.\n\nThis tool is trying to provide similar functionality of ``kubectl`` for\nkubernetes.\n\nOf course, ECS and kubernetes are so different. Many features on\nkubernetes are not possible here in ECS.\n\nSome AWS official projects to check out:\n\n- `ecs-cli `__\n- `aws-cli ecs\n command `__\n\nUsage\n-----\n\nCluster\n^^^^^^^\n\nList nodes:\n\n::\n\n % ecsctl get clusters\n NAME STATUS RUNNING PENDING INSTANCE COUNT\n default ACTIVE 3 0 2\n\nGet cluster details:\n\n::\n\n % ecsctl describe cluster mycluster\n\nCreate/delete cluster:\n\n::\n\n % ecsctl create cluster mycluster\n\nContainer Instances (nodes)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nList nodes:\n\n::\n\n % ecsctl get nodes --cluster mycluster\n INSTANCE ID EC2 INSTANCE ID STATUS RUNNING COUNT\n 00000000-1111-2222-3333-444444444444 i-abcdef123456abcde ACTIVE 1\n\nGet node detail:\n\n::\n\n % ecsctl describe node 00000000-1111-2222-3333-444444444444\n\nDrain/undrain node:\n\n::\n\n % ecsctl drain 00000000-1111-2222-3333-444444444444\n\nServices\n^^^^^^^^\n\nList services:\n\n::\n\n % ecsctl get services\n\nList services in certain order:\n\n::\n\n % ecsctl get services --sort-by \"createdAt\"\n\nDelete a service:\n\n::\n\n % ecsctl delete service badservice\n\nDelete a service (even if it has desiredCount > 0):\n\n::\n\n % ecsctl delete service badservice --force\n\nRun container quick start\n^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n % ecsctl run mycontainer --image busybox\n mycontainer\n\n % ecsctl get services\n NAME TASK DEFINITION DESIRED RUNNING STATUS AGE\n mycontainer-svc mycontainer:1 1 0 ACTIVE 10 seconds ago\n\nRun docker exec on containers (Requires customizing docker daemon to listen on internal addresses)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n % ecsctl get tasks\n TASK ID STATUS TASK DEFINITION AGE\n 42f052c4-80e9-411d-bea2-407b0b4a4b0b PENDING mycontainer:1 2 minutes ago\n\n % ecsctl exec 42f052c4-80e9-411d-bea2-407b0b4a4b0b date\n Fri May 26 00:13:24 PDT 2017\n\n % ecsctl exec -it 42f052c4-80e9-411d-bea2-407b0b4a4b0b /bin/bash\n root@container:/# (interactive)\n\nConfigure docker daemon to allow ``ecsctl exec``\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n1. Let docker daemon listen on TCP ports (required)\n\nAdd options like ``-H tcp://0.0.0.0:MYDOCKERPORT`` or environment\nvariable ``DOCKER_HOST=tcp://0.0.0.0:MYDOCKERPORT`` to configure docker\ndaemon. See `dockerd\ndocumentation `__\nfor more information.\n\n2. Security enhancement: dropping traffic from ECS containers to docker\n daemon.\n\n ::\n\n iptables --insert INPUT 1 \\\n --in-interface docker+ \\\n --protocol tcp \\\n --destination-port MYDOCKERPORT \\\n --jump DROP\n\nConfigs\n^^^^^^^\n\nSet default cluster name (equivalent to ``--cluster`` option)\n\n::\n\n % ecsctl config set cluster mycluster\n\nSet default docker daemon port\n\n::\n\n % ecsctl config set docker_port 2375", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cxmcc/ecsctl", "keywords": "ECS,kubectl,AWS", "license": "", "maintainer": "", "maintainer_email": "", "name": "ecsctl", "package_url": "https://pypi.org/project/ecsctl/", "platform": "", "project_url": "https://pypi.org/project/ecsctl/", "project_urls": { "Homepage": "https://github.com/cxmcc/ecsctl" }, "release_url": "https://pypi.org/project/ecsctl/20190417/", "requires_dist": null, "requires_python": "", "summary": "kubectl-style command line client for AWS ECS.", "version": "20190417" }, "last_serial": 5154182, "releases": { "20170526": [ { "comment_text": "", "digests": { "md5": "6d9302d1a11db68d9600670f66546ace", "sha256": "b868650c283c012baef8cb1a0ec5d364e673d67d0fefec970e14a06d95083f42" }, "downloads": -1, "filename": "ecsctl-20170526.tar.gz", "has_sig": false, "md5_digest": "6d9302d1a11db68d9600670f66546ace", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5893, "upload_time": "2017-05-26T07:48:11", "url": "https://files.pythonhosted.org/packages/db/36/36e687fa17b6761588a5e2331c29241f5c62435f050f41f5fff12af28180/ecsctl-20170526.tar.gz" } ], "20170812": [ { "comment_text": "", "digests": { "md5": "f47df90c58522c8b2f5bb29d16acbe45", "sha256": "b410dcd0db5ed224fb28b946e096108460f6ffaac6d6507d3ad4f9adef1e83b4" }, "downloads": -1, "filename": "ecsctl-20170812.tar.gz", "has_sig": false, "md5_digest": "f47df90c58522c8b2f5bb29d16acbe45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6285, "upload_time": "2017-08-12T13:35:27", "url": "https://files.pythonhosted.org/packages/40/dd/d24e5e4e3f409e3b88820755adb7ce4f0e035d9e3a1758594562ca6552d8/ecsctl-20170812.tar.gz" } ], "20170818": [ { "comment_text": "", "digests": { "md5": "c001859e15c60ed702314cab2b488348", "sha256": "c66f4fef36db2612ab7477e26520bbb79427b7a812acbcc0f02f40db1e5bc9e5" }, "downloads": -1, "filename": "ecsctl-20170818.tar.gz", "has_sig": false, "md5_digest": "c001859e15c60ed702314cab2b488348", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7610, "upload_time": "2017-08-18T08:55:08", "url": "https://files.pythonhosted.org/packages/78/a8/e1d6450a37eec8550f256205b66046aab179ca4de74f1ebb0450e086647b/ecsctl-20170818.tar.gz" } ], "20170819": [ { "comment_text": "", "digests": { "md5": "0992d2886e33d830cc8c76e8190b5626", "sha256": "28e36d3d4f76dae48abb068084d2e6c54bf8f97f1022b534f2ddd52933b647dc" }, "downloads": -1, "filename": "ecsctl-20170819.tar.gz", "has_sig": false, "md5_digest": "0992d2886e33d830cc8c76e8190b5626", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9395, "upload_time": "2017-08-18T08:56:06", "url": "https://files.pythonhosted.org/packages/1e/37/030435d168d348c169a9b4cfada7d2544e93d10f03b6fd2e5b7b1299dda5/ecsctl-20170819.tar.gz" } ], "20170909": [ { "comment_text": "", "digests": { "md5": "102a2f0e9c0f9ddc593153ee9c172e7d", "sha256": "0a3d4d0b45b972db5643b0f0d6c05ddb47d79b805b616622a8d306e608370574" }, "downloads": -1, "filename": "ecsctl-20170909.tar.gz", "has_sig": false, "md5_digest": "102a2f0e9c0f9ddc593153ee9c172e7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9738, "upload_time": "2017-09-10T04:05:30", "url": "https://files.pythonhosted.org/packages/6d/be/411d4f9dbe557c9743a010d28d1d7bfaf890c249d7e589cd7d2dbf0f59a6/ecsctl-20170909.tar.gz" } ], "20190417": [ { "comment_text": "", "digests": { "md5": "384787e23fd4a1482eab20334796613e", "sha256": "02efdc822f8fc0f610eb79e56d562ef17a4a64730c4ea2597a4ff4882ae8bdb0" }, "downloads": -1, "filename": "ecsctl-20190417.tar.gz", "has_sig": false, "md5_digest": "384787e23fd4a1482eab20334796613e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9692, "upload_time": "2019-04-17T09:21:04", "url": "https://files.pythonhosted.org/packages/b4/72/bab25dddea179a210122b14ab88da90e79826d29ef59c55a747f2fe82831/ecsctl-20190417.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "384787e23fd4a1482eab20334796613e", "sha256": "02efdc822f8fc0f610eb79e56d562ef17a4a64730c4ea2597a4ff4882ae8bdb0" }, "downloads": -1, "filename": "ecsctl-20190417.tar.gz", "has_sig": false, "md5_digest": "384787e23fd4a1482eab20334796613e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9692, "upload_time": "2019-04-17T09:21:04", "url": "https://files.pythonhosted.org/packages/b4/72/bab25dddea179a210122b14ab88da90e79826d29ef59c55a747f2fe82831/ecsctl-20190417.tar.gz" } ] }