66 lines
1.6 KiB
Python
66 lines
1.6 KiB
Python
defaults = {
|
|
'zfs': {
|
|
'datasets': {
|
|
'tank/element-web': {
|
|
'mountpoint': '/opt/element-web',
|
|
'needed_by': {
|
|
'directory:/opt/element-web',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
@metadata_reactor.provides(
|
|
'nodejs/version',
|
|
)
|
|
def nodejs(metadata):
|
|
version = tuple([int(i) for i in metadata.get('element-web/version')[1:].split('.')])
|
|
|
|
if version >= (1, 11, 71):
|
|
return {
|
|
'nodejs': {
|
|
'version': 20,
|
|
},
|
|
}
|
|
else:
|
|
return {
|
|
'nodejs': {
|
|
'version': 18,
|
|
},
|
|
}
|
|
|
|
|
|
@metadata_reactor.provides(
|
|
'nginx/vhosts/element-web',
|
|
)
|
|
def nginx_config(metadata):
|
|
return {
|
|
'nginx': {
|
|
'vhosts': {
|
|
'element-web': {
|
|
'domain': metadata.get('element-web/url'),
|
|
'webroot': '/opt/element-web/webapp/',
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
|
|
@metadata_reactor.provides(
|
|
'icinga2_api/element-web/services',
|
|
)
|
|
def icinga_check_for_new_release(metadata):
|
|
return {
|
|
'icinga2_api': {
|
|
'element-web': {
|
|
'services': {
|
|
'ELEMENT-WEB UPDATE': {
|
|
'command_on_monitored_host': '/usr/local/share/icinga/plugins/check_github_for_new_release vector-im/element-web {}'.format(metadata.get('element-web/version')),
|
|
'vars.notification.mail': True,
|
|
'check_interval': '60m',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|