Giter Site home page Giter Site logo

blimpy's Introduction

Blimpy

Build Status

Excelsior!

About

Blimpy is a tool to help developers spin up and utilize machines "in the cloud."

Once a developer has a Blimpfile, they can execute a few simple commands to manage the newly created "fleet" in the specified cloud provider:

   % blimpy start
   [snip]
   >> excelsior ..... online at: ec2-50-112-3-57.us-west-2.compute.amazonaws.com..
   >> goodyear ..... online at: ec2-50-112-27-89.us-west-2.compute.amazonaws.com
   %

Once machines are online, they're easy to access by name with:

  % blimpy scp goodyear secrets.tar.gz
  % blimpy ssh goodyear

Then once you're finished working with the machines a simple blimpy destroy will terminate the machines.


The Blimpfile

Here's an example Blimpfile:

    Blimpy.fleet do |fleet|
        fleet.add(:aws) do |ship|
            ship.name = 'rails-app'
            ship.ports = [22, 80, 8080] # [Optional] Create a security group with these ports open
            ship.image_id = 'ami-4438b474' # [Optional] defaults to Ubuntu 12.04 64-bit
            ship.livery = Blimpy::Livery::CWD # [Optional]
            ship.group = 'Simple' # [Optional] The name of the desired Security Group
            ship.region = 'us-west-1' # [Optional] defaults to us-west-2
            ship.username = 'ubuntu' # [Optional] SSH username, defaults to "ubuntu" for AWS machines
            ship.flavor = 'm1.small' # [Optional] defaults to t1.micro
            ship.tags = {:mytag => 'somevalue'} # [Optional]
            ship.provision_on_start = false # [Optional] defaults to true
        end
    end

Supported Clouds

Currently Blimpy supports creating machines on:


What is Livery?

In aviation, livery is the insignia or "look" an aircraft typically has. For example, Alaskan Airlines has a distinctive "creepy mountain man" livery on every plane.

With Blimpy, "livery" is a similar concept, a means of describing the "look" of a specific machine in the cloud. Currently the concept is still on the drawing board, but if you would imagine a tarball containing a bootstrap.sh script and Chef cookbooks or Puppet manifests to provision the entirety of the machine from start-to-finish.

When the machine comes online, the specified livery would be downloaded from S3 (for example) and bootstrap.sh would be invoked as root.

blimpy's People

Contributors

jblaine avatar kohsuke avatar recampbell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

blimpy's Issues

0.4.3 fails on Ruby 1.8.7

-> % blimpy init
/home/tyler/.rvm/gems/ree-1.8.7-2011.12@flexd/gems/blimpy-0.4.3/bin/blimpy:7: uninitialized constant YAML::ENGINE (NameError)
        from /home/tyler/.rvm/gems/ree-1.8.7-2011.12@flexd/bin/blimpy:19:in `load'
        from /home/tyler/.rvm/gems/ree-1.8.7-2011.12@flexd/bin/blimpy:19

undefined method in resume

Hi,

I'm using blimpy with Ruby 1.9 and when I run blimpy start after adding a new ship, I get this:

Resuming: ,/usr/local/lib/ruby/gems/1.9/gems/blimpy-0.4.3/lib/blimpy/fleet.rb:61:in block in resume': undefined methodresume' for nil:NilClass (NoMethodError)

Is this a ruby 1.9 issue or a more general bug?

Thanks,
Steve

Not storing the BlimpyFleetId anywhere

We're tagging machines, but we're not storing it in ./.blimpy.d/.

We probably should, then we may be able to use that to help validate management parts

Should have a built in :puppet livery

The :puppet livery should bootstrap Puppet onto the machine and provide the same workspace copying that the :cwd currently does.

This will probably require some amount of thought on how to properly configure liveries

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.