Description
S3 REST api is the de facto standard for object stores. Many external tools already support it.
This issue is about creating a new s3gateway component which implements (most part of) the s3 API using the internal RPC calls.
Some part of the implementation is very straightforward: we need a new service with usual REST stack and we need to implement the most commont GET/POST/PUT calls. Some other (Authorization, multi-part upload) are more tricky.
Here I suggest to create an evaluation: first we can implement a skeleton service which could support read only requests without authorization and we can define proper specification for the upload part / authorization during the work.
As of now the gatway service could be a new standalone application (eg. ozone s3g start) later we can modify it to work as s DatanodePlugin similar to the existing object store plugin.