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/ansible-mosquitto