nodes['htz-cloud.luther'] = { 'bundles': { 'php', 'postgresql', 'zfs', }, 'groups': { 'debian-bullseye', 'webserver', }, 'metadata': { 'interfaces': { 'eth0': { 'ips': { '195.201.136.20', '2a01:4f8:c2c:fc3b::1/64', }, 'gateway4': '172.31.1.1', 'gateway6': 'fe80::1', }, 'ens10': { 'ips': { '172.19.137.4/32', }, 'routes': { # VPN '172.19.136.0/22': { 'via': '172.19.137.1', }, }, }, }, 'apt': { 'packages': { 'php-apcu': {}, 'php-uploadprogress': {}, }, }, 'cron': { 'jobs': { 'luther-ps': vault.decrypt('encrypt$gAAAAABfnUqTXXpUYCA2DxllTKgbKg6YguCBbguJ0rerFGi9UNxEuTO6eqReqraS9FzNmLl81S_20bYwXM5W8pNwV5I5i6BVz1M37TxdsMCAxMG-9G0ZHFXeE4K5a4MWxuyYkrVPtK_hNFOciwxDDwPYT8tH_Jahdqmr8fZcCcsICzsSOxycn89VEm2ODnfH24Azrj6mVq5cPMc_xkdWnn-dSMCvPXpjjg==').format_into('*/10 * * * * www-data /usr/bin/curl -s {}'), }, }, 'icinga_options': { 'period': 'daytime', 'pretty_name': 'Lutherkirchengemeinde Pirmasens', 'vars.notification.sms': False, }, 'nginx': { 'vhosts': { 'luther-ps': { 'domain': 'luther-ps.kunsmann.eu', 'php': True, 'extras': True, 'website_check_path': '/user/login', 'website_check_string': 'Username', }, }, }, 'php': { 'version': '7.4', 'packages': { 'curl', 'gd', 'json', 'mbstring', 'pgsql', 'xml', }, }, 'postgresql': { 'version': '11', 'users': { 'luther-ps': { # can't use password_for() here, application is unmanaged 'password': vault.decrypt('encrypt$gAAAAABfnSxJtRTeWRTO_ubSqpBbH8L-khPamKtSiUYbuMIoyJnoF_oSfUlMpTpQsmdDh61F3JQEH0xfYOkzkiCGZONRHyYdqkTjWV4Ku1Avdb0SL74VG6NihUJOpZlhOKnuniopCwuW'), }, }, 'databases': { 'luther-ps': { 'owner': 'luther-ps', }, }, }, 'zfs': { 'pools': { 'tank': { 'when_creating': { 'config': [{ 'devices': {'/dev/sdb'}, }], }, }, }, 'datasets': { 'tank/luther-website': { 'mountpoint': '/var/www/luther-ps', 'needed_by': { 'directory:/var/www/luther-ps', }, }, }, }, 'vm': { 'cpu': 1, 'ram': 2, }, }, }