diff --git a/docs/gateway/README.md b/docs/gateway/README.md index 31ffddfd4..b7087fa5d 100644 --- a/docs/gateway/README.md +++ b/docs/gateway/README.md @@ -1,48 +1,9 @@ # Minio Gateway [![Slack](https://slack.minio.io/slack?type=svg)](https://slack.minio.io) -Minio Gateway adds Amazon S3 compatibility to third party cloud storage providers. Currently only Microsoft Azure Blob Storage is supported. - -## Run Minio Gateway for Microsoft Azure Blob Storage -### Using Docker -``` -docker run -p 9000:9000 --name azure-s3 \ - -e "MINIO_ACCESS_KEY=azureaccountname" \ - -e "MINIO_SECRET_KEY=azureaccountkey" \ - minio/minio gateway azure -``` - -### Using Binary -``` -export MINIO_ACCESS_KEY=azureaccountname -export MINIO_SECRET_KEY=azureaccountkey -minio gateway azure -``` -## Test using Minio Browser -Minio Gateway comes with an embedded web based object browser. Point your web browser to http://127.0.0.1:9000 ensure your server has started successfully. - -![Screenshot](https://github.com/minio/minio/blob/master/docs/screenshots/minio-browser-gateway.png?raw=true) -## Test using Minio Client `mc` -`mc` provides a modern alternative to UNIX commands such as ls, cat, cp, mirror, diff etc. It supports filesystems and Amazon S3 compatible cloud storage services. - -### Configure `mc` -``` -mc config host add myazure http://gateway-ip:9000 azureaccountname azureaccountkey -``` - -### List containers on Microsoft Azure -``` -mc ls myazure -[2017-02-22 01:50:43 PST] 0B ferenginar/ -[2017-02-26 21:43:51 PST] 0B my-container/ -[2017-02-26 22:10:11 PST] 0B test-container1/ -``` +Minio Gateway adds Amazon S3 compatibility to third party cloud storage providers. +- [Microsoft Azure Blob Storage](https://github.com/minio/minio/blob/master/docs/gateway/azure.md) +- [Google Cloud Storage](https://github.com/minio/minio/blob/master/docs/gateway/gcs.md) _Alpha release_ ## Roadmap * Minio & AWS S3 * Edge Caching - Disk based proxy caching support -* Google Cloud Storage -## Explore Further -- [`mc` command-line interface](https://docs.minio.io/docs/minio-client-quickstart-guide) -- [`aws` command-line interface](https://docs.minio.io/docs/aws-cli-with-minio) -- [`minfs` filesystem interface](http://docs.minio.io/docs/minfs-quickstart-guide) -- [`minio-go` Go SDK](https://docs.minio.io/docs/golang-client-quickstart-guide) diff --git a/docs/gateway/azure.md b/docs/gateway/azure.md new file mode 100644 index 000000000..4df19e0fc --- /dev/null +++ b/docs/gateway/azure.md @@ -0,0 +1,46 @@ +# Minio Azure Gateway [![Slack](https://slack.minio.io/slack?type=svg)](https://slack.minio.io) +Minio Gateway adds Amazon S3 compatibility to Microsoft Azure Blob Storage. + +## Run Minio Gateway for Microsoft Azure Blob Storage +### Using Docker +``` +docker run -p 9000:9000 --name azure-s3 \ + -e "MINIO_ACCESS_KEY=azureaccountname" \ + -e "MINIO_SECRET_KEY=azureaccountkey" \ + minio/minio gateway azure +``` + +### Using Binary +``` +export MINIO_ACCESS_KEY=azureaccountname +export MINIO_SECRET_KEY=azureaccountkey +minio gateway azure +``` +## Test using Minio Browser +Minio Gateway comes with an embedded web based object browser. Point your web browser to http://127.0.0.1:9000 ensure your server has started successfully. + +![Screenshot](https://github.com/minio/minio/blob/master/docs/screenshots/minio-browser-gateway.png?raw=true) +## Test using Minio Client `mc` +`mc` provides a modern alternative to UNIX commands such as ls, cat, cp, mirror, diff etc. It supports filesystems and Amazon S3 compatible cloud storage services. + +### Configure `mc` +``` +mc config host add myazure http://gateway-ip:9000 azureaccountname azureaccountkey +``` + +### List containers on Microsoft Azure +``` +mc ls myazure +[2017-02-22 01:50:43 PST] 0B ferenginar/ +[2017-02-26 21:43:51 PST] 0B my-container/ +[2017-02-26 22:10:11 PST] 0B test-container1/ +``` + +### Known limitations +[Limitations](https://github.com/minio/minio/blob/master/docs/gateway/azure-limitations.md) + +## Explore Further +- [`mc` command-line interface](https://docs.minio.io/docs/minio-client-quickstart-guide) +- [`aws` command-line interface](https://docs.minio.io/docs/aws-cli-with-minio) +- [`minfs` filesystem interface](http://docs.minio.io/docs/minfs-quickstart-guide) +- [`minio-go` Go SDK](https://docs.minio.io/docs/golang-client-quickstart-guide) diff --git a/docs/gateway/gcs-limitations.md b/docs/gateway/gcs-limitations.md new file mode 100644 index 000000000..3d362b8ee --- /dev/null +++ b/docs/gateway/gcs-limitations.md @@ -0,0 +1,9 @@ +## Minio GCS Gateway Limitations + +Gateway inherits the following GCS limitations: + +- Maximum number of parts per upload is 1024. +- No support for bucket policies yet. +- No support for bucket notifications yet. +- _List Multipart Uploads_ and _List Object parts_ always returns empty list. i.e Client will need to remember all the parts that it has uploaded and use it for _Complete Multipart Upload_ + diff --git a/docs/gateway/gcs.md b/docs/gateway/gcs.md new file mode 100644 index 000000000..e1b92c59e --- /dev/null +++ b/docs/gateway/gcs.md @@ -0,0 +1,63 @@ +# Minio GCS Gateway [![Slack](https://slack.minio.io/slack?type=svg)](https://slack.minio.io) +Minio GCS Gateway adds Amazon S3 compatibility to Google Cloud Storage. + +## Run Minio Gateway for GCS +### Create service account key for GCS and get the credentials file +1. Go to the [API Console Credentials page](https://console.developers.google.com/project/_/apis/credentials). +2. Select your project or create a new project. Note down your project ID. +3. On the Credentials page, select the __Create credentials__ drop-down, then select __Service account key__. +4. From the __Service account__ drop-down, select __New service account__ +5. Fill up __Service account name__ and __Service account ID__ +6. For the __Role__, click the selec dropdown to choose __Storage__ -> __Storage Admin__ _(Full control of GCS resources)_ +7. Click the __Create__ button. This will download a credentials file to your desktop. Let's call this credentials.json + +Note: Alternate ways to setup *Application Default Credentials* is explained [here](https://developers.google.com/identity/protocols/application-default-credentials) + +### Using Docker +``` +docker run -p 9000:9000 --name gcs-s3 \ + -v /path/to/credentials.json:/credentials.json \ + -e "GOOGLE_APPLICATION_CREDENTIALS=/credentials.json" \ + -e "MINIO_ACCESS_KEY=minioaccountname" \ + -e "MINIO_SECRET_KEY=minioaccountkey" \ + minio/minio gateway gcs yourprojectid +``` + +### Using Binary +``` +export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json +export MINIO_ACCESS_KEY=minioaccesskey +export MINIO_SECRET_KEY=miniosecretkey +minio gateway gcs yourprojectid +``` + +## Test using Minio Browser +Minio Gateway comes with an embedded web based object browser. Point your web browser to http://127.0.0.1:9000 ensure your server has started successfully. + +![Screenshot](https://github.com/minio/minio/blob/master/docs/screenshots/minio-browser-gateway.png?raw=true) + +## Test using Minio Client `mc` +`mc` provides a modern alternative to UNIX commands such as ls, cat, cp, mirror, diff etc. It supports filesystems and Amazon S3 compatible cloud storage services. + +### Configure `mc` +``` +mc config host add mygcs http://gateway-ip:9000 minioaccesskey miniosecretkey +``` + +### List containers on GCS +``` +mc ls mygcs +[2017-02-22 01:50:43 PST] 0B ferenginar/ +[2017-02-26 21:43:51 PST] 0B my-container/ +[2017-02-26 22:10:11 PST] 0B test-container1/ +``` + +### Known limitations +[Limitations](https://github.com/minio/minio/blob/master/docs/gateway/gcs-limitations.md) + +## Explore Further +- [`mc` command-line interface](https://docs.minio.io/docs/minio-client-quickstart-guide) +- [`aws` command-line interface](https://docs.minio.io/docs/aws-cli-with-minio) +- [`minfs` filesystem interface](http://docs.minio.io/docs/minfs-quickstart-guide) +- [`minio-go` Go SDK](https://docs.minio.io/docs/golang-client-quickstart-guide) +