60 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			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'
 | |
|         ],
 | |
|     },
 | |
| }
 | 
