1
0
mirror of https://github.com/minio/minio.git synced 2025-04-09 06:00:12 -04:00

20 Commits

Author SHA1 Message Date
splinter98
8293f546af Add support for MQTT server as a notification target ()
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.
2017-06-14 17:27:49 -07:00
Frank Wessels
7dcc1e92b4 Prevent unnecessary (superfluous) initialization of return variable () 2017-06-08 00:24:46 +00:00
Krishna Srinivas
5db1e9f3dd signature: use region from Auth header if server's region not configured () 2017-05-15 18:17:02 -07:00
Bala FA
de204a0a52 Add extensive endpoints validation () 2017-04-11 15:44:27 -07:00
Krishnan Parthasarathi
13c4ce3617 Add notification for object access via GET/HEAD ()
The following notification event types are available for all targets,
      s3:ObjectAccessed:Get
      s3:ObjectAccessed:Head
      s3:ObjectAccessed:*
2017-03-21 10:32:17 -07:00
Aditya Manthramurthy
2463ae243a Add support for MySQL notifications (fixes ) ()
As a new configuration parameter is added, configuration version is
bumped up from 14 to 15.

The MySQL target's behaviour is identical to the PostgreSQL: rows are
deleted from the MySQL table on delete-object events, and are
created/updated on create/over-write events.
2017-03-17 09:29:17 -07:00
Harshavardhana
50b4e54a75 fs: Do not return reservedBucket names in ListBuckets() ()
Make sure to skip reserved bucket names in `ListBuckets()`
current code didn't skip this properly and also generalize
this behavior for both XL and FS.
2017-02-16 14:52:14 -08:00
Harshavardhana
1b4bb94ac4 config: setter/getter for Notifier and Logger into its own struct. ()
This is an attempt cleanup code and keep the top level config
functions simpler and easy to understand where as move the
notifier related code and logger setter/getter methods as part
of their own struct.

Locks are now held properly not globally by configMutex, but
instead as private variables.

Final fix for 
2017-02-09 15:20:54 -08:00
Alex
d6a327fbc5 Add notifications by webhook.
Add a new config entry moving to version 13.
```
		"webhook": {
			"1": {
				"enable": true,
				"address": "http://requestb.in/1i9al7m1"
			}
		}
```
2017-01-12 10:19:59 -08:00
Aditya Manthramurthy
8e6e9301ce Add support for Kafka as a notifications target () () 2016-12-15 08:23:48 -08:00
Harshavardhana
ece559afe2 api: Do not use sqs for ListenBucketNotification. ()
Add more tests. Fixes 
2016-10-21 01:25:17 -07:00
Krishna Srinivas
32c3a558e9 distributed-XL: Support to run one minio process per export even on the same machine. ()
fixes 
2016-10-20 18:31:02 -07:00
Aditya Manthramurthy
6199aa0707 Peer RPCs for bucket notifications ()
* Implements a Peer RPC router that sends info to all Minio servers in the cluster.
* Bucket notifications are propagated to all nodes via this RPC router.
* Bucket listener configuration is persisted to separate object layer
  file (`listener.json`) and peer RPCs are used to communicate changes
  throughout the cluster.
* When events are generated, RPC calls to send them to other servers
  where bucket listeners may be connected is implemented.
* Some bucket notification tests are now disabled as they cannot work in
  the new design.
* Minor fix in `funcFromPC` to use `path.Join`
2016-10-12 01:03:50 -07:00
Harshavardhana
6494b77d41 server: Add more elaborate startup messages. ()
These messages based on our prep stage during XL
and prints more informative message regarding
drive information.

This change also does a much needed refactoring.
2016-10-05 12:48:07 -07:00
Aditya Manthramurthy
315e66858c Add PostgreSQL notifier () ()
* The user is required to specify a table name and database connection
  information in the configuration file.

* INSERTs and DELETEs are done via prepared statements for speed.

* Assumes a table structure, and requires PostgreSQL 9.5 or above due to
  the use of UPSERT.

* Creates the table if it does not exist with the given table name using
  a query like:

    CREATE TABLE myminio (
        key varchar PRIMARY KEY,
        value JSONB
    );

* Vendors some required libraries.
2016-10-03 17:29:55 -07:00
Anis Elleuch
1e6afac3bd Add NATS notifier () 2016-09-29 23:42:10 -07:00
Harshavardhana
490056eee3 tests: Add tests for bucket-notification-utils ()
Part fix - 1 for 
2016-09-16 17:26:27 -07:00
Harshavardhana
780ccc26f7 server: Validate server arguments for duplicates. ()
- Validates invalid format inputs.
- Validates duplicate entries.
- Validates sufficient amount of disks.

Partially fixes 
2016-09-13 21:18:30 -07:00
Harshavardhana
ec4260d260 api: BucketNotification should disallow duplicate notification. ()
Added checks to look for duplicated notification configs.

Fixes 
2016-08-23 18:42:30 -07:00
Harshavardhana
bccf549463 server: Move all the top level files into cmd folder. ()
This change brings a change which was done for the 'mc'
package to allow for clean repo and have a cleaner
github drop in experience.
2016-08-18 16:23:42 -07:00