defaults = {
    'apt': {
        'packages': {
            'libolm-dev': {},
        },
    },
    'icinga2_api': {
        'mautrix-whatsapp': {
            'services': {
                'MAUTRIX-WHATSAPP PROCESS': {
                    'command_on_monitored_host': '/usr/lib/nagios/plugins/check_procs -a mautrix-whatsapp -c 1:',
                },
            },
        },
    },
    'matrix-synapse': {
        'appservice_configs': {
            '/opt/mautrix-whatsapp/registration.yaml',
        },
    },
    'mautrix-whatsapp': {
        'database': {
            'user': 'mautrix-whatsapp',
            'password': repo.vault.password_for('{} postgresql mautrix-whatsapp'.format(node.name)),
            'database': 'mautrix-whatsapp',
        },
        'as_token': repo.vault.password_for('{} mautrix-whatsapp as_token'.format(node.name)),
        'hs_token': repo.vault.password_for('{} mautrix-whatsapp hs_token'.format(node.name)),
        'sender_localpart': repo.vault.password_for('{} mautrix-whatsapp sender_localpart'.format(node.name)),
        'provisioning': {
            'enabled': False,
        },
    },
    'postgresql': {
        'roles': {
            'mautrix-whatsapp': {
                'password': repo.vault.password_for('{} postgresql mautrix-whatsapp'.format(node.name)),
            },
        },
        'databases': {
            'mautrix-whatsapp': {
                'owner': 'mautrix-whatsapp',
            },
        },
    },
    'zfs': {
        'datasets': {
            'tank/mautrix-whatsapp': {
                'mountpoint': '/opt/mautrix-whatsapp',
                'needed_by': {
                    'directory:/opt/mautrix-whatsapp',
                },
            },
        },
    },
}


@metadata_reactor.provides(
    'icinga2_api/mautrix-whatsapp/services',
)
def icinga_check_for_new_release(metadata):
    return {
        'icinga2_api': {
            'mautrix-whatsapp': {
                'services': {
                    'MAUTRIX-WHATSAPP UPDATE': {
                        'command_on_monitored_host': '/usr/local/share/icinga/plugins/check_github_for_new_release mautrix/whatsapp {}'.format(metadata.get('mautrix-whatsapp/version')),
                        'vars.notification.mail': True,
                        'check_interval': '60m',
                    },
                },
            },
        },
    }
