1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
from charms import django
from charms.reactive import (
when,
when_not,
is_state,
set_state,
hook,
)
from charmhelpers.core.unitdata import kv
from charmhelpers.core.hookenv import (
config,
status_set,
status_get,
open_port,
)
from nginxlib import configure_site
@when('django.available')
@when_not('django.ready')
def manage_tasks():
django.manage(['initdb'])
django.manage(['collectstatic', '--noinput'])
set_state('django.ready')
@when('nginx.available', 'django.ready')
def create_vhost():
dcfg = django.config()
configure_site('ubucon', 'ubucon-vhost.conf',
port=config('django-port'),
source_path=dcfg.get('source-path'),
media_dir=dcfg.get('media-path'),
static_dir=dcfg.get('static-path'),
)
open_port(80)
status_set('active', 'ready')
|