nodes['htz.ex42-1048908'] = { 'bundles': [ 'jenkins-ci', 'matrix-synapse', 'mx-puppet-discord', 'nodejs', 'riot-web', 'postgresql', 'vmhost', 'voc-loudness-monitor', ], 'groups': { 'webserver', }, 'metadata': { 'apt': { 'packages': { # No need to create a bundle just to install packages, # configs will be managed by users nevertheless. Maybe # this will be a FIXME once we start managing backups # via bundlewrap. 'weechat': {}, 'weechat-core': {}, 'weechat-curses': {}, 'weechat-perl': {}, 'weechat-plugins': {}, 'weechat-python': {}, 'weechat-ruby': {}, }, 'unattended-upgrades': { 'origins': { 'site=weechat.org', # TODO move to bundles 'o=Rspamd,n=buster,l=Rspamd,c=main', 'site=apt.miniflux.app', 'o=grafana stable,a=stable,n=stable,l=grafana stable,c=main', }, 'reboot': False, }, 'repos': { 'buster-backports': { 'items': [ 'deb http://deb.debian.org/debian buster-backports main', ], }, }, }, 'letsencrypt': { 'concat_and_deploy': { 'kunsi-weechat': { 'match_domain': 'part.of.the.trans-agenda.eu', 'target': '/home/kunsi/.weechat/ssl/relay.pem', 'chown': 'kunsi:kunsi', 'chmod': '0440', 'commands': [ 'echo \'core.weechat */relay sslcertkey\' >> /home/kunsi/.weechat/weechat_fifo' ], }, }, 'domains': { 'matrix.franzi.business': { 'franzi.business', }, 'mx0.kunbox.net': set(), # TODO move to bundle 'part.of.the.trans-agenda.eu': set(), }, 'reload_after': { # TODO move to bundles 'dovecot', 'postfix', }, }, 'matrix-synapse': { 'server_name': 'franzi.business', 'baseurl': 'matrix.franzi.business', 'admin_contact': 'mailto:hostmaster@kunbox.net', 'appservice_configs': { # TODO move to bundles '/opt/matrix-bridges/mautrix-whatsapp/registration.yaml', '/opt/matrix-bridges/mautrix-telegram/registration.yaml', }, 'trusted_key_servers': { 'matrix.org', 'finallycoffee.eu', 'nyantec.com', }, }, 'mx-puppet-discord': { 'homeserver': { 'domain': 'franzi.business', 'url': 'https://matrix.franzi.business', }, 'allowed-users': { '@.*:franzi\\\\.business', }, }, 'nginx': { 'vhosts': { # TODO maybe some of this can be moved to a bundle? 'dav.kunsmann.eu': { 'extras': True, }, 'dimension.franzi.business': { 'extras': True, 'do_not_set_content_security_headers': True, 'proxy': { '/': 'http://127.0.0.1:8184', }, }, 'franzi.business': { 'webroot': '/var/www/franzi.business/_site/', 'extras': True, }, 'git.kunsmann.eu': { 'proxy': { '/': 'http://localhost:3000/', }, }, 'jenkins.kunsmann.eu': { 'proxy': { '/': 'http://localhost:9000/', }, }, 'kunbox.net': {}, 'kunsmann.eu': { 'extras': True, }, 'matrix.franzi.business': { 'extras': True, }, 'pad.franzi.business': { 'extras': True, }, 'paste.kunsmann.eu': { 'extras': True, }, 'postfixadmin.mx0.kunbox.net': { 'webroot': '/srv/postfixadmin/public/', 'index': 'index.php', 'php': True, # FIXME this assumes php 7.3 is installed and configured already }, 'rspamd.mx0.kunbox.net': { 'proxy': { '/': 'http://localhost:11334/', }, }, 'rss.kunsmann.eu': { 'proxy': { '/': 'http://localhost:8080/', }, }, 'stats.franzi.business': { 'proxy': { '/': 'http://[::1]:3100/', }, }, 'vliedel.random.franzi.business': {}, 'webmail.mx0.kunbox.net': { 'do_not_set_content_security_headers': True, 'index': 'index.php', 'php': True, }, }, }, 'riot-web': { 'url': 'chat.franzi.business', 'config': { 'default_server_name': 'franzi.business', 'brand': 'franzi.business', 'showLabsSettings': True, 'integrations_ui_url': 'https://dimension.franzi.business/riot', 'integrations_rest_url': 'https://dimension.franzi.business/api/v1/scalar', 'integrations_widgets_urls': ['https://dimension.franzi.business/widgets'], 'default_theme': 'dark', 'defaultCountryCode': 'DE', 'features': { 'feature_bridge_state': 'labs', 'feature_font_scaling': 'labs', 'feature_irc_ui': 'labs', 'feature_mjolnir': 'labs', 'feature_presence_in_room_list': 'labs', }, }, }, 'users': { 'feli': { 'ssh_pubkey': [ 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPTSLjSY/Be1XJ/klAwLiM1pKSvmbdcOgtgDB6nPcHkgX6JZu7g/Kejfuk4qIKL8GYYUQt7DlGY6n2u5rChWE/6KZJzXcUwS3pXk4LZ5KydWp7ihfvyRtUOBgKkRa1zQv+6KCH9WyR++ArwVTP8KSkrmDe6k7NWAjZqOuIJHG/AbEyTBapTJYjObZ0AM7wlwcB+oRM1BfZCP0Y+PIP2eGJS7Pyb32pITNKk3JuFXgAvbj5OeRrwtpZ9S+/7wIpaUVODPzrVmbC7vOXu/2KJ9aY2BmxUsxRbrvWMmWNiuE0YPt/7lUroK4pH3md3lWRcGUS/uYvhug7yG1yB81nyI15', ], }, 'kunsi': { 'groups': [ 'www-data', 'libvirt', ], }, 'vliedel': { 'ssh_pubkey': [ 'command="/usr/local/bin/rrsync /var/www/vliedel.random.franzi.business/",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVOBnzs/QDzhvg70VK6xaV318Euaag1cWNjAJfsA266618UiZVx4xsHzNwYN960v0MhiVPMwnl3NoGWAT9/j/b5l3HAkihv4rEPYQkoGV0Mvtwee37dT5nCL8o54Kl+rhl4WPD4Ju5+iZ3AP84YMUJXUrETpZLRzQD1pKOWLaGxBSJolICjz5A7glDVNmvI8uH58EkzhA7q4lCPhzFLxfvFfJPRuEHdVViL2usvHpRnIDRQOCjLYF2fIpG3ULrvWGl4VZ+9cZCNqSN6ywjlH8U8e5Vc3Fi4sbqYh71LrBqs/lSJ+5BL9/rB3GZD1SVTbivyEDJGJu3HPDV4ahwYYKn minecraft@irc', ], }, }, 'os': 'debian', 'os_release': 'buster', }, }