collectd: Support config of mqtt plugin
authorAlexandros Kosiaris <akosiaris@gmail.com>
Tue, 14 Mar 2023 08:38:52 +0000 (10:38 +0200)
committerFlorian Eckert <fe@dev.tdt.de>
Mon, 7 Aug 2023 11:47:48 +0000 (13:47 +0200)
commited5ccb6867fcb23dce287b60e009f25d4f925e07
tree279f76c17618369e314594a17b009f3f25e67347
parente4c4fdd37060adcb43c5a6522dd89dab59162185
collectd: Support config of mqtt plugin

mqtt plugin is already built and shipped in
collectd-mod-mqtt, however it is not possible to configure it via
uci currently, instead having to rely on populating the config file manually.

Add support by adding 2 functions, process_mqtt() and
process_mqtt_block(). First one just enables/disables the plugin.
The second one, in the spirit of the curl plugin, adds support for
populating multiple <Publish> and <Subscribe> blocks under <Plugin mqtt>
with support for some parameters. Those are:

* blocktype. Publish or Subscribe. Mandatory
* name. The name of the block. Mandatory
* Host. Mandatory
* Port. Optional
* User. Optional
* Password. Optional
* ClientId. Optional
* QoS. Optional
* Prefix. Optional
* Retain. Optional
* StoreRates. Optional
* CleanSession. Optional
* Topic. Optional

Bump PKG_RELEASE per comments in PR

Signed-off-by: Alexandros Kosiaris <akosiaris@gmail.com>
(cherry picked from commit 530ccbc90daea6ad3cd24b3c2a7474005f8e6997)
utils/collectd/Makefile
utils/collectd/files/collectd.init
utils/collectd/files/collectd.uci
utils/collectd/files/usr/share/collectd/plugin/mqtt.json [new file with mode: 0644]