bundlewrap/bundles/travelynx/metadata.py

63 lines
1.8 KiB
Python

defaults = {
'apt': {
'packages': {
'libmojolicious-perl': {},
},
},
'travelynx': {
'database': {
'username': 'travelynx',
'password': repo.vault.password_for('{} postgresql travelynx'.format(node.name)),
'database': 'travelynx',
},
'workers': 4,
'spare_workers': 2,
'mail_from': 'travelynx@{}'.format(node.hostname),
'cookie_secret': repo.vault.password_for('{} travelynx cookie_secret'.format(node.name)),
'additional_cookie_secrets': set(),
},
'postgresql': {
'roles': {
'travelynx': {
'password': repo.vault.password_for('{} postgresql travelynx'.format(node.name)),
},
},
'databases': {
'travelynx': {
'owner': 'travelynx',
},
},
},
}
@metadata_reactor.provides(
'nginx/vhosts/travelynx',
)
def nginx(metadata):
if not node.has_bundle('nginx'):
raise DoNotRunAgain
return {
'nginx': {
'vhosts': {
'travelynx': {
'domain': metadata.get('travelynx/domain'),
'locations': {
'/': {
'target': 'http://127.0.0.1:22020',
},
'/static': {
'root': '/opt/travelynx/public',
},
'/service-worker.js': {
'root': '/opt/travelynx/public',
},
},
'website_check_path': '/login',
'website_check_string': 'travelynx',
},
},
},
}