triplepoint.mosquitto
Intro
Install and configure the Mosquitto MQTT broker.
Requirements
While there's no explicit dependency roles, the target machine should be able to act as a Docker host. The geerlingguy.docker Ansible role is a suitable solution.
In addition, you'll potentially need some solution for deploying and maintaining SSL certificates, which we're considering outside the scope of this role.
Finally, this role will create a user and group named mosquitto on the host, with gid and uid 1883. This user/group will own all the directories and files that are shared into the service container. This is hardcoded in the Eclipse Docker images, so there's not a lot of flexiblity available.
Role Variables
See the comment in the default variables file for information on configuration.
Dependencies
None.
Example Playbook
- hosts: whatever
roles:
- triplepoint.mosquitto
Role Testing
This role is tested with molecule, using pipenv to handle dependencies and the Python testing environment.
Setting Up Your Execution Environment
pip install pipenv
Once you have pipenv installed, you can build the execution virtualenv with:
pipenv install --dev
Running Tests
Once you have your environment configured, you can execute molecule with:
pipenv run molecule test
Regenerating the Lock File
You shouldn't have to do this very often, but if you change the Python package requirements using pipenv install {some_package} commands or by editing the Pipfile directly, or if you find the build dependencies have fallen out of date, you might need to regenerate the Pipfile.lock.
pipenv update --dev
Be sure and check in the regenerated Pipfile.lock when this process is complete.
License
MIT
ansible-galaxy install triplepoint.mosquitto