Harshavardhana
064c51162d
api: Add new ListenBucketNotificationHandler. ( #2336 )
...
This API is precursor before implementing `minio lambda` and `mc` continous replication.
This new api is an extention to BucketNofication APIs.
// Request
```
GET /bucket?notificationARN=arn:minio:lambda:us-east-1:10:minio HTTP/1.1
...
...
```
// Response
```
{"Records": ...}
...
...
...
{"Records": ...}
```
2016-08-04 22:01:58 -07:00
Anis Elleuch
cc0d5b6fe0
webapi: ServerInfo returns the list variables/values in the environnment of the Minio server ( #2351 )
2016-08-03 13:47:03 -07:00
Harshavardhana
65f71ce0c5
browser: Object upload should save metadata and notify. ( #2309 )
...
Object upload from browser should save additional
incoming metadata. Additionally should also notify
through bucket notifications once they are set.
Fixes #2292
2016-07-27 21:11:15 -07:00
Harshavardhana
35d438e0ff
vendorize: update all vendorized packages. ( #2206 )
...
Bring in new changes from upstream for all the packages.
Important ones include
- gorilla/mux
- logrus
- jwt
2016-07-14 14:59:20 -07:00
Bala FA
749a94f6c9
tests: Add tests for signature-jwt code ( #2169 )
...
Fixes #1989
2016-07-11 21:57:40 -07:00
Harshavardhana
8a028a9efb
handler/PUT: Handle signature verification through a custom reader. ( #2066 )
...
Change brings in a new signVerifyReader which provides a io.Reader
compatible reader, additionally implements Verify() function.
Verify() function validates the signature present in the incoming
request. This approach is choosen to avoid complexities involved
in using io.Pipe().
Thanks to Krishna for his inputs on this.
Fixes #2058
Fixes #2054
Fixes #2087
2016-07-05 01:04:50 -07:00
Harshavardhana
feb337098d
XL: bring in new storage API. ( #1780 )
...
Fixes #1771
2016-05-28 16:12:51 -07:00
Harshavardhana
34e9ad24aa
XL: Introduce new API StorageInfo. ( #1770 )
...
This is necessary for calculating the total storage
capacity from object layer. This value is also needed for
browser UI.
Buckets used to carry this information, this patch
deprecates this feature.
2016-05-28 15:15:53 -07:00
Harshavardhana
76c511c9fe
api: Extend S3 errors with Minio errors. ( #1533 )
...
Fixes #1530
2016-05-08 12:36:16 -07:00
Harshavardhana
17868ccd7f
handlers: overhaul entire writErrorResponse, simplify. ( #1472 )
2016-05-05 20:24:29 -07:00
Harshavardhana
4e34e03dd4
xl/fs: Split object layer into interface. ( #1415 )
2016-04-29 14:24:10 -07:00
Harshavardhana
91588209fa
obj: Object api handle all errors in common location. ( #1343 )
2016-04-25 12:47:31 -07:00
Harshavardhana
4cf73caf02
api: Add diskInfo as part of StatVol and ListVols. ( #1349 )
...
It is the bucket and volumes which needs to have this
value rather than the DiskInfo API itself. Eventually
this can be extended to show disk usage per
Buckets/Volumes whenever we have that functionality.
For now since buckets/volumes are thinly provisioned
this is the right approach.
2016-04-21 20:07:47 -07:00
Harshavardhana
e0f8fed011
object: handle Error responses and handle errDiskFull. ( #1331 )
2016-04-19 02:42:10 -07:00
Harshavardhana
30b0b4deba
storage/server/client: Enable storage server, enable client storage.
2016-04-16 16:25:53 -07:00
Krishna Srinivas
3c48537f20
refactor: refactor code to separate fs into object-layer and fs layer. ( #1305 )
2016-04-16 16:25:53 -07:00
Harshavardhana
fbd02d530d
web: Change /rpc to /webrpc
2016-04-08 01:46:46 -07:00
Harshavardhana
0479d4976b
objectAPI: Fix object API interface, remove unnecessary structs.
...
ObjectAPI changes.
```
ListObjects(bucket, prefix, marker, delimiter string, maxKeys int) (ListObjectsInfo, *probe.Error)
ListMultipartUploads(bucket, objectPrefix, keyMarker, uploadIDMarker, delimiter string, maxUploads int) (ListMultipartsInfo, *probe.Error)
ListObjectParts(bucket, object, uploadID string, partNumberMarker, maxParts int) (ListPartsInfo, *probe.Error)
CompleteMultipartUpload(bucket string, object string, uploadID string, parts []completePart) (ObjectInfo, *probe.Error)
```
2016-04-03 15:25:01 -07:00
Harshavardhana
efc80343e3
fs: Break fs package to top-level and introduce ObjectAPI interface.
...
ObjectAPI interface brings in changes needed for XL ObjectAPI layer.
The new interface for any ObjectAPI layer is as below
```
// ObjectAPI interface.
type ObjectAPI interface {
// Bucket resource API.
DeleteBucket(bucket string) *probe.Error
ListBuckets() ([]BucketInfo, *probe.Error)
MakeBucket(bucket string) *probe.Error
GetBucketInfo(bucket string) (BucketInfo, *probe.Error)
// Bucket query API.
ListObjects(bucket, prefix, marker, delimiter string, maxKeys int) (ListObjectsResult, *probe.Error)
ListMultipartUploads(bucket string, resources BucketMultipartResourcesMetadata) (BucketMultipartResourcesMetadata, *probe.Error)
// Object resource API.
GetObject(bucket, object string, startOffset int64) (io.ReadCloser, *probe.Error)
GetObjectInfo(bucket, object string) (ObjectInfo, *probe.Error)
PutObject(bucket string, object string, size int64, data io.Reader, metadata map[string]string) (ObjectInfo, *probe.Error)
DeleteObject(bucket, object string) *probe.Error
// Object query API.
NewMultipartUpload(bucket, object string) (string, *probe.Error)
PutObjectPart(bucket, object, uploadID string, partID int, size int64, data io.Reader, md5Hex string) (string, *probe.Error)
ListObjectParts(bucket, object string, resources ObjectResourcesMetadata) (ObjectResourcesMetadata, *probe.Error)
CompleteMultipartUpload(bucket string, object string, uploadID string, parts []CompletePart) (ObjectInfo, *probe.Error)
AbortMultipartUpload(bucket, object, uploadID string) *probe.Error
}
```
2016-04-01 15:58:39 -07:00
Krishna Srinivas
e318925f62
credentials: min/max length check for credentials.
2016-04-01 21:52:39 +05:30
Krishna Srinivas
331890c4c8
UI-handler: remove minio-go dependancy.
2016-04-01 13:56:32 +05:30
Krishna Srinivas
5201905ad0
UI: implement SetAuth/GenerateAuth handlers for changing credentials.
2016-03-29 21:08:36 +05:30
Harshavardhana
aa8c9bad54
routers: Move API and Web routers into their own files.
...
This is done to ensure we have a clean way to add new routers such as
- diskRouter
- configRouter
- lockRouter
2016-03-27 13:28:36 -07:00
Harshavardhana
aaf97ea02c
config/main: Re-write config files - add to new config v3
...
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-03-23 19:16:09 -07:00
Krishna Srinivas
af7170675d
caching: disable caching of index.html and enable caching for other UI asset files.
2016-02-27 12:22:26 +05:30
Harshavardhana
2181003609
web: Removing dependency for gpg and downloading assets.
...
Assets are vendorized from now on and updated for each release.
2016-02-23 13:32:12 -08:00
Harshavardhana
5da1972d1f
router: Fix "/minio" router for web.
2016-02-21 22:59:01 -08:00
Harshavardhana
91a7b13529
web: Handle private bucket match from prefix to exact match.
...
Filter out 'privateBucket' if any from listBuckets output.
2016-02-20 02:22:56 -08:00
Harshavardhana
4db136c19c
web: Add targetProto for putObjectURL,getObjectURL SSL requests.
...
Currently the default request was based on the 'minio server'
SSL configuration. But inside a proxy this is invalid browser
needs to send which protocol it wishes the PresignedURL
should be generated for.
2016-02-20 01:59:18 -08:00
Harshavardhana
d4c91426a7
web: PresignedGet/Put targetHost should always have a valid value.
...
PresignedURLs should always be generated for the targetHost, so that
we can avoid signature issues.
2016-02-19 15:31:38 -08:00
Harshavardhana
91a092792a
presigned: Fix a bug in presigned request verification.
...
Additionally add Docker proxy configuration.
2016-02-18 02:23:12 -08:00
Harshavardhana
5a9333a67b
signature: Rewrite signature handling and move it into a library.
2016-02-16 17:28:16 -08:00
Krishna Srinivas
56ffe79f25
jsonrpc: return json2.Error from the json-rpc layer to the client
2016-02-12 20:30:02 -08:00
Harshavardhana
f98675660b
Merge pull request #1119 from harshavardhana/minio
...
xl: Moved to minio/minio
2016-02-11 15:54:02 -08:00
Harshavardhana
62f6ffb6db
xl: Moved to minio/minio - fixes #1112
2016-02-11 15:43:36 -08:00
Harshavardhana
f0e2edd632
Merge pull request #1120 from krishnasrinivas/version-check
...
UI: implement rpc call to return UI version
2016-02-11 11:07:57 -08:00
Krishna Srinivas
5e32dec4fb
UI: implement rpc call to return UI version
2016-02-12 00:26:27 +05:30
Krishna Srinivas
318265ecaf
jsonrpc: WrapError() makes jsonrpc return unnecessary details in the error message.
2016-02-10 21:22:37 +05:30
Krishna Srinivas
bf6078df13
webrpc: Implement GetUIVersion json-rpc API.
2016-02-09 18:09:32 +05:30
Harshavardhana
99fbc0fcb3
getObject: Add support for special response headers.
...
Supports now response-content-type, response-content-disposition,
response-cache-control, response-expires.
2016-02-07 03:55:16 -08:00
Krishna Srinivas
3a8fff46f9
JSONrpc: implement removeObject RPC call
2016-02-05 19:46:36 +05:30
Harshavardhana
e63a982dee
api: Implement About API.
2016-02-03 22:46:45 -08:00
Harshavardhana
64b7da4686
web: GetObjectURL should check if file exists before generating URL.
...
Fixes - https://github.com/minio/miniobrowser/issues/20
2016-02-03 00:00:36 -08:00
Harshavardhana
b3bde61396
web: ListObjects is delimited, do not send a stat on prefix.
2016-02-01 12:47:46 -08:00
Harshavardhana
0aedb67de0
contentType: Reply back proper contentTypes based on the file extension.
...
Currently the server would set 'application/octet-stream' for all
objects, set this value based on the file extension transparently.
This is useful in case of minio browser to facilitate displaying
proper icons for the different mime data types.
2016-02-01 12:19:58 -08:00
Harshavardhana
db387912f2
jwt: Deprecate RSA usage, use HMAC instead.
...
HMAC is a much simpler implementation, providing the same
benefits as RSA, avoids additional steps and keeps the code
simpler.
This patch also additionally
- Implements PutObjectURL API.
- GetObjectURL, PutObjectURL take TargetHost as another
argument for generating URL's for proper target destination.
- Adds experimental TLS support for JSON RPC calls.
2016-01-27 03:38:33 -08:00
Harshavardhana
13feabefd5
diskInfo: Add DiskInfo API
2016-01-26 12:08:45 -08:00
Harshavardhana
ae2f15c6d0
api: More cleanups at WebAPI.
...
- Fixes a bug where bucketName was not denormalized.
- Remove unneeded functions from jwt.go
2016-01-25 17:30:08 -08:00
Harshavardhana
432a073e6b
Add MakeBucket API.
2016-01-24 22:45:22 -08:00
Harshavardhana
3f1c4bb4b0
Bring in the list APIs implemented by Bala <bala@minio.io>
2016-01-24 16:39:48 -08:00