Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Cloud computing management console - initially for Chef Server with EC2
JavaScript Ruby
branch: develop
Failed to load latest commit information.
app for now rescue ipaddress fails
config precompile assets
db make the chef config file configurable and tests get their own app co…
doc initial commit
lib rails 3.1 update and revamp
public rails 3.1 update and revamp
script initial commit
spec cosmetic improvements
vendor update gems
.autotest initial commit
.rspec initial commit
Capfile add capistrano
Gemfile lock execjs inside
Gemfile.lock update gems
Guardfile missing gems added
Rakefile rails 3.1 update and revamp initial commit



We use the Opscode Platform at PharmMD to manage our 50+ servers that we have on Amazon EC2. Sometimes it's nicer to have a web GUI tool that you can point non-techies to, instead of getting them to set up Chef commandline tools.

Aether is that web management interface for our Chef server managed servers. It runs on Rails 3, and currently uses HTTP Basic auth for 'logging in'.


  • List the servers currently running
  • Show ssh and http links to those servers
  • Show ip addresses and instance ids.

Planned Features

  • A better auth system, possibly?
  • Manage servers (or clusters of servers) with a web interface
  • Monitor logs of the Chef runs from those servers (using
  • Show estimated costs of servers

Getting Started

Aether uses Chef::Knife to communicate with your Chef Server, it is configured in exactly the same manner. By default Aether will look for an /etc/chef/knife.rb file, which should contain your Chef::Knife details, you can use knife configure -i to create one. Obviously you will need your private keys and other details at hand.

Once that's configured and placed in /et/chef/knife.rb (this is configurable, see below) then you just need to run through the configuration options (see below) and you're good to go.

Configurable Options

We use an App config system to set up configurable options, default options are set in config/app.rb. If you want to override something, then you create a file in config/app/ that matches your RAILS_ENV. e.g. config/app/production.rb. There is a sample in that folder for you to copy and change. Here's an example of how you would override the method we use for grouping nodes into clusters.

class App < Configurable
  # node: the node information as given by Chef
  # name: the name that is being compared against  e.g. 'production'
  config.cluster_identification = lambda {|node,name| node[:cluster_name] == name }


  • aether: Aether homepage
  • chef: Chef, the automated deployment tool
  • rails: Ruby on Rails


Something went wrong with that request. Please try again.