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', }, }, }, }