Adding a S3OutputStream that upload blobs to the S3 Storage service with two modes (single/multipart).
When the length of the chunk is lower than buffer_size (default to 5mb), the chunk is uploaded with a single request.
Otherwise multiple requests are made, each of buffer_size (except the last one which can be lower than buffer_size).
For example, when uploading a blob (say, 1Gb) with chunk_size set for accepting large chunks (chunk_size = 5Gb) and buffer_size set to 100Mb, the blob will be sent into 10 multiple parts, each of ~100Mb. Each part upload may failed independently and will be retried 3 times.
Closes#117
We should use `https` by default instead of `http` for communication between elasticsearch and AWS API.
Note that it can be modified in case of trouble and fallback to the older setting using `cloud.aws.protocol: http`
Closes#109.
By default all communication w/ AWS services done by this plugin is sent the clear over `http`, overriding amazons own default of https: http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/ClientConfiguration.html#getProtocol()
One has to set `cloud.aws.protocol` in `elasticsearch.yml` to force SSL.
cloud.aws.protocol: https
This is not entirely clear to the average user, and should be added to the documentation on both this project's README.
Closes#101.
When a Snapshot does not exist, we should raise a `SnapshotMissingException`.
Add also tests for GET/DELETE on non existing repo
Closes#86.
(cherry picked from commit 77ab672)
Users can use their own endpoints for any ec2/s3 compatible API using: `cloud.aws.ec2.endpoint` or `cloud.aws.s3.endpoint`
Closes#91.
(cherry picked from commit f0fbea5)
While it's possible to create a bucket with "_" in US Standard region, AWS Java SDK cannot work with such buckets. Changing all examples to use "-" instead of "_" in bucket names.
Closes#72
Changed AwsS3Service to use one client per region and credentials combination.
Made S3Repository specify credentials if such exists in the repository settings.
Updated readme with repository specific credentials settings.
Closes#54.
Closes#55.
Closes#56.
(cherry picked from commit d4ea2dd)
We create branches:
* es-0.90 for elasticsearch 0.90
* es-1.0 for elasticsearch 1.0
* es-1.1 for elasticsearch 1.1
* master for elasticsearch master
We also check that before releasing we don't have a dependency to an elasticsearch SNAPSHOT version.
Add links to each version in documentation
(cherry picked from commit e0f06c6)
Please change the Elasticsearch dependency to provided (and maybe testCompile) instead of compile and runtime.
Why? If you include the plugin in embedded Elasticsearch, and you exclude anything from the Elasticsearch dependency, it is undone by this dependency also including Elasticsearch. Therefore you have to tune both, when really this plugin only needs it as provided (since it runs with Elasticsearch or in Elasticsearch but never on its own).
Related to #48.
Please change the Elasticsearch dependency to provided (and maybe testCompile) instead of compile and runtime.
Why? If you include the plugin in embedded Elasticsearch, and you exclude anything from the Elasticsearch dependency, it is undone by this dependency also including Elasticsearch. Therefore you have to tune both, when really this plugin only needs it as provided (since it runs with Elasticsearch or in Elasticsearch but never on its own).
Closes#48.