MinIO GCS Gateway Slack

MinIO GCS Gateway allows you to access Google Cloud Storage (GCS) with Amazon S3-compatible APIs

1. Run MinIO Gateway for GCS

1.1 Create a Service Account key for GCS and get the Credentials File

  1. Navigate to the API Console Credentials page.
  2. Select a project or create a new project. Note the project ID.
  3. Select the Create credentials dropdown on the Credentials page, and click Service account key.
  4. Select New service account from the Service account dropdown.
  5. Populate the Service account name and Service account ID.
  6. Click the dropdown for the Role and choose Storage > Storage Admin (Full control of GCS resources).
  7. Click the Create button to download a credentials file and rename it to credentials.json.

Note: For alternate ways to set up Application Default Credentials, see Setting Up Authentication for Server to Server Production Applications.

1.2 Run MinIO GCS Gateway Using Docker

podman run \
 -p 9000:9000 \
 -p 9001:9001 \
 --name gcs-s3 \
 -v /path/to/credentials.json:/credentials.json \
 -e "GOOGLE_APPLICATION_CREDENTIALS=/credentials.json" \
 -e "MINIO_ROOT_USER=minioaccountname" \
 -e "MINIO_ROOT_PASSWORD=minioaccountkey" \ gateway gcs yourprojectid --console-address ":9001"

1.3 Run MinIO GCS Gateway Using the MinIO Binary

export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json
export MINIO_ROOT_USER=minioaccesskey
export MINIO_ROOT_PASSWORD=miniosecretkey
minio gateway gcs yourprojectid

2. Test Using MinIO Console

MinIO Gateway comes with an embedded web-based object browser that outputs content to To test that MinIO Gateway is running, open a web browser, navigate to, and ensure that the object browser is displayed.

Dashboard Creating a bucket
Dashboard Dashboard

3. Test Using MinIO Client

MinIO Client is a command-line tool called mc that provides UNIX-like commands for interacting with the server (e.g. ls, cat, cp, mirror, diff, find, etc.). mc supports file systems and Amazon S3-compatible cloud storage services (AWS Signature v2 and v4).

3.1 Configure the Gateway using MinIO Client

Use the following command to configure the gateway:

mc alias set mygcs http://gateway-ip:9000 minioaccesskey miniosecretkey

3.2 List Containers on GCS

Use the following command to list the containers on GCS:

mc ls mygcs

A response similar to this one should be displayed:

[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/

3.3 Known limitations

MinIO Gateway has the following limitations when used with GCS:

Other limitations:

4. Explore Further