• Stars
    star
    371
  • Rank 115,103 (Top 3 %)
  • Language
    Ruby
  • License
    MIT License
  • Created over 16 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Run a self-healing, auto-scaled and monitored cloud simply, in the clouds, on nearly any hardware, such as EC2, eucalyptus and vmware

PoolParty

poolpartyrb.com

DESCRIPTION:

PoolParty makes cloud provisioning and management easy. PoolParty provides a unified interface for defining and managing cloud infrasturcure on different cloud providers (just Ec2 for now).

Code your cloud!

SYNOPSIS:

PoolParty is written with the intention of being as application-agnostic as possible. It installs only the basic required software to glue the cloud together on the instances as listed below.

Quickstart

For instance, to start a basic cloud, let’s write one:

pool "demo" do
  cloud "app" do
    instances 2..10
    using :ec2
    autoscale do      
      trigger :lower_threshold => 0.3, :upper_threshold => 1.0, :measure => :cpu
    end
    security_group do
      authorize :from_port => 22, :to_port => 22
    end
    load_balancer do
      listener :external_port => 8080, :internal_port => 8080, :protocol => 'tcp'
    end
  end
end

Simply by issuing the command:

cloud start

This will create an ec2 auto scaling group that will launch the minimum_instances (2 in this case,) inside a security group. The default naming of most objects, such as security_groups, auto scaling groups, launch_configurations, load_balancers and keypairs follow the poolname-cloudname convention. There are a number of commands PoolParty offers to interact with your cloud. They include:

  • cloud start

  • cloud terminate

  • cloud reboot

  • cloud configure

  • cloud compile

  • cloud console

  • cloud expand

  • cloud contract

  • cloud list

  • cloud show

  • cloud ssh

  • cloud run

Clouds are distinguished by security groups. If a security group is not specified in your cloud block, one will be created based on the naming convention poolname-cloudname.

Extending

To add a cloud_provider, there are four methods that need to be implemented. Simply sublcass the CloudProviders module and require it in your clouds.rb (or commit it back to PoolParty). Those four methods are:

  • run_instance

  • terminate_instance

  • describe_instances

  • describe_instance

Examples

Checkout the [examples](examples/) directory and its README for some more ideas and examples.

That’s it!

More documentation can be found at the site: <a href=“poolpartyrb.com”>poolpartyrb.com</a>.

REQUIREMENTS:

  • Ruby

INSTALL:

from gemcutter.org;

sudo gem install poolparty

LICENSE:

(The MIT License)

Copyright © 2009 Ari Lerner, CloudTeam

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ‘Software’), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

More Repositories

1

alice

Monitoring and REST interface to rabbitmq
Erlang
239
star
2

ng-newsletter-beginner-series

The official repository of the beginner series tutorial on ng-newsletter.com
149
star
3

beehive

Honeycombs of applications
Erlang
131
star
4

wonderland

The front-end to alice
91
star
5

cloudfoundry-quickstart

Quickstart with cloudfoundry
Ruby
33
star
6

erlfs

A distributed storage system which uses distributed Erlang strongly influenced by http://dawsdesign.com/drupal/erlfs
Erlang
26
star
7

ffmpegger

Why should high quality video encoding be hard?
Ruby
20
star
8

exauthly

Elixir authentication, member management, subscription app
Elixir
19
star
9

dslify

Easily add DSL accessors to any class without bothering to mess with the gory details of their implementation
Ruby
14
star
10

erlproject_template

Erlang template for projects
Erlang
10
star
11

backcall

Super lightweight, memory-efficient callback methods
Ruby
10
star
12

skelerl

Erlang skeleton application
Ruby
9
star
13

girls

Girls
9
star
14

converse

Custom distributed erlang
Erlang
9
star
15

cloudfoundry-cookbook

cloudfoundry-cookbook
Ruby
9
star
16

token-swap-dapp

A simple dapp for handling token swaps
JavaScript
8
star
17

suitcase

Easy-peasy transfer of bulk files with the Suitcase!
Ruby
8
star
18

glitter

Glitter on top of gitolite
Erlang
7
star
19

docker-tensorflow-ipython-celery-rest-server

The name of the repo pretty much sums it up. Buzzwords included
Python
7
star
20

babysitter

Babysit thin processes
C
7
star
21

poolparty-plugins

Extensions on PoolParty
Ruby
7
star
22

rosen

The git repos of rosen: http://sourceforge.net/projects/rosen/
Erlang
6
star
23

states

My collection of salt states
Python
6
star
24

testing-example

JavaScript
6
star
25

tailor

A log tail-er, written in erlang
Erlang
6
star
26

saltcli

Salt cli in python
Python
6
star
27

layers

A convenience layer to layer erlang apps
Erlang
6
star
28

configerl

Easy configuration parsing
Erlang
5
star
29

parenting

Parenting is a tough task, this lil gem makes it pretty easy
Ruby
5
star
30

codemirror-interactive-numbers

Drag and update literal numbers inside codemirror
JavaScript
5
star
31

torquebox-cookbook

Torquebox cookbook
Ruby
5
star
32

birthday

Add your birthday to the list! (experiment)
5
star
33

30-days-of-react-demo

30 days of react demo site
JavaScript
5
star
34

hermes

The messenger of the gods
Erlang
5
star
35

temporarily-linkable

Temporary link plugin. Easily create temporary links that expire after use or a time frame
Ruby
5
star
36

ruberl

A quick and easy way you can easily talk to your gen_tcp/gen_server erlang server
Ruby
5
star
37

poolparty-website

The poolparty website
JavaScript
4
star
38

auser.github.com

Webpage
4
star
39

whisper

A security layer to provide some basic encryption
Erlang
4
star
40

butterfly

An HTTP mini server to query against modular adaptors
Ruby
4
star
41

local132

A generic worker pool implementation in erlang
Erlang
4
star
42

squirrel

A super lightweight queuing library in erlang.
Erlang
4
star
43

crater

A quick and dirty crater of files that can take a directory of files and concatenate them together for dirty packaging. It even minimizes them too!
JavaScript
4
star
44

eoshuffle

A nicer interface for working with EOS
JavaScript
4
star
45

pocket_watch

An amqp hashtable implementation with object persistence
Ruby
4
star
46

erlosis

An erlangy tool to manage gitosis
Erlang
4
star
47

babel-plugin-replace-config-vars

Use config variables with babel to handle different environments
JavaScript
4
star
48

salt-cli

A ruby gem to interact with salt on different providers from a local machine
Ruby
4
star
49

incredibly_simple_rack_app

Just a super simple rack app
Ruby
4
star
50

rabbithole

A library for dealing with queues in erlang
Erlang
4
star
51

columbus

Service discovery awesomeness
Ruby
3
star
52

troph

A simple amqp daemonizer dsl. Build your own nanite
Ruby
3
star
53

aska

Rule-based parser
Ruby
3
star
54

where

Chord-layer
Erlang
3
star
55

cpputest

CppUTest source
C++
3
star
56

sample-rails-app

Sample rails app to show off PoolParty goodness
Ruby
3
star
57

layers-test-app

Layers test app
Erlang
3
star
58

getbeehive.com

beehive website
JavaScript
3
star
59

processor

The process manager in babysitter
C++
3
star
60

mkerl

The very basic erlang template, with tests
Erlang
3
star
61

letsparty

Distributed event system in clojure
Clojure
3
star
62

neotoma_template

A generic template with some rules in it for starting and running with neotoma
Erlang
3
star
63

macmap

A single method to provide a map of network interfaces to their corresponding ip addresses from ifconfig
Ruby
2
star
64

metavirt

Ruby
2
star
65

EditingBay

The cocoa front-end for LIMP
2
star
66

lil-snap

Demo sinatra app for presentation
2
star
67

paparazzi

Demo rails app for presentation
Ruby
2
star
68

colors

Add colors to your terminal output
Ruby
2
star
69

bootstrapper

A simple, extendable bootstrapper
Ruby
2
star
70

who

An authentication layer for the layers framework
2
star
71

searchable_paths

TODO: one-line summary of your gem
Ruby
2
star
72

rackapp

rackapp demo
2
star
73

catalyst

Build your own middleware run stack
Ruby
2
star
74

baker

Chef cookbook compiler (extracted from PoolParty)
Ruby
2
star
75

reloadable

Reloader because it's easier to reload then restart
2
star
76

fast-react-starter

Fast react starter
JavaScript
2
star
77

isolate

Utility for isolating Unix processes, minimizing their privilege [git clone from the google page]
C++
2
star
78

xsearch

stripe hackathon fun
JavaScript
2
star
79

confucious

Configuration helper module
Ruby
2
star
80

v8erl

Clone of http://bitbucket.org/jlatt/v8erl/
C++
2
star
81

docpad-plugin-permalinks

Add permalinks to your posts
JavaScript
2
star
82

Vancam

An opencv project for fun
C++
2
star
83

xnot.org

Repos for xnot.org
Ruby
2
star
84

UnitTest-cpp

UnitTest++ mirror
2
star
85

seti-home

I wanted seti@home in git, so this is a clone of the svn repos: http://setiathome.berkeley.edu/sah_porting.php
2
star
86

beehivetalk-at-lonestar-ruby-conference-10

Beehive talk at Lonestar Ruby Conference 2010
JavaScript
2
star
87

react-16-app

Talk for react next 2017
JavaScript
2
star
88

qwik-demo

Demo qwik
TypeScript
1
star
89

pgmem

In-memory database (rust + js)
Rust
1
star
90

erlrrd

A mirror of erlrrd that provides bindings for the rrdtool
1
star
91

sample-svgr-bug

JavaScript
1
star
92

translate-backend

node backend for translation demo
JavaScript
1
star
93

pydock

A docker thing
Jupyter Notebook
1
star
94

rigdata

Ruby meetup 03/27/13 demo
CoffeeScript
1
star
95

hackbright-react-intro

Hackbright react intro presentation
JavaScript
1
star
96

payload-plugin-markdown-field

Markdown field for PayloadCMS
TypeScript
1
star
97

aws-dev-machine

A bootstrapping set of scripts to get your windows or mac machine set-up with developer tooling and a bunch of other goodies
PowerShell
1
star