My favorites | Sign in
Project Logo
                
Code license: New BSD License
Labels: ec2, email, server
Feeds:
Groups:
People details
Project owners:
  kordless

Overview

This simple project uses the EC2 APIs and email to allow multiple users to start and stop instances on EC2, without having the primary credentials for the AWS account. You may find the code handy for classroom or conference environments, where users need a quick, easy way to start and stop instances, and still have ssh access and complete control over the boxes.

The project is written in Python using the Pylons application framework and the Boto libarary. Fabulatr is licensed under the BSD software license.

Installation

You'll need to have an Amazon Web Services account to use this code. While it's not required, ElasticFox would be handy for maintaining the list of keys generated by the program and shutting down launched instances.

You'll also need a public web server with Pylons installed on it, and a mail server through which you can send email. Obviously these can be hosted on EC2, if you so desire.

There's also a blurry video on installing Fabulatr over on Vimeo.

Install Pylons

The Pylons site has a whole section on installing Pylons. If you have a decently up-to-date server, with easy_install installed, you can run:

$ easy_install Pylons==0.9.6.2

If you don't have easy_install, you can download the setup file from http://peak.telecommunity.com/dist/ez_setup.py and then run:

$ python ez_setup.py Pylons==0.9.6.2

Install Fabulatr

You'll need to have easy install installed. You install Fabulatr using the CheeseShop by running:

easy_install fabulatr==0.0.1

Alternately, you can download the latest build of Fabulatr from here, or in the 'downloads' tab above.

Once downloaded, you'll need to install it:

$ easy_install -f fabulatr-0.0.=1.egg fabulatr==0.0.1

You may need to have the correct permissions to install the package on your server.

Configure

Pylons uses user level configuration files for a given package. You can create your configuration file by running:

paster make-config fabulatr production.ini

This gives you a production.ini file in the current directory. You'll want to edit this file to enter the settings for your email server, and EC2 account:

# settings for sending email only
from_name = Maxwell Waldo
from_address = maxwell@foobar.com
smtp_server = smtp.gmail.com
smtp_login = maxwell
smtp_password = foobar
server_name = www.foobar.com:5000

# settings for EC2 account
aws_access_key = 00000000000000000000
aws_secret_access_key = UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
ami_number = ami-179e7a7e

The AMI number can be left alone, or you can use a custom instance. You can find a list of current images over on Alestic.

Running

Running the instance is easy:

paster serve production.ini 

Navigate to your fabulatr by entering something like http://foobar.com:5000.

Going from Here

If you'd like more features, have a suggestion or want to help out, you can drop me a note at kordless at gmail.com.









Hosted by Google Code