diff --git a/stable/minio/Chart.yaml b/stable/minio/Chart.yaml index 0b3f835649..7391604eee 100755 --- a/stable/minio/Chart.yaml +++ b/stable/minio/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 description: Distributed object storage server built for cloud applications and devops. name: minio -version: 1.0.1 +version: 1.1.0 appVersion: RELEASE.2018-03-16T22-52-12Z keywords: - storage diff --git a/stable/minio/README.md b/stable/minio/README.md index c3ea597760..9d549d99f7 100644 --- a/stable/minio/README.md +++ b/stable/minio/README.md @@ -104,6 +104,11 @@ The following tables lists the configurable parameters of the Minio chart and th | `defaultBucket.policy` | Bucket policy | `none` | | `defaultBucket.purge` | Purge the bucket if already exists | `false` | | `azuregateway.enabled` | Use minio as an [azure gateway](https://docs.minio.io/docs/minio-gateway-for-azure)| `false` | +| `gcsgateway.enabled` | Use minio as a [Google Cloud Storage gateway](https://docs.minio.io/docs/minio-gateway-for-gcs)| `false` | +| `gcsgateway.gcsKeyJson` | credential json file of service account key | `""` + | +| `gcsgateway.projectId` | Google cloud project id | `""` + | Some of the parameters above map to the env variables defined in the [Minio DockerHub image](https://hub.docker.com/r/minio/minio/). diff --git a/stable/minio/templates/deployment.yaml b/stable/minio/templates/deployment.yaml index d27da7bee7..be29254143 100644 --- a/stable/minio/templates/deployment.yaml +++ b/stable/minio/templates/deployment.yaml @@ -30,12 +30,16 @@ spec: {{- if .Values.azuregateway.enabled }} args: ["gateway", "azure"] {{- else }} + {{- if .Values.gcsgateway.enabled }} + args: ["gateway", "gcs", "{{ .Values.gcsgateway.projectId }}"] + {{- else }} {{- if .Values.configPath }} args: ["-C", "{{ .Values.configPath }}", "server", "{{ .Values.mountPath }}"] {{- else }} args: ["server", "{{ .Values.mountPath }}"] {{- end }} {{- end }} + {{- end }} volumeMounts: - name: export mountPath: {{ .Values.mountPath }} @@ -51,6 +55,11 @@ spec: - name: podinfo mountPath: /podinfo readOnly: false + {{- if .Values.gcsgateway.enabled }} + - name: minio-user + mountPath: "/etc/credentials" + readOnly: true + {{- end }} ports: - name: service containerPort: 9000 @@ -65,6 +74,10 @@ spec: secretKeyRef: name: {{ template "minio.fullname" . }} key: secretkey + {{- if .Values.gcsgateway.enabled }} + - name: GOOGLE_APPLICATION_CREDENTIALS + value: "/etc/credentials/gcs_key.json" + {{- end }} livenessProbe: tcpSocket: port: 9000 diff --git a/stable/minio/templates/secrets.yaml b/stable/minio/templates/secrets.yaml index 8ee63b1d0d..f130bf9a03 100644 --- a/stable/minio/templates/secrets.yaml +++ b/stable/minio/templates/secrets.yaml @@ -11,3 +11,6 @@ type: Opaque data: accesskey: {{ .Values.accessKey | b64enc }} secretkey: {{ .Values.secretKey | b64enc }} +{{- if .Values.gcsgateway.enabled }} + gcs_key.json: {{ .Values.gcsgateway.gcsKeyJson | b64enc }} +{{- end }} \ No newline at end of file diff --git a/stable/minio/values.yaml b/stable/minio/values.yaml index d168810763..840aee097b 100644 --- a/stable/minio/values.yaml +++ b/stable/minio/values.yaml @@ -100,6 +100,16 @@ defaultBucket: azuregateway: enabled: false +## Use minio as GCS (Google Cloud Storage) gateway, you should disable data persistence so no volume claim are created. +## https://docs.minio.io/docs/minio-gateway-for-gcs + +gcsgateway: + enabled: false + # credential json file of service account key + gcsKeyJson: "" + # Google cloud project-id + projectId: "" + ## https://docs.minio.io/docs/minio-bucket-notification-guide ## minioConfig: