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


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