** Please be patient while the chart is being deployed **

{{- if .Values.gateway.enabled }}
MinIO(R) deployed as a {{ upper .Values.gateway.type }} Gateway
{{- end }}

MinIO(R) can be accessed via port {{ .Values.service.port }} on the following DNS name from within your cluster:

   {{ include "common.names.fullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}

To get your credentials run:

   export ACCESS_KEY=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ include "minio.secretName" . }} -o jsonpath="{.data.access-key}" | base64 --decode)
   export SECRET_KEY=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ include "minio.secretName" . }} -o jsonpath="{.data.secret-key}" | base64 --decode)

To connect to your MinIO(R) server using a client:

- Run a MinIO(R) Client pod and append the desired command (e.g. 'admin info'):

   kubectl run --namespace {{ .Release.Namespace }} {{ include "common.names.fullname" . }}-client \
     --rm --tty -i --restart='Never' \
     --env MINIO_SERVER_ACCESS_KEY=$ACCESS_KEY \
     --env MINIO_SERVER_SECRET_KEY=$SECRET_KEY \
     --env MINIO_SERVER_HOST={{ include "common.names.fullname" . }} \
     --image {{ template "minio.clientImage" . }} -- admin info minio

{{- if or .Values.gateway.enabled (not .Values.disableWebUI) }}

To access the MinIO(R) web UI:

- Get the MinIO(R) URL:

{{- if .Values.ingress.enabled }}

   You should be able to access your new MinIO(R) web UI through

   {{ if .Values.ingress.tls }}https{{ else }}http{{ end }}://{{ .Values.ingress.hostname }}/minio/
{{- else if contains "LoadBalancer" .Values.service.type }}

   NOTE: It may take a few minutes for the LoadBalancer IP to be available.
         Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ include "common.names.fullname" . }}'

   {{- $port:=.Values.service.port | toString }}
   export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.names.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
   echo "MinIO(R) web URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ .Values.service.port }}{{ end }}/minio"

{{- else if contains "ClusterIP"  .Values.service.type }}

   echo "MinIO(R) web URL: http://127.0.0.1:9000/minio"
   kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ include "common.names.fullname" . }} 9000:{{ .Values.service.port }}

{{- else if contains "NodePort" .Values.service.type }}

   export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.names.fullname" . }})
   export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
   echo "MinIO(R) web URL: http://$NODE_IP:$NODE_PORT/minio"

{{- end }}
{{- else }}

   WARN: MinIO(R) Web UI is disabled.
{{- end }}

{{- include "common.warnings.rollingTag" .Values.image }}
{{- include "common.warnings.rollingTag" .Values.clientImage }}
{{- include "minio.validateValues" . }}

{{- $requiredPassword := list -}}
{{- $secretName := include "minio.secretName" . -}}
{{- if and (not .Values.existingSecret) (not .Values.forceNewKeys) -}}
  {{- $requiredAccessKey := dict "valueKey" "accessKey.password" "secret" $secretName "field" "access-key" -}}
  {{- $requiredSecretKey := dict "valueKey" "secretKey.password" "secret" $secretName "field" "secret-key" -}}
  {{- $requiredPassword = append $requiredPassword $requiredAccessKey -}}
  {{- $requiredPassword = append $requiredPassword $requiredSecretKey -}}
{{- end -}}
{{- $requiredMinioPasswordErrors := include "common.validations.values.multiple.empty" (dict "required" $requiredPassword "context" $) -}}
{{- include "common.errors.upgrade.passwords.empty" (dict "validationErrors" (list $requiredMinioPasswordErrors) "context" $) -}}
