Fetching contributors…
Cannot retrieve contributors at this time
58 lines (39 sloc) 1.7 KB


Manages isolated, ephemeral, and resource controlled environments.


The project's primary goal is to provide a simple API for managing isolated environments. These isolated environments -- or containers -- can be limited in terms of CPU usage, memory usage, disk usage, and network access. As of writing, the only supported OS is Linux.


This repository contains the following components:

  • warden -- server
  • warden-protocol -- protocol definition, used by both the server and clients
  • warden-client -- client (Ruby)
  • em-warden-client -- client (Ruby's EventMachine)

For information on how to run the warden server and interact with it at the command line, see the warden server README.


Warden server tests are run automatically in a newly created container using a virtualbox image dynamically downloaded from

# Checkout the repos
git clone

There is a .ruby-version file in the root of the repo which is copied into the created container filespace (along with the rest of the warden directory, with a few exceptions). The version in this file is that used in the container. This is pre-installed in the image.

To run bin/test_in_vm you need to have this exact same version of ruby installed locally.

# Run warden server tests


The project is licensed under the Apache 2.0 license (see the LICENSE file).


Please read the contributors' guide.