Add support for MQTT server as a notification target (#4474)

This implementation is similar to AMQP notifications:

* Notifications are published on a single topic as a JSON feed
* Topic is configurable, as is the QoS. Uses the paho.mqtt.golang
  library for the mqtt connection, and supports connections over tcp
  and websockets, with optional secure tls support.
* Additionally the minio server configuration has been bumped up
  so mqtt configuration can be added.
* Configuration migration code is added with tests.

MQTT is an ISO standard M2M/IoT messaging protocol and was
originally designed for applications for limited bandwidth
networks. Today it's use is growing in the IoT space.
This commit is contained in:
splinter98
2017-06-15 01:27:03 +01:00
committed by Harshavardhana
parent af8071c86a
commit 8293f546af
60 changed files with 5916 additions and 32 deletions

18
vendor/vendor.json vendored
View File

@@ -58,6 +58,18 @@
"revision": "44cc805cf13205b55f69e14bcb69867d1ae92f98",
"revisionTime": "2016-08-05T00:47:13Z"
},
{
"checksumSHA1": "LHwm1G0lFyQ3X0iHZ/MOYnAtjd4=",
"path": "github.com/eclipse/paho.mqtt.golang",
"revision": "d06cc70ac43d625e602946b5ff2346ddebb768e4",
"revisionTime": "2017-06-02T16:30:32Z"
},
{
"checksumSHA1": "g2AaO9VMaxzFQZkrCfxBUV3yAyM=",
"path": "github.com/eclipse/paho.mqtt.golang/packets",
"revision": "d06cc70ac43d625e602946b5ff2346ddebb768e4",
"revisionTime": "2017-06-02T16:30:32Z"
},
{
"path": "github.com/elazarl/go-bindata-assetfs",
"revision": "57eb5e1fc594ad4b0b1dbea7b286d299e0cb43c2",
@@ -377,6 +389,12 @@
"revision": "f2499483f923065a842d38eb4c7f1927e6fc6e6d",
"revisionTime": "2017-01-14T04:22:49Z"
},
{
"checksumSHA1": "7EZyXN0EmZLgGxZxK01IJua4c8o=",
"path": "golang.org/x/net/websocket",
"revision": "e4fa1c5465ad6111f206fc92186b8c83d64adbe1",
"revisionTime": "2017-06-02T19:04:32Z"
},
{
"checksumSHA1": "ZVZBntvdoK/qUq/6uF8YMWmuMC4=",
"path": "golang.org/x/sys/unix",