ejabberd user management and acl file generator

Description

Ejabberd authentication and permissions are handled on different ways

Authentication

Users are managed by an easy to use REST API.
The sample configuration does allow register, unregister and list users functions to the user maschinenraum@localhost

See: https://git.cccv.de/hub/mqtt#api for more details

A user by itself can connect to the mqtt server

Permissions

The permissions on mqtt (publish/subscribe on specific topics) are configured in a file.
The sample file (https://git.cccv.de/hub/mqtt/-/blob/main/ejabberd/cfg/acl.yml) tries to describe how the permissions are done.

The ejabberd configuration does provide deeper information https://docs.ejabberd.im/admin/guide/mqtt/#access-control

After the file was updated you must notify the API about the change https://docs.ejabberd.im/developer/ejabberd-api/admin-api/#reload-config