Add mosquitto role and add playbook to deploy MQTT broker on automation.z9
This commit is contained in:
		
					parent
					
						
							
								59dc7a1d7d
							
						
					
				
			
			
				commit
				
					
						7a93546616
					
				
			
		
					 8 changed files with 101 additions and 0 deletions
				
			
		
							
								
								
									
										4
									
								
								inventories/thinkcccentre/host_vars/automation.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								inventories/thinkcccentre/host_vars/automation.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | ||||||
|  | mosquitto__mosquitto_conf_content: "{{ lookup('ansible.builtin.file', 'configs/automation/mosquitto/mosquitto.conf') }}" | ||||||
|  | mosquitto__configs: | ||||||
|  |   - name: winkekatz | ||||||
|  |     content: "{{ lookup('ansible.builtin.file', 'configs/automation/mosquitto/winkekatz.conf') }}" | ||||||
							
								
								
									
										6
									
								
								playbooks/deploy_automation.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								playbooks/deploy_automation.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | ||||||
|  | --- | ||||||
|  | - name: Deploy mosquitto MQTT broker on automation.z9 | ||||||
|  |   become: true | ||||||
|  |   hosts: automation | ||||||
|  |   roles: | ||||||
|  |     - mosquitto | ||||||
							
								
								
									
										16
									
								
								playbooks/files/configs/automation/mosquitto/mosquitto.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								playbooks/files/configs/automation/mosquitto/mosquitto.conf
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | ||||||
|  | # Place your local configuration in /etc/mosquitto/conf.d/ | ||||||
|  | # | ||||||
|  | # A full description of the configuration file is at | ||||||
|  | # /usr/share/doc/mosquitto/examples/mosquitto.conf.example | ||||||
|  | 
 | ||||||
|  | per_listener_settings false | ||||||
|  | listener 1883  | ||||||
|  | allow_anonymous true | ||||||
|  | pid_file /run/mosquitto/mosquitto.pid | ||||||
|  | 
 | ||||||
|  | persistence true | ||||||
|  | persistence_location /var/lib/mosquitto/ | ||||||
|  | 
 | ||||||
|  | log_dest file /var/log/mosquitto/mosquitto.log | ||||||
|  | 
 | ||||||
|  | include_dir /etc/mosquitto/conf.d | ||||||
							
								
								
									
										10
									
								
								playbooks/files/configs/automation/mosquitto/winkekatz.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								playbooks/files/configs/automation/mosquitto/winkekatz.conf
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | ||||||
|  | connection winkekatz | ||||||
|  | address mqtt.winkekatze24.de | ||||||
|  | topic winkekatze/# both  | ||||||
|  | bridge_protocol_version mqttv311 | ||||||
|  | 
 | ||||||
|  | topic "" in 2 devices/katz9/eyecolor/eyecolor/set jimmykater/eye/set | ||||||
|  | topic "" in 2 devices/katz9/command/wink/set winkekatze/allcats | ||||||
|  | topic "" out 2 devices/katz9/command/status katz9/status | ||||||
|  | topic "" out 2 devices/katz9/$online katz9/connected | ||||||
|  | topic "" in 2 devices/katz9/command/wink/set katz9/command | ||||||
							
								
								
									
										5
									
								
								playbooks/roles/mosquitto/handlers/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								playbooks/roles/mosquitto/handlers/main.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | ||||||
|  | --- | ||||||
|  | - name: Restart mosquitto | ||||||
|  |   ansible.builtin.systemd: | ||||||
|  |     service: mosquitto.service | ||||||
|  |     state: restarted | ||||||
							
								
								
									
										26
									
								
								playbooks/roles/mosquitto/meta/argument_specs.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								playbooks/roles/mosquitto/meta/argument_specs.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | ||||||
|  | --- | ||||||
|  | argument_specs: | ||||||
|  |   main: | ||||||
|  |     options: | ||||||
|  |       mosquitto__mosquitto_conf_content: | ||||||
|  |         description: The content of the main mosquitto configuration file. | ||||||
|  |         type: str | ||||||
|  |         required: true | ||||||
|  |       mosquitto__configs: | ||||||
|  |         description: A list of additional mosquitto configurations. | ||||||
|  |         type: list | ||||||
|  |         elements: dict | ||||||
|  |         required: false | ||||||
|  |         options: | ||||||
|  |           name: | ||||||
|  |             description: >- | ||||||
|  |               The name of the configuration file, where the configuration should | ||||||
|  |               be deployed to. The file will be placed under `/etc/mosquitto/conf.d` and | ||||||
|  |               `.conf` will be appended to the given name. So in the end the path | ||||||
|  |               will be like this: `/etc/mosquitto/conf.d/\{\ name \}\}.conf`. | ||||||
|  |             type: str | ||||||
|  |             required: true | ||||||
|  |           content: | ||||||
|  |             description: The content of the configuration. | ||||||
|  |             type: str | ||||||
|  |             required: true | ||||||
							
								
								
									
										8
									
								
								playbooks/roles/mosquitto/meta/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								playbooks/roles/mosquitto/meta/main.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | ||||||
|  | --- | ||||||
|  | dependencies: | ||||||
|  |   - role: distribution_check | ||||||
|  |     vars: | ||||||
|  |       distribution_check__supported_distributions: | ||||||
|  |         - name: Debian | ||||||
|  |           versions: | ||||||
|  |             - "11" | ||||||
							
								
								
									
										26
									
								
								playbooks/roles/mosquitto/tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								playbooks/roles/mosquitto/tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | ||||||
|  | --- | ||||||
|  | - name: Ensure mosquitto is installed | ||||||
|  |   ansible.builtin.apt: | ||||||
|  |     name: mosquitto | ||||||
|  | - name: Ensure main configuraton file is deployed | ||||||
|  |   ansible.builtin.copy: | ||||||
|  |     content: "{{ mosquitto__mosquitto_conf_content }}" | ||||||
|  |     dest: /etc/mosquitto/mosquitto.conf | ||||||
|  |     mode: 0644 | ||||||
|  |     owner: root | ||||||
|  |     group: root | ||||||
|  |   notify: Restart mosquitto | ||||||
|  | - name: Ensure all additional configuraton files are deployed | ||||||
|  |   ansible.builtin.copy: | ||||||
|  |     content: "{{ item.content }}" | ||||||
|  |     dest: /etc/mosquitto/conf.d/{{ item.name }}.conf | ||||||
|  |     mode: 0644 | ||||||
|  |     owner: root | ||||||
|  |     group: root | ||||||
|  |   loop: "{{ mosquitto__configs }}" | ||||||
|  |   notify: Restart mosquitto | ||||||
|  | - name: Ensure mosquitto service is enabled and started | ||||||
|  |   ansible.builtin.systemd: | ||||||
|  |     service: mosquitto.service | ||||||
|  |     enabled: true | ||||||
|  |     state: started | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue