Add per host settings, Add host group support via server_config.json or server_config.yaml files (requires pyyaml)

http://fueledbylemons.com/blog/2011/04/09/server-configs-and-fabric/
This commit is contained in:
Roberto Rosario
2012-06-03 03:03:28 -04:00
parent a4bc5dbd63
commit f47d202b4e
7 changed files with 196 additions and 19 deletions

View File

@@ -3,12 +3,14 @@ import string
import random
from fabric.api import env
from fabric.colors import green
from literals import (DEFAULT_INSTALL_PATH, DEFAULT_VIRTUALENV_NAME,
DEFAULT_REPOSITORY_NAME, DEFAULT_OS, OS_CHOICES,
DEFAULT_DATABASE_MANAGER, DB_CHOICES, DEFAULT_DATABASE_NAME,
DEFAULT_WEBSERVER, WEB_CHOICES, DEFAULT_DATABASE_USERNAME,
DJANGO_DB_DRIVERS, DEFAULT_DATABASE_HOST, DEFAULT_PASSWORD_LENGTH)
from server_config import reduce_env
def password_generator():
@@ -16,7 +18,8 @@ def password_generator():
chars = string.ascii_letters + string.digits
return ''.join(random.choice(chars) for x in range(DEFAULT_PASSWORD_LENGTH))
@reduce_env
def setup_environment():
env['os'] = getattr(env, 'os', DEFAULT_OS)
env['os_name'] = OS_CHOICES[env.os]
@@ -47,7 +50,11 @@ def setup_environment():
def print_supported_configs():
print('Supported operating systems (os=): %s' % dict(OS_CHOICES).keys())
print('Supported database managers (database_manager=): %s' % dict(DB_CHOICES).keys())
print('Supported webservers (webserver=): %s' % dict(WEB_CHOICES).keys())
print('Supported operating systems (os=): %s, default=\'%s\'' % (dict(OS_CHOICES).keys(), green(DEFAULT_OS)))
print('Supported database managers (database_manager=): %s, default=\'%s\'' % (dict(DB_CHOICES).keys(), green(DEFAULT_DATABASE_MANAGER)))
print('Supported webservers (webserver=): %s, default=\'%s\'' % (dict(WEB_CHOICES).keys(), green(DEFAULT_WEBSERVER)))
print('\n')