Instance and release management made easy
Project description
Instance and release management made easy
Manage instances running in Amazon Web Services or using Openstack using a single consistent interface:
$ gonzo list fullstack-hq-uat-064 m1.small ACTIVE david 20d 20h 4m 23s fullstack-hq-uat-069 m1.small ACTIVE fergus 7d 23h 45m 3s staging-jenkins-slave-003 m1.large ACTIVE matthew 60d 4h 18m 40s
Easily target instances or groups of instances with fab commands and manage your code deployments using included fabric tasks:
$ fab gonzo.group:prouction-ecommerce-web push_release rollforward
Documentation
Command Line Interface
To set project environment configuration use gonzo config:
$ gonzo config mode: None region: None $ gonzo config --mode aws mode: aws region: eu-west-1 $ gonzo config --region us-west-1 mode: aws region: us-west-1
You can then use gonzo to set targets for fabric commands
Add the gonzo tasks to your fabfile:
$ cat fabfile.py from gonzo.tasks import gonzo __all__ = ['gonzo']
You can then run:
$ fab gonzo.instance:production-ecommerce-web-003 run_comand
to target an inividual instance, and:
$ fab gonzo.group:production-ecommerce-web run_comand
to target an entire host group
Fabric task library
To use the gonzo library of fabric tasks, simply import the relevent task modules for namespaced tasks:
from gonzo.tasks import apache
These can then be called using the standard fabric syntax:
$ fab -H ... apache.restart
Alternatively import the tasks directly:
from gonzo.tasks.apache import restart
These commands won’t be namespaced:
$ fab -H ... restart
You can patch in your own commands to the gonzo namespaces to provide a clean CLI:
from fabric.api import task, sudo from gonzo.tasks import apache def maintenance_mode(off=False): """ Set server into maintenance mode. """ if off: sudo("a2ensite onefinestay && a2dissite 00maintenance") else: sudo("a2ensite 00maintenance && a2dissite onefinestay") apache.maintenance_mode = task(maintenance_mode)
TODO
- project based stuff
project name [for /srv/project_name] (git setting?)
tests
tidy release project root /srv/* targetting
License
Apache 2.0 - see LICENSE for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file gonzo-0.1.tar.gz
.
File metadata
- Download URL: gonzo-0.1.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95177183e4e0ccb8511716a074afdefe8acfba34c7dfb977f109342e06256913 |
|
MD5 | 28e9f0ecd041520be7ae1de071d968ea |
|
BLAKE2b-256 | 52eafb33357c1b4fad7c7d93d04feac10d13e8f161ca8c4e24bf4e811d94fa44 |