{ "info": { "author": "onefinestay", "author_email": "engineering@onefinestay.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Natural Language :: English", "Programming Language :: Python", "Topic :: Software Development", "Topic :: Utilities" ], "description": "gonzo\n=====\n\nInstance and release management made easy\n\nManage instances running in *Amazon Web Services* or using *Openstack* using\na single consistent interface::\n\n $ gonzo launch production-web-app\n ...\n $ gonzo list\n\n name type status owner uptime location\n\n production-web-app-001 m1.small RUNNING tom 0d 0h 1m 18s eu-west-1b\n production-web-db-001 m3.medium RUNNING amit 27d 1h 8m 13s eu-west-1a\n\n\nEasily target instances or groups of instances with ``fab`` commands\nand manage your code deployments using included fabric tasks::\n\n $ fab gonzo.group:production-ecommerce-web push_release rollforward\n\n\n\nConfiguration\n-------------\n\n`Setup your clouds `_\n\nCommand Line Interface\n----------------------\n\nHaving setup multiple cloud environments and/or regions within, use the ``gonzo\nconfig`` command to chose where you want to deploy servers or projects to::\n\n $ gonzo config\n cloud: None\n region: None\n $ gonzo config --cloud aws\n cloud: aws\n region: us-west-1\n $ gonzo config --region eu-west-1\n cloud: aws\n region: eu-west-1\n\nManaging the instance lifecycle\n--------------------------------\nHaving chosen the cloud and region you want to work within you can issue gonzo\ncommands to control the spinning up, monitoring and termination of instances\nwithin.\n\nTo see a list of all running instance in the region::\n\n $ gonzo list\n name type status owner uptime location\n\n production-web-app-001 m1.small RUNNING tom 408d 0h 42m 18s eu-west-1a\n production-web-app-002 m3.medium RUNNING amit 27d 1h 8m 13s eu-west-1b\n production-web-db-011 m3.medium RUNNING amit 160d 2h 33m 18s eu-west-1c\n\n\n\nTo add a new instance to the region, specifying the server type - having defined\nserver types, and their sizes in your config::\n\n $ gonzo launch production-web\n\nTo get more info on the commands available::\n\n $ gonzo --help\n\n\nUsing gonzo with fabric\n------------------------\n\nYou can then use ``gonzo`` to set a target server (or group of servers) for\n`fabric `_ commands.\n\nImport gonzo in your fabfile to extend fab with gonzo functionality::\n\n $ cat fabfile.py\n\n from gonzo.tasks import gonzo\n __all__ = ['gonzo']\n\nYou can then run a command on a single instance, specifying it through gonzo::\n\n $ fab gonzo.instance:production-web-003 run_command\n\nOr run the command on a group of instances::\n\n $ fab gonzo.group:production-web run_command\n\n\nFabric task library\n-------------------\n\nTo use the gonzo library of fabric tasks, simply import the relevant task\nmodules for namespaced tasks into your fabfile::\n\n from gonzo.tasks import apache\n\nThese can then be called using the standard fabric syntax::\n\n $ fab gonzo.group:production-web apache.restart\n\nAlternatively import the tasks directly::\n\n from gonzo.tasks.apache import restart\n\nThese commands won't be namespaced::\n\n $ fab gonzo.group:production-web restart\n\nYou can extend the functionality by patching your own commands into the gonzo\nnamespaces to provide a clean CLI::\n\n # ~/apache_maintenance_mode.py\n from fabric.api import task, sudo\n from gonzo.tasks import apache\n\n def maintenance_mode(off=False):\n \"\"\" Set server into maintenance mode.\n \"\"\"\n\n if off:\n sudo(\"a2ensite onefinestay && a2dissite 00maintenance\")\n else:\n sudo(\"a2ensite 00maintenance && a2dissite onefinestay\")\n\n apache.maintenance_mode = task(maintenance_mode)\n\nUsing Gonzo With CloudInit\n---------------------------\n\nCloudInit can be used to personalise the instances you launch. The user data\nscripts passed to new instances for CloudInit to process can be specified for\neach cloud by using the ``DEFAULT_USER_DATA`` config item in config.py::\n\n CLOUDS = {\n 'cloudname': {\n\n ...\n 'DEFAULT_USER_DATA': 'http://example.com/my-cloudinit-config.txt',\n ...\n\nAdditionally, user data scripts can be specified per instance by using the\nlaunch argument ``--user-data ``::\n\n # gonzo launch --user-data ~/.gonzo/cloudinit_web_app production-web-app\n\nUser data scripts can be specified as a file path or URL.\n\nBefore user data scripts are passed to new instances, they're first rendered as\na template, allowing them to be parameterised. By default a few are already\navailable, such as hostname, domain and fqdn. These can be supplemented by\ndefining a ``USER_DATA_PARAMS`` cloud config dictionary::\n\n CLOUDS = {\n 'cloudname': {\n\n ...\n 'DEFAULT_USER_DATA': 'http://example.com/my-cloudinit-config.txt',\n 'USER_DATA_PARAMS': {\n 'puppet_address': 'puppetmaster.example.com',\n }\n ...\n\nAgain, these parameters can also be supplemented or overridden at launch time\nby using the command line argument ``--user-data-params key=val[,key=val..]``::\n\n # gonzo launch --user-data ~/.gonzo/cloudinit_web_app \\\n --user-data-params puppet_address=puppetmaster2.example.com \\\n production-web-app\n\n\nTODO\n----\n\n* project based stuff\n * project name [for ``/srv/project_name``] (git setting?)\n * Document how to use for release control\n\n\nBuild status\n------------\n\n.. image:: https://secure.travis-ci.org/onefinestay/gonzo.png?branch=master\n :target: http://travis-ci.org/onefinestay/gonzo\n\n\nLicense\n-------\n\nApache 2.0 - see LICENSE for details\n\n\nMore Docs\n---------\n\n`Full documentation on Read the Docs `_", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/onefinestay/gonzo", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "gonzo", "package_url": "https://pypi.org/project/gonzo/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/gonzo/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/onefinestay/gonzo" }, "release_url": "https://pypi.org/project/gonzo/0.4.2/", "requires_dist": null, "requires_python": null, "summary": "Instance and release management made easy", "version": "0.4.2" }, "last_serial": 1715828, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "28e9f0ecd041520be7ae1de071d968ea", "sha256": "95177183e4e0ccb8511716a074afdefe8acfba34c7dfb977f109342e06256913" }, "downloads": -1, "filename": "gonzo-0.1.tar.gz", "has_sig": false, "md5_digest": "28e9f0ecd041520be7ae1de071d968ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17287, "upload_time": "2013-04-05T13:38:22", "url": "https://files.pythonhosted.org/packages/52/ea/fb33357c1b4fad7c7d93d04feac10d13e8f161ca8c4e24bf4e811d94fa44/gonzo-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "b4f329c8e8727ffba5deb2280ca7eeb9", "sha256": "4924ea6a884ca9e43df42ac1c04536552f435e1ebde796d4754bd0499076da98" }, "downloads": -1, "filename": "gonzo-0.1.1.tar.gz", "has_sig": false, "md5_digest": "b4f329c8e8727ffba5deb2280ca7eeb9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18031, "upload_time": "2013-04-05T15:17:52", "url": "https://files.pythonhosted.org/packages/2c/db/b8942ba3f3118df6feaf97ba5b237f9e94e8b4c995798b66dbaf534d2b27/gonzo-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "ad4c1d294e696df2e2b9ef52097197c7", "sha256": "bb39b279b15fafac4db51e2e6309145ca452807cf7b888a8d79cc3343b5558ec" }, "downloads": -1, "filename": "gonzo-0.1.2.tar.gz", "has_sig": false, "md5_digest": "ad4c1d294e696df2e2b9ef52097197c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19512, "upload_time": "2013-04-05T15:41:40", "url": "https://files.pythonhosted.org/packages/9c/65/1106655fa280d1109cbb9cb4d1b1fa95c1ce28106bad417d969b068b80b0/gonzo-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "5bc1a927b1bc22bd6886bae31ca792a8", "sha256": "fe8acfe769fa99a5321ae6d8ff2f9d27bd2bb6f428ae82acc39fdf3ccf00df39" }, "downloads": -1, "filename": "gonzo-0.1.3.tar.gz", "has_sig": false, "md5_digest": "5bc1a927b1bc22bd6886bae31ca792a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19693, "upload_time": "2013-04-08T09:50:10", "url": "https://files.pythonhosted.org/packages/ec/7a/e1e5cee00f4be11c41f05b8ece3537650cefdcf1ed650d3e1aff406f41b3/gonzo-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "52711fff014e078189b53855dab236cf", "sha256": "6219f05aee947d12e823c2b96fdd1f36ee43d9fdad59676179ec346184b74399" }, "downloads": -1, "filename": "gonzo-0.1.4.tar.gz", "has_sig": false, "md5_digest": "52711fff014e078189b53855dab236cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18395, "upload_time": "2013-04-08T15:59:19", "url": "https://files.pythonhosted.org/packages/9f/03/f0e6cf0e142ee1d1a0773659f53757cd27132fb8b0a8cb907ed98eab07f4/gonzo-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "11226014f2e325b3765570a243772d09", "sha256": "988c90531010019354b12c46c64f2fd63ecfe827f7228b23c1e7220ad7bc1720" }, "downloads": -1, "filename": "gonzo-0.1.5.tar.gz", "has_sig": false, "md5_digest": "11226014f2e325b3765570a243772d09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19443, "upload_time": "2013-07-12T13:03:03", "url": "https://files.pythonhosted.org/packages/6a/3c/d373554fc05046797667e37bf42142b6219737e6b89544670160431625ec/gonzo-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "651c420c0f35bb5f3bea7e69acd1053d", "sha256": "17418eca552b9a5713602b95014ca3b6bc55d10edfc32f3081ae659c2ab56348" }, "downloads": -1, "filename": "gonzo-0.1.6.tar.gz", "has_sig": false, "md5_digest": "651c420c0f35bb5f3bea7e69acd1053d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20422, "upload_time": "2013-07-29T16:36:00", "url": "https://files.pythonhosted.org/packages/53/86/c6e68c95494c6b6d5084e26613450aa254f07346c6bcd1129fdd7ae57009/gonzo-0.1.6.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "11dd90687ef52b7f8395d33e88a0c00c", "sha256": "0fe26f04040c19e9795ebad991cc09a8a9af3d51b1986c564b69e1bd9cfde9f2" }, "downloads": -1, "filename": "gonzo-0.2.0.tar.gz", "has_sig": false, "md5_digest": "11dd90687ef52b7f8395d33e88a0c00c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22082, "upload_time": "2013-11-08T10:25:01", "url": "https://files.pythonhosted.org/packages/04/7a/90d02ed6af2ec1917aecc1ba54ebe97da26d15435d8601ca9769e7433512/gonzo-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "ac76e60bf4c9d0bc3c1e20e24a67a5bf", "sha256": "05975f6c350c4f37041c617bc1b8e77c89b80f06d97609cf94ab96f75d0e683b" }, "downloads": -1, "filename": "gonzo-0.3.0.tar.gz", "has_sig": false, "md5_digest": "ac76e60bf4c9d0bc3c1e20e24a67a5bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29737, "upload_time": "2014-02-17T14:16:50", "url": "https://files.pythonhosted.org/packages/03/12/9fa2cc77207d996018e6a3db189ca60f4c0a1400666e78cf1941300826dc/gonzo-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "e8c965bd15f5d9c079c677e9c48a9797", "sha256": "724ddd373b61866df817e0572219d1f5e0dc882bf74094d02c3a710a27f6d99c" }, "downloads": -1, "filename": "gonzo-0.3.1.tar.gz", "has_sig": false, "md5_digest": "e8c965bd15f5d9c079c677e9c48a9797", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29743, "upload_time": "2014-12-05T16:34:33", "url": "https://files.pythonhosted.org/packages/9e/2e/1921d382b6d6d48bac9c1ea380f4fe11bf0ab3a797d122025633de64b84f/gonzo-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "7febda528bf42264df7266c5c4dfa710", "sha256": "90ac19159739895eae361e3a6a9f7e3b41d808b110fd28d1ce82b88751c694e3" }, "downloads": -1, "filename": "gonzo-0.4.0.tar.gz", "has_sig": false, "md5_digest": "7febda528bf42264df7266c5c4dfa710", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20306, "upload_time": "2015-04-16T14:46:10", "url": "https://files.pythonhosted.org/packages/c7/5a/2e447f745d6f01108f082b7008d6b19f352197cd6abdb91b369c0be0397a/gonzo-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "00590f154a527a7bf3ce8e2ed212ef58", "sha256": "aaa85faf67e79cdf8cb3e2c7a7de306efa63c7a3ae87244d61f5022d1b27976d" }, "downloads": -1, "filename": "gonzo-0.4.1.tar.gz", "has_sig": false, "md5_digest": "00590f154a527a7bf3ce8e2ed212ef58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20760, "upload_time": "2015-06-11T13:13:18", "url": "https://files.pythonhosted.org/packages/c2/f7/a80f3160669a32e92214850d351a35516ed3ad348d8059ebd4064524497d/gonzo-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "820d5ef35da54378139fdfc54c2470b3", "sha256": "58e7200e183473d884df4bd205e33a71e3cfd0f1e83adce09fff0588a1c2bbdc" }, "downloads": -1, "filename": "gonzo-0.4.2.tar.gz", "has_sig": false, "md5_digest": "820d5ef35da54378139fdfc54c2470b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20854, "upload_time": "2015-09-09T17:27:21", "url": "https://files.pythonhosted.org/packages/bb/77/e5e218e06f76a154cd835b40db392253e5f8fd7ec09af1b8c5e23a0a32e7/gonzo-0.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "820d5ef35da54378139fdfc54c2470b3", "sha256": "58e7200e183473d884df4bd205e33a71e3cfd0f1e83adce09fff0588a1c2bbdc" }, "downloads": -1, "filename": "gonzo-0.4.2.tar.gz", "has_sig": false, "md5_digest": "820d5ef35da54378139fdfc54c2470b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20854, "upload_time": "2015-09-09T17:27:21", "url": "https://files.pythonhosted.org/packages/bb/77/e5e218e06f76a154cd835b40db392253e5f8fd7ec09af1b8c5e23a0a32e7/gonzo-0.4.2.tar.gz" } ] }