1

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
  • 1
    Just want to check if you considered point 2 in the answer you linked of using mosquitto-auth-plugin? Would that help somewhat or are there other configuration options that need to be changed as well? – Aurora0001 Jul 20 at 10:05
1

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.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.