bundlewrap/bundles/mosquitto/items.py
2021-11-02 23:22:24 +01:00

60 lines
1.4 KiB
Python

directories = {
'/etc/mosquitto': {},
'/etc/mosquitto/conf.d': {
'purge': True,
},
}
files = {
'/etc/mosquitto/conf.d/managed.conf': {
'content_type': 'mako',
'context': {
'hostname': node.metadata.get('mosquitto/hostname'),
},
'needs': [
'pkg_apt:mosquitto',
],
'needed_by': [
'svc_systemd:mosquitto'
],
'triggers': [
'svc_systemd:mosquitto:restart'
],
},
'/etc/mosquitto/password_file': {
'content': '\n'.join(
conf['password_file'] for conf in node.metadata.get('mosquitto/users').values()
) + '\n',
'needs': [
'pkg_apt:mosquitto',
],
'needed_by': [
'svc_systemd:mosquitto'
],
'triggers': [
'svc_systemd:mosquitto:restart'
],
},
}
svc_systemd = {
'mosquitto': {
'needs': [
'pkg_apt:mosquitto',
'action:moquitto-generate-dhparam',
],
},
}
actions = {
'moquitto-generate-dhparam': {
'command': 'openssl dhparam -out /etc/mosquitto/dhparam.pem 2048',
'unless': 'test -f /etc/mosquitto/dhparam.pem',
'needs': [
'pkg_apt:mosquitto',
],
'triggers': [
'svc_systemd:mosquitto:restart'
],
},
}