Skip to main content

A tool for deploying complex stacks with juju.

Project description

Juju Deployer

A deployment tool for juju that allows stack-like configurations of complex deployments.

It supports configuration in yaml or json.

Installation

virtualenvsystemsitepackagesdeployer ./deployer/bin/easy_install juju-deployer $ ./deployer/bin/juju-deployer -h

Usage

Stack Definitions

High level view:

 blog:
    series: precise
    services:
       blog:
         charm: wordpress
         branch: lp:charms/precise/wordpress
       db:
         charm: mysql
         branch: lp:charms/precise/mysql
    relations:
       - [db, blog]

 blog-prod:
    inherits: blog
    services:
       blog:
         num_units: 3
         constraints: instance-type=m1.medium
         options:
           wp-content: include-file://content-branch.txt
       db:
         constraints: instance-type=m1.large
         options:
           tuning: include-base64://db-tuning.txt
       cachelb:
         charm: varnish
         branch: lp:charms/precise/varnish
    relations:
       - [cachelb, blog]


We've got two deployment stacks here, blog, and blog-prod. The blog stack defines
a simple wordpress deploy with mysql and two relations. In this case its

Development

Obtain source

bzrbranchlp:jujudeployer/darwindeployer cd deployer

# Test runner $ python setup.py test

Background

This is a wrapper for Juju that allows stack-like configurations of complex deployments. It was created to deploy Openstack but should be able to deploy other complex service configurations in the same manner.

See deployments.cfg and deployments.cfg.sample for examples of how to describe service stacks in JSON.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page