Project

kiel

0.0
No commit activity in last 3 years
No release in over 3 years
Kiel automates the process of creating rake tasks to produce Amazon Machine Images (AMI). The basic idea behind Kiel is that an AMI can be best produced by installing software step by step on a defined base and by having all that steps under source code control. On the way from a base image to the final AMI, Kiel produces a new AMI with every step and thus has some save points to start with.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

Kiel

Kiel automates the process of creating rake tasks to produce Amazon Machine Images (AMI). The basic idea behind Kiel is that an AMI can be best produced by installing software step by step on a defined base and by having all that steps under source code control. On the way from a base image to the final AMI, Kiel produces a new AMI with every step.

Every task is associated with a single ruby script that will be executed with Capistrano to setup a server started with the AMI produced by the previous task.
Every AMI created by a task is tagged with all git versions of the scripts involved in creating that AMI.

Gem Version Build Status

Installation

To install Kiel:

gem install kiel

To install the lattest version of Kiel from source, download the source, cd into the source directory and use

rake gem
gem install kiel

to install the gem. Use gem doc to build the html documentation, use gem tests to run the tests.

Example

Kiel::image [
        { name: :application, description: 'build the application image' },
        { name: :base_image, description: 'build the base image' },
        :sioux, :boost, :ruby,
        { name: :basics, scm_name: [ 'basics.rb', 'rakefile' ], setup_name: 'basics.rb' }
    ],
    { 
        base_image: 'ami-6d555119', 
        cloud: aws
    }

creates 6 rake tasks, named application, base_image, sioux, boost, ruby and basics. Every task depends on all other task following that task in the list of tasks. When starting the task boost for example, Kiel will determine the git versions of boost.rb, ruby.rb and basics.rb. Then Kiel will connect Amazon to look up the tags added to the AMIs for the 3 steps. If any of the AMIs tags do not fit with the git versions of the script, a new image will be created and tagged.

Dependencies

  • git command line client
  • Capistrano
  • AWS SDK
  • rake (of cause)

Licence

Kiel is licenced under MIT licence.