defaults = {
    'apt': {
        'packages': {
            'gcc': {}, # for compiling some python deps
            'gettext': {},
            'python3-dev': {},
        },
    },
    'bash_aliases': {
        'pretalx': 'sudo /opt/pretalx/venv/bin/python -m pretalx',
    },
    'backups': {
        'paths': {
            '/opt/pretalx/data',
        },
    },
    'icinga2_api': {
        'pretalx': {
            'services': {
                'PRETALX-WEB PROCESS': {
                    'command_on_monitored_host': '/usr/local/share/icinga/plugins/check_systemd_unit pretalx-web',
                },
                'PRETALX-WORKER PROCESS': {
                    'command_on_monitored_host': '/usr/local/share/icinga/plugins/check_systemd_unit pretalx-worker',
                },
            },
        },
    },
    'pretalx': {
        'database': {
            'user': 'pretalx',
            'password': repo.vault.password_for('{} postgresql pretalx'.format(node.name)),
            'database': 'pretalx',
        },
    },
    'postgresql': {
        'roles': {
            'pretalx': {
                'password': repo.vault.password_for('{} postgresql pretalx'.format(node.name)),
            },
        },
        'databases': {
            'pretalx': {
                'owner': 'pretalx',
            },
        },
    },
}


@metadata_reactor.provides(
    'icinga2_api/pretalx/services',
)
def icinga_check_for_new_release(metadata):
    version = metadata.get('pretalx/version')
    if '.' not in version:
        return {}
    return {
        'icinga2_api': {
            'pretalx': {
                'services': {
                    'PRETALX UPDATE': {
                        'command_on_monitored_host': '/usr/local/share/icinga/plugins/check_pypi_for_new_release pretalx {}'.format(version),
                        'vars.notification.mail': True,
                        'check_interval': '60m',
                    },
                },
            },
        },
    }
