bundlewrap/bundles/mautrix-whatsapp/metadata.py

78 lines
2.4 KiB
Python

defaults = {
'apt': {
'packages': {
'libolm-dev': {},
},
},
'cron': {
'restart_mautrix_whatsapp': '0 3 * * * root systemctl restart mautrix-whatsapp.service',
},
'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',
},
},
},
},
}