[[PageOutline(2-5,Contents,pullout)]] = Orchestrates AWS cloud resources using boto and pychef = == '''WARNING! This plugin is in alpha.''' == I recommend you ''not'' use this plugin yet on production instances. Although you likely won't lose ec2 instances or chef data, it's still quite immature. It would be best to try out on dev instances to help test the plugin and generate ideas for new features. - robguttman, 2011 Jan 28 == Description == This plugin is meant to fill the coordination gap between AWS and Chef, especially: * Launch an ec2 instance and apply one or more chef roles * Terminate ec2 instances and delete its chef node There are additional features and quite possibly more to come, but my intention is to keep the scope down to what's needed to orchestrate between AWS and Chef (and not re-implement either the AWS Management Console or the Chef Server webui). This plugin relies heavily upon [http://boto.cloudhackers.com/ boto] and [https://github.com/coderanger/pychef pychef]. Special thanks to coderanger for his responsiveness on pychef. == Configuration == 1. Install the plugin (after downloading and unzipping): {{{ cd cloudplugin/0.12 sudo python setup.py bdist_egg sudo cp dist/TracCloud*.egg /your/trac/location/plugins/ }}} See [http://trac.edgewall.org/wiki/TracPlugins TracPlugins] for more installation details and options. You'll likely need to restart Trac's web server after installation. 2. Enable the plugin in {{{trac.ini}}}: {{{ [components] cloud.* = enabled }}} You can alternatively use the Trac Web Admin GUI to enable any or all rules. 3. Configure the main {{{trac.ini}}} section: {{{ [cloud] label = Cloud aws_key = xxxxxxxxxxxxx aws_secret = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx aws_keypair = xxxxxxxxxxxx chef_instancedata_file = /path/to/instance-data.json chef_base_path = /home/me boto_field_node_name = id default_droplet = instance }}} See the examples section [wiki:CloudPlugin#Examples below] for how to specify rules. == Bugs/Feature Requests == Existing bugs and feature requests for CloudPlugin are [report:9?COMPONENT=CloudPlugin here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=CloudPlugin&owner=robguttman new ticket]. == Download == Download the zipped source from [download:cloudplugin here]. == Source == You can check out CloudPlugin from [http://trac-hacks.org/svn/cloudplugin here] using Subversion, or [source:cloudplugin browse the source] with Trac. == Example == trac.ini config ... [cloud] ... == Recent Changes == [[ChangeLog(cloudplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:robguttman] [[BR]] '''Maintainer:''' [wiki:robguttman] [[BR]] '''Contributors:'''