Skip to main content

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

Documentation on Read the Docs

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gonzo-0.1.tar.gz (17.3 kB view details)

Uploaded Source

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

Hashes for gonzo-0.1.tar.gz
Algorithm Hash digest
SHA256 95177183e4e0ccb8511716a074afdefe8acfba34c7dfb977f109342e06256913
MD5 28e9f0ecd041520be7ae1de071d968ea
BLAKE2b-256 52eafb33357c1b4fad7c7d93d04feac10d13e8f161ca8c4e24bf4e811d94fa44

See more details on using hashes here.

Supported by

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