red-fab-deploy is a collection of Fabric scripts for deploying and managing projects created at RED. License is MIT.
This project is specifically targeted at deploying websites built using the generator-red-django project creation tool.
These tools are being geared towards deploying on Joyent but can be extended to be used on other providers.
IMPORTANT: red-fab-deploy will only work if you install the following packages:
$ pip install fabric
To use the joyent provider you will need smartdc
$ pip install smartdc
The first thing you need to do is set up your fabfile. This file should import * from the flavor you want to use. The basic structure provider.os. For example:
from fab_deploy2.joyent.smartos import *
In your projects deploy folder there should be a file named servers.ini. This file keeps track of the different types of servers and any relationships between them. As you add servers using this tool the file will be updated. You also configure firewalls using this file by specifing which ports should be open to which other roles.
Fabric roles are also setup based on the information in this file. So adding -R app-server for example will run your specifed command on all servers in that section of the config file.
In many cases you will want to customize the behavior of a certain task. For this reason most tasks are implemented as context task classes. You can inherit from the task that you want to customize, make your changes and then in your fabfile override that task name with your new class. See the docs for more information.
To list the tasks run fab --list. Running fab -d task_name will print the full docstring for the given task.