View on GitHub

Airtime-appliance

Provides easy Sourcefabric Airtime deployments on virtual machines for testing purposes

Download this project as a .zip file Download this project as a tar.gz file

Airtime Appliance Deployment

This is an example of an Airtime Chef automated deployment, that we use internally for easily testing new releases and features.

This is NOT meant for production use.

It uses Vagrant, Opscode Chef (solo) 11.x Berkshelf.

Software includes apache2, php5, icecast2, postgresql, airtime.

Prerequisites

Install

Vagrant Environment

Unfortunately, as of lately, Vagrant-Bindle isn't maintained anymore.

We'll use Vagrant-Cachier

$ vagrant plugin install vagrant-cachier

and Vagrant-Omnibus to ensure the desired version of Chef is installed.

$ vagrant plugin install vagrant-omnibus

$ vagrant plugin install vagrant-berkshelf --plugin-version 2.0.1

Chef Development Kit

If you need to hack on cookbooks, you might need Chef binaries, tools and plugins. Go take a look at Chef-DK, the Chef Development Kit. It contains everything you neeed.

Berkshelf

To manage cookbook dependencies, install Berkshelf:

$ bundle install --binstubs
$ ./bin/berks vendor cookbooks

Or if you use the above Chef-DK, just

$ berks vendor cookbooks

Here's a dependency graph:

Chef Cookbook Dependencies Graph

Launch

This is an example to launch the default "airtime" Vagrant profile.

$ vagrant up airtime --provider=vmware_fusion

$ vagrant up airtime --provider=virtualbox

Web Access

Access your new Airtime installation:

SSH Access

If needed, you can access the box by SSH.

$ vagrant ssh

Optional Configuration Steps

Timezone

Airtime timezone is optionnaly to be configured

Chef Roles dependencies

(updated by issuing knife role spaghetti)

Airtime Chef Roles Dependencies Graph