TransWikia.com

MQTT brokers that provide User Interface and REST APIs for User/Topic configuration and management

Internet of Things Asked by Shan-Desai on January 22, 2021

Mosquitto MQTT

Some known facts whilst working with mosquitto:

  • mosquitto is a Command-Line Interface based broker.
  • Broker configuration is possible using mosquitto.conf file
  • User Management is possible via a password-file and mosquitto_passwd CLI
  • Every change either requires the Broker to be restarted (either using systemd or system) or the docker container needs to restarted OR using SIGUP on the Process of Mosquitto

Drawback

  • If the Broker is deployed on cloud infrastructure, the administrator has to update the broker everytime and leading to downtimes (although small time intervals)
  • If a User Interface is developed for the mosquitto broker, it would required the UI to access shell access which may require root access to perform broker restarts or calling the kill -SIGHUP $pid_mosquitto commands as well as other CLIs (dependent on the way the broker is installed)

Requirements

  • Is there a broker out there that lets users manage the broker’s topic + user management plane either via RESTful APIs or via an UI?
  • This is critical since it might be easier to handle the broker via such interfaces which mosquitto unfortunately does not provide

One Answer

As @Aurora001 pointed out in the comments the solution to this is to use the mosquitto-auth-plugin (or write your own plugin using the mosquitto plugin API). While the original plugin has been archived there are active forks being worked on.

Extending the existing mosquitto docker container to build the plugin is not hard.

Many different brokers offer database backends to the Authentication/Authorisation systems, how you choose to update the database it up to you.

Answered by hardillb on January 22, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP