Welcome to Rambo’s documentation!¶
Currently viewing version v0.4.5.dev
To get started fast, see Quickstart.
- Python API
- Customizing Rambo
- Environment Variables
- AWS EC2
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.
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
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.