warden

Cloud Foundry - the open platform as a service project

warden

Manages isolated, ephemeral, and resource controlled environments.

Introduction

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.

Components

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.

Testing

Warden server tests are run automatically in a newly created container using
a virtualbox image dynamically downloaded from
s3.amazonaws.com/runtime-artifacts/warden-compatible.box.

# Checkout the repos
git clone https://github.com/cloudfoundry/warden

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 warden-compatible.box image.

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

# Run warden server tests
bin/test_in_vm

License

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

Contributing

Please read the contributors’ guide.