{ "info": { "author": "Proteus Technologies Infrastructure team", "author_email": "infrastructure@proteus-tech.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Automated tools for engaging with server infrastructure on AWS.\n\nTo install use:\n\n::\n\n pip install profab\n\nTo use the latest development version install:\n\n::\n\n pip install git+git://github.com/Proteus-tech/profab.git@develop\n\nConfiguring profab\n==================\n\nYou will need to give profab EC2 API keys for each client in order for\nit to be able to manage EC2 infrastructure. I.e. for a client you wish\nto refer to as 'acme-widgets' use:\n\n::\n\n mkdir -p ~/.profab/acme-widgets\n $EDITOR ~/.profab/acme-widgets/ec2.json\n\nIn the configuration file you will need a minimum of:\n\n::\n\n {\n \"host\": \"ec2\",\n \"keys\": {\n \"api\":\"paste API key here\",\n \"secret\": \"paste API secret here\"\n }\n }\n\nThe first time you connect to an EC2 region to start a machine a new\nprivate/public key pair will be created with the private key being\nstored in the client folder.\n\nCommand line scripts\n====================\n\nFor all commands ``client-name`` is the same as the configuration folder\nused above, (acme-widgets)..\n\nCommands that take host names can also be given an EC2 reservation.\nThese look like ``r-adf3243234``.\n\nCommand line arguments are given as names after the script. For roles\nthey come in two types: either with or without a parameter. This is\neither as ``role`` or ``--role parameter``. Roles are processed in the\norder specified.\n\npf-server-start\n---------------\n\n::\n\n pf-server-start client-name _roles_\n\nStarts a new server. Roles that control the region, size or AMI are only\neffective when an instance is started. Instances cannot be moved between\nregions, cannot be re-sized and the AMI cannot be changed once launched.\n\nIf multiple roles set an AMI, instance size or region then the last one\nthat does so controls which is actually used.\n\npf-server-list\n--------------\n\n::\n\n pf-server-list client-name\n\npf-server-restart\n-----------------\n\n::\n\n pf-server-restart client-name reservation\n\npf-server-role-add\n------------------\n\n::\n\n pf-server-role-add client-name hostname _roles_\n\npf-server-stop\n--------------\n\n::\n\n pf-server-stop client-name hostname\n\npf-server-terminate\n-------------------\n\n::\n\n pf-server-terminate client-name hostname\n\npf-server-update\n----------------\n\n::\n\n pf-server-update client-name hostname\n\nRoles\n=====\n\nami\n---\n\n::\n\n --ami ami-code\n\nAllows the AMI that is to be launched to be controlled. The AMI must be\navailable in the region requested.\n\n::\n\n --ami.ubuntu release\n\nWill choose the current AMI based on the named or numbered release. Only\nthose releases listed at http://uec-images.ubuntu.com/releases/ are\navailable, and only those that have actually been released (pre-release\nversions won't work -- you'll need to specify the full AMI yourself).\n\n::\n\n ami.lucid\n\nThis is deprecated.\n\nWill choose an Ubuntu Lucid (10.04) AMI. This is the default AMI if no\nother one is chosen.\n\nInstances are chosen from\nhttp://uec-images.ubuntu.com/releases/10.04/release/\n\n::\n\n ami.precise\n\nThis is deprecated.\n\nWill choose an Ubuntu Precise (12.04) AMI. This is the default AMI if no\nother one is chosen.\n\nInstances are chosen from\nhttp://uec-images.ubuntu.com/releases/12.04/release/\n\nbits\n----\n\n::\n\n bits\n\nAutomatically determines the number of bits that are to be used for a\nnew server. This role is added automatically by profab, so there is no\nneed to add it explicitly.\n\n::\n\n --bits 32|64\n\nSet the number of bits. profab will determine the correct number of bits\nfor all current instance sizes automatically. You will need to use\n``--bits 64`` to run smaller instance sizes using a 64 bit operating\nsystem as profab will default to 32 bits.\n\neip\n---\n\n::\n\n --eip ip-number\n\nBinds the Elastic IP number to the instance. Adding this to a running\nserver along with other configuration may cause connection problems.\n\nmunin\n-----\n\n::\n\n munin\n\nConfigures the machine as a Munin server. Installs Apache 2 as the web\nserver and the default web site is set to be Munin.\n\n::\n\n --munin server\n\nConfigures the machine to be monitored by Munin at the specified server.\nOnly basic monitoring is configured.\n\npostgres\n--------\n\n::\n\n postgres\n\nInstalls the Postgres packages on the machine. It also sets up Postgres\nusers (roles and default databases) for the ``ubuntu`` and ``www-data``\nusers so they can both access the database using ident authentication.\n\nregion\n------\n\n::\n\n --region region-name\n\nAllows the region that the instance is to be run in to be chosen. The\ndefault region is us-east-1 (Virginia).\n\nsecurity\\_group\n---------------\n\n::\n\n --security_group group-name\n\nAdds a new security group to the instance as it is launched. If no\nsecurity groups are set then the server will get the default security\ngroup.\n\nThis can be specified more than once in order to add more than one\nsecurity group. It has no effect when used on a server instance that has\nalready been started.\n\nsize\n----\n\n::\n\n --size size-code\n\nSets the instance size to be launched to the requested size. Current\nvalid sizes can be found at http://aws.amazon.com/ec2/instance-types/\n\nUnlike the normal EC2 default, profab has a default size of\n``t1.micro``.\n\nsmarthost\n---------\n\n::\n\n smarthost\n\nInstalls and configures exim to relay email for the machine. Emails are\nsent to recipients directly from the machine. The machine will only\nrelay for mail sent from the local host.\n\nwsgi\n----\n\n::\n\n wsgi\n\nInstalls Apache and the WSGI module allowing it to host Python\napplications. In installing Apache it disables the default website and\nensures that the ``www-data`` user has a proper home directory.\n\nDoing development\n=================\n\n*This project uses git flow. Don't forget to do ``git flow init -d``*\n(use defaults for all options).\n\nYou should run the devenv/paths script in order to set up your command\nline environment to be able to use profab straight from the check out.\n\n::\n\n . devenv/paths\n\nTo run the tests, create and activate a new virtual environment and then\nuse the ``runtests`` script.\n\n::\n\n mkvirtualenv --no-site-packages profabdev\n pip install -r devenv/setup.pip\n ./runtests\n\nCustomising roles\n-----------------\n\nA role is a Python module that contains a definition for either\n``AddRole`` or ``Configure`` depending on whether there is a parameter\nor not. These should inherit from ``profab.role.Role`` and may include\nany of the following members:\n\n::\n\n packages\n\nThe packages that are to be installed as part of this role.\n\n::\n\n region(self)\n\nReturns the region that should be used for starting an instance.\n\n::\n\n ami(self, region)\n\nReturns the AMI for the region that is to be used.\n\n::\n\n started(self, server)\n\nCan do configuration of the machine within EC2 after the reservation has\nbeen made and the instance started, but before it is first connected to.\n\n::\n\n configure(self, server)\n\nCan do any configuration that is required in order to get the role\nworking.", "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/Proteus-tech/profab", "keywords": "devops ec2 fabric boto ubuntu", "license": "Boost Software License - Version 1.0 - August 17th, 2003", "maintainer": null, "maintainer_email": null, "name": "profab", "package_url": "https://pypi.org/project/profab/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/profab/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/Proteus-tech/profab" }, "release_url": "https://pypi.org/project/profab/0.5.1/", "requires_dist": null, "requires_python": null, "summary": "Automated tools for engaging with server infrastructure on AWS", "version": "0.5.1" }, "last_serial": 1641384, "releases": { "0.4.1": [ { "comment_text": "", "digests": { "md5": "c7627d311272e825ef0d6e6905830a81", "sha256": "d669aee3accc2b402fb46c7b2617daea4db2fca1670838800353b34c54eca170" }, "downloads": -1, "filename": "profab-0.4.1.tar.gz", "has_sig": false, "md5_digest": "c7627d311272e825ef0d6e6905830a81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15191, "upload_time": "2011-12-29T04:20:23", "url": "https://files.pythonhosted.org/packages/93/c9/f18dc0349a3770ae25e271d70f611374999971f0837c8804d8205c84acb9/profab-0.4.1.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "da5e8ded1baa41fd99516606ec879d59", "sha256": "91727cebc9a4b1e4dedd91481451b749ae853e49af80c9e1569999e39559ccbf" }, "downloads": -1, "filename": "profab-0.4.3.tar.gz", "has_sig": false, "md5_digest": "da5e8ded1baa41fd99516606ec879d59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13016, "upload_time": "2012-02-01T16:04:23", "url": "https://files.pythonhosted.org/packages/0e/63/fabef68795a725598d6cfe1f433a30e3571c78d4a0f811c19f408359dc05/profab-0.4.3.tar.gz" } ], "0.4.3.1": [ { "comment_text": "", "digests": { "md5": "17eb9a9b96791c2dd628507bfe9b14f6", "sha256": "b4b39ba58d7547a78a37077fd8fd80939ba145b95882b0c6d1468cc86615307d" }, "downloads": -1, "filename": "profab-0.4.3.1.tar.gz", "has_sig": false, "md5_digest": "17eb9a9b96791c2dd628507bfe9b14f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13072, "upload_time": "2012-02-01T16:11:48", "url": "https://files.pythonhosted.org/packages/f7/3a/cad8669cf219fbace9a624f77edbb9379e5f9d21f265d6b7ac40dbe3a342/profab-0.4.3.1.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "1586e173466637ec2a27440e48c8a250", "sha256": "d1c8a9e72b746e336f2527a45c04b7aefe0207a6b2e939ca6d8afac5179de1d9" }, "downloads": -1, "filename": "profab-0.4.4.tar.gz", "has_sig": false, "md5_digest": "1586e173466637ec2a27440e48c8a250", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13390, "upload_time": "2012-02-08T09:21:14", "url": "https://files.pythonhosted.org/packages/52/57/12c97d36b4653c4e5ff313debea04e7daf07681c37a9a2390c6485d7b725/profab-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "eb1b5144caf46df9fceda32c1258d57f", "sha256": "b2d7c0fcf188f9091b5c5f746e01f8730e756b98c1691f0041955034a856335e" }, "downloads": -1, "filename": "profab-0.4.5.tar.gz", "has_sig": false, "md5_digest": "eb1b5144caf46df9fceda32c1258d57f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13398, "upload_time": "2012-02-08T13:18:37", "url": "https://files.pythonhosted.org/packages/c3/8a/d1829881a928dad81064a25ffa75c87f57cd73e17a177a771bd89cf5cc07/profab-0.4.5.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "a2f90361de7abcb04db495925c4ac383", "sha256": "797139b4ac26fcfb1ceeee53c8d681059e6c28140175754ed8d8e0b44ed783f4" }, "downloads": -1, "filename": "profab-0.4.6.tar.gz", "has_sig": false, "md5_digest": "a2f90361de7abcb04db495925c4ac383", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13761, "upload_time": "2012-02-14T09:08:13", "url": "https://files.pythonhosted.org/packages/3e/0d/bfb2644daf7ef9e14764124fd8a6237617dce110822d9556f5117fdfa3bb/profab-0.4.6.tar.gz" } ], "0.4.7": [ { "comment_text": "", "digests": { "md5": "57b157cc0afc836cca5c07cb5baf1f24", "sha256": "e94bdb4125bdef5bd80d70748f7e83a497d72e484de7ef59346106bdb9893c71" }, "downloads": -1, "filename": "profab-0.4.7.tar.gz", "has_sig": false, "md5_digest": "57b157cc0afc836cca5c07cb5baf1f24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13820, "upload_time": "2012-05-01T10:01:58", "url": "https://files.pythonhosted.org/packages/d7/22/c650d498a049fc29c7c56c025940f41adb3502655ab2783c7622d16d734c/profab-0.4.7.tar.gz" } ], "0.4.8": [ { "comment_text": "", "digests": { "md5": "5fda03b8eae0bf11f4bba4a840040b15", "sha256": "bdd1ea406a66a2c0eee105d467b789556e4789baa8dbc759730512581f164a6b" }, "downloads": -1, "filename": "profab-0.4.8.tar.gz", "has_sig": false, "md5_digest": "5fda03b8eae0bf11f4bba4a840040b15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14030, "upload_time": "2013-06-19T02:00:36", "url": "https://files.pythonhosted.org/packages/ab/36/730dc92c5152ce11464948cfd1d9569c23dbf693703f28af803da65430cf/profab-0.4.8.tar.gz" } ], "0.4.9": [ { "comment_text": "", "digests": { "md5": "46adcd673435cc34afa2fe20a4e2ae14", "sha256": "9e4cd1b8d031a67f281c3321226ff2bbeab2adbc60c57c6fabbf5854fccbf440" }, "downloads": -1, "filename": "profab-0.4.9.tar.gz", "has_sig": false, "md5_digest": "46adcd673435cc34afa2fe20a4e2ae14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14175, "upload_time": "2013-11-11T08:32:50", "url": "https://files.pythonhosted.org/packages/50/a0/5c4e526a1606246db3be909b5fd29af164bdf3be83c816852651914725f1/profab-0.4.9.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "73ba8d71040936cf889fa32979e5ff1b", "sha256": "c7ecf210e7b782481750a32f5b43208ff19412dd1e3c956d5cd86e354067d0ea" }, "downloads": -1, "filename": "profab-0.5.tar.gz", "has_sig": false, "md5_digest": "73ba8d71040936cf889fa32979e5ff1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16882, "upload_time": "2015-06-08T12:37:23", "url": "https://files.pythonhosted.org/packages/2d/7c/de0d96fb76fa490fa2767b6ad9b4736aa0e2cb563a59f7ddae1b85f428ce/profab-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "0f1039e505f1f932e32874c0130ebd87", "sha256": "fc6c286e45f5d4df3fd4962070735ab27957da49771e7dbdd03ff0fdaa9b5678" }, "downloads": -1, "filename": "profab-0.5.1.tar.gz", "has_sig": false, "md5_digest": "0f1039e505f1f932e32874c0130ebd87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17143, "upload_time": "2015-07-20T13:36:06", "url": "https://files.pythonhosted.org/packages/21/1d/f499e6cfd82f47247c0763bf7680464c9f640485cc8d119b790c619d5525/profab-0.5.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0f1039e505f1f932e32874c0130ebd87", "sha256": "fc6c286e45f5d4df3fd4962070735ab27957da49771e7dbdd03ff0fdaa9b5678" }, "downloads": -1, "filename": "profab-0.5.1.tar.gz", "has_sig": false, "md5_digest": "0f1039e505f1f932e32874c0130ebd87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17143, "upload_time": "2015-07-20T13:36:06", "url": "https://files.pythonhosted.org/packages/21/1d/f499e6cfd82f47247c0763bf7680464c9f640485cc8d119b790c619d5525/profab-0.5.1.tar.gz" } ] }