bundles/pretalx: introduce
This commit is contained in:
parent
0b9056bd2b
commit
70944d7065
9 changed files with 314 additions and 0 deletions
164
bundles/pretalx/items.py
Normal file
164
bundles/pretalx/items.py
Normal file
|
@ -0,0 +1,164 @@
|
|||
actions = {
|
||||
'pretalx_create_virtualenv': {
|
||||
'command': '/usr/bin/python3 -m virtualenv -p python3 /opt/pretalx/venv/',
|
||||
'unless': 'test -d /opt/pretalx/venv/',
|
||||
'needs': {
|
||||
# actually /opt/pretalx, but we don't create that
|
||||
'directory:/opt/pretalx/src',
|
||||
},
|
||||
},
|
||||
'pretalx_install': {
|
||||
'command': 'cd /opt/pretalx/src/src && /opt/pretalx/venv/bin/pip install --upgrade pip wheel gunicorn psycopg2-binary .[redis]',
|
||||
'needs': {
|
||||
'action:pretalx_create_virtualenv',
|
||||
},
|
||||
'triggered': True,
|
||||
},
|
||||
'pretalx_migrate': {
|
||||
'command': 'PRETALX_CONFIG_FILE=/opt/pretalx/pretalx.cfg /opt/pretalx/venv/bin/python -m pretalx migrate',
|
||||
'needs': {
|
||||
'action:pretalx_install',
|
||||
'file:/opt/pretalx/pretalx.cfg',
|
||||
'postgres_db:pretalx',
|
||||
'postgres_role:pretalx',
|
||||
},
|
||||
'triggered': True,
|
||||
},
|
||||
'pretalx_rebuild': {
|
||||
'command': 'sudo -u pretalx PRETALX_CONFIG_FILE=/opt/pretalx/pretalx.cfg /opt/pretalx/venv/bin/python -m pretalx rebuild',
|
||||
'needs': {
|
||||
'action:pretalx_install',
|
||||
'directory:/opt/pretalx/data',
|
||||
'directory:/opt/pretalx/static',
|
||||
'file:/opt/pretalx/pretalx.cfg',
|
||||
},
|
||||
'triggered': True,
|
||||
},
|
||||
'pretalx_regenerate-css': {
|
||||
'command': 'sudo -u pretalx PRETALX_CONFIG_FILE=/opt/pretalx/pretalx.cfg /opt/pretalx/venv/bin/python -m pretalx regenerate_css',
|
||||
'needs': {
|
||||
'action:pretalx_install',
|
||||
'directory:/opt/pretalx/data',
|
||||
'directory:/opt/pretalx/static',
|
||||
'file:/opt/pretalx/pretalx.cfg',
|
||||
},
|
||||
'triggered': True,
|
||||
},
|
||||
}
|
||||
|
||||
users = {
|
||||
'pretalx': {
|
||||
'home': '/opt/pretalx',
|
||||
},
|
||||
}
|
||||
|
||||
directories = {
|
||||
'/opt/pretalx/src': {},
|
||||
'/opt/pretalx/data': {
|
||||
'owner': 'pretalx',
|
||||
},
|
||||
'/opt/pretalx/static': {
|
||||
'owner': 'pretalx',
|
||||
},
|
||||
}
|
||||
|
||||
git_deploy = {
|
||||
'/opt/pretalx/src': {
|
||||
'repo': 'https://github.com/pretalx/pretalx.git',
|
||||
'rev': node.metadata['pretalx']['version'],
|
||||
'triggers': {
|
||||
'action:pretalx_install',
|
||||
'action:pretalx_migrate',
|
||||
'action:pretalx_rebuild',
|
||||
'svc_systemd:pretalx-web:restart',
|
||||
'svc_systemd:pretalx-worker:restart',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
svc_systemd = {
|
||||
'pretalx-runperiodic.timer': {
|
||||
'needs': {
|
||||
'action:pretalx_install',
|
||||
'action:pretalx_migrate',
|
||||
'action:pretalx_rebuild',
|
||||
'file:/etc/systemd/system/pretalx-runperiodic.timer',
|
||||
'file:/etc/systemd/system/pretalx-runperiodic.service',
|
||||
'file:/opt/pretalx/pretalx.cfg',
|
||||
},
|
||||
},
|
||||
'pretalx-clearsessions.timer': {
|
||||
'needs': {
|
||||
'action:pretalx_install',
|
||||
'action:pretalx_migrate',
|
||||
'action:pretalx_rebuild',
|
||||
'file:/etc/systemd/system/pretalx-clearsessions.timer',
|
||||
'file:/etc/systemd/system/pretalx-clearsessions.service',
|
||||
'file:/opt/pretalx/pretalx.cfg',
|
||||
},
|
||||
},
|
||||
'pretalx-web': {
|
||||
'needs': {
|
||||
'action:pretalx_install',
|
||||
'action:pretalx_migrate',
|
||||
'action:pretalx_rebuild',
|
||||
'file:/etc/systemd/system/pretalx-web.service',
|
||||
'file:/opt/pretalx/pretalx.cfg',
|
||||
},
|
||||
},
|
||||
'pretalx-worker': {
|
||||
'needs': {
|
||||
'action:pretalx_install',
|
||||
'action:pretalx_migrate',
|
||||
'action:pretalx_rebuild',
|
||||
'file:/etc/systemd/system/pretalx-worker.service',
|
||||
'file:/opt/pretalx/pretalx.cfg',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
files = {
|
||||
'/opt/pretalx/pretalx.cfg': {
|
||||
'content_type': 'mako',
|
||||
'context': node.metadata['pretalx'],
|
||||
'triggers': {
|
||||
'svc_systemd:pretalx-web:restart',
|
||||
'svc_systemd:pretalx-worker:restart',
|
||||
},
|
||||
},
|
||||
'/etc/systemd/system/pretalx-runperiodic.timer': {
|
||||
'triggers': {
|
||||
'action:systemd-reload',
|
||||
'svc_systemd:pretalx-runperiodic.timer:restart',
|
||||
},
|
||||
},
|
||||
'/etc/systemd/system/pretalx-runperiodic.service': {
|
||||
'triggers': {
|
||||
'action:systemd-reload',
|
||||
},
|
||||
},
|
||||
'/etc/systemd/system/pretalx-clearsessions.timer': {
|
||||
'triggers': {
|
||||
'action:systemd-reload',
|
||||
'svc_systemd:pretalx-clearsessions.timer:restart',
|
||||
},
|
||||
},
|
||||
'/etc/systemd/system/pretalx-clearsessions.service': {
|
||||
'triggers': {
|
||||
'action:systemd-reload',
|
||||
},
|
||||
},
|
||||
'/etc/systemd/system/pretalx-web.service': {
|
||||
'triggers': {
|
||||
'action:systemd-reload',
|
||||
'svc_systemd:pretalx-web:restart',
|
||||
},
|
||||
},
|
||||
'/etc/systemd/system/pretalx-worker.service': {
|
||||
'triggers': {
|
||||
'action:systemd-reload',
|
||||
'svc_systemd:pretalx-worker:restart',
|
||||
},
|
||||
},
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue