A Provider Agnostic Provisioning Framework
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
.github
docs
rambo
.gitignore
.gitmodules
CHANGELOG.md
LICENSE
MANIFEST.in
README.md
RELEASE.md
RULES.md
setup.py

README.md

README

Join the chat at https://gitter.im/terminal-labs/rambo

CircleCI

Quickstart

To get started fast, see: Quickstart, or go to our docs homepage

What's Rambo For?

This project is for provisioning and configuring virtual machines (and containers) in a simple, predictable, and highly reproducible way. Just run one command and your VM is up, code is deployed, and your app is running, on any supported platform.

At this time this repo allows you to create a Linux VM on multiple providers (AWS EC2, DigitalOcean, VirtualBox, LXC). Several Operating Systems are available on select providers. The base machine configuration is a Ubuntu 16.04 64bit OS with 1024MB RAM, and 30GB drive.

One of the goals of this project is be able to run a simple command and have a new VM be created on your provider of choice. Once the VM is initialized SaltStack is used to deploy code to and provision your machine. The SaltStack machine configuration code (states) will run the same regardless of which provider is actually running the machine. You can easily cycle your VMs by destroying and rebuilding them.

Another goal of this repo is to have the spawned VMs be maximally similar across providers. Usually, your configuration will not need to change at all and will simply run on all providers.

By default Rambo offers a basic VM configuration with SaltStack, but you can customize this. See Customizing Rambo for that.

Basic Usage

Once installed, you can run one of these commands to get your VM:

for VirtualBox run

$ rambo up
$ rambo ssh

for AWS EC2 run

$ rambo up -p ec2
$ rambo ssh

for DigitalOcean run

$ rambo up -p digitalocean
$ rambo ssh

for Docker run

$ rambo up -p docker
$ rambo ssh

for LXC run

$ rambo up -p lxc
$ rambo ssh

Contributing

We heartily welcome any contirubtions to this project, whether in the form of commenting on or posting an issue, or development. If you would like to submit a pull request, you might first want to look at our development guidelines for this project.

Special Thanks

Thanks go out to the Vagrant community and HashiCorp. Vagrant is a great tool it has helped us a lot over the years.

Rambo is supported by Terminal Labs.