From 93349b83101ab683cec87d5bcc3705e0886f964e Mon Sep 17 00:00:00 2001 From: Lorin Hochstein Date: Sat, 7 Feb 2015 14:29:06 -0500 Subject: [PATCH] add some role files --- .../roles/database/handlers/main.yml | 4 ++++ .../roles/mezzanine/handlers/main.yml | 7 ++++++ ch08/playbooks/scripts/setadmin.py | 23 +++++++++++++++++++ ch08/playbooks/scripts/setsite.py | 22 ++++++++++++++++++ 4 files changed, 56 insertions(+) create mode 100644 ch08/playbooks/roles/database/handlers/main.yml create mode 100644 ch08/playbooks/roles/mezzanine/handlers/main.yml create mode 100644 ch08/playbooks/scripts/setadmin.py create mode 100644 ch08/playbooks/scripts/setsite.py diff --git a/ch08/playbooks/roles/database/handlers/main.yml b/ch08/playbooks/roles/database/handlers/main.yml new file mode 100644 index 0000000..b835c90 --- /dev/null +++ b/ch08/playbooks/roles/database/handlers/main.yml @@ -0,0 +1,4 @@ +--- +- name: restart postgres + service: name=postgresql state=restarted + sudo: True diff --git a/ch08/playbooks/roles/mezzanine/handlers/main.yml b/ch08/playbooks/roles/mezzanine/handlers/main.yml new file mode 100644 index 0000000..59e71cb --- /dev/null +++ b/ch08/playbooks/roles/mezzanine/handlers/main.yml @@ -0,0 +1,7 @@ +--- +- name: restart supervisor + supervisorctl: name=gunicorn_mezzanine state=restarted + sudo: True +- name: restart nginx + service: name=nginx state=restarted + sudo: True diff --git a/ch08/playbooks/scripts/setadmin.py b/ch08/playbooks/scripts/setadmin.py new file mode 100644 index 0000000..7800302 --- /dev/null +++ b/ch08/playbooks/scripts/setadmin.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python +# A script to set the admin credentials +# Assumes two environment variables +# +# PROJECT_DIR: the project directory (e.g., ~/projname) +# ADMIN_PASSWORD: admin user's password + +import os +import sys + +# Add the project directory to system path +proj_dir = os.path.expanduser(os.environ['PROJECT_DIR']) +sys.path.append(proj_dir) + +os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' + + +from mezzanine.utils.models import get_user_model +User = get_user_model() +u, _ = User.objects.get_or_create(username='admin') +u.is_staff = u.is_superuser = True +u.set_password(os.environ['ADMIN_PASSWORD']) +u.save() diff --git a/ch08/playbooks/scripts/setsite.py b/ch08/playbooks/scripts/setsite.py new file mode 100644 index 0000000..9455624 --- /dev/null +++ b/ch08/playbooks/scripts/setsite.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +# A script to set the site domain +# Assumes two environment variables +# +# PROJECT_DIR: the project directory (e.g., ~/projname) +# WEBSITE_DOMAIN: the domain of the site (e.g., www.example.com) + +import os +import sys + +# Add the project directory to system path +proj_dir = os.path.expanduser(os.environ['PROJECT_DIR']) +sys.path.append(proj_dir) + +os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' +from django.conf import settings +from django.contrib.sites.models import Site + +domain = os.environ['WEBSITE_DOMAIN'] +Site.objects.filter(id=settings.SITE_ID).update(domain=domain) +Site.objects.get_or_create(domain=domain) + -- 2.44.0