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

About

The Mosquitto MQTT broker

Install
ansible-galaxy install triplepoint/ansible-mosquitto
GitHub repository
License
mit
Downloads
243