CHART NAME: {{ .Chart.Name }}
CHART VERSION: {{ .Chart.Version }}
APP VERSION: {{ .Chart.AppVersion }}

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

{{- if .Values.gateway.enabled }}
MinIO&reg; deployed as a {{ upper .Values.gateway.type }} Gateway
{{- end }}

MinIO&reg; 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 ROOT_USER=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ include "minio.secretName" . }} -o jsonpath="{.data.root-user}" | base64 --decode)
   export ROOT_PASSWORD=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ include "minio.secretName" . }} -o jsonpath="{.data.root-password}" | base64 --decode)

To connect to your MinIO&reg; server using a client:

- Run a MinIO&reg; 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_ROOT_USER=$ROOT_USER \
     --env MINIO_SERVER_ROOT_PASSWORD=$ROOT_PASSWORD \
     --env MINIO_SERVER_HOST={{ include "common.names.fullname" . }} \
     {{- if and (.Values.networkPolicy.enabled) (not .Values.networkPolicy.allowExternal) }}
     --labels="{{ include "common.names.fullname" . }}-client=true" \
     {{- end }}
     --image {{ template "minio.clientImage" . }} -- admin info minio

{{- if and (.Values.networkPolicy.enabled) (not .Values.networkPolicy.allowExternal) }}

   NOTE: Since NetworkPolicy is enabled, only pods with label
   "{{ template "common.names.fullname" . }}-client=true" will be able to connect to MinIO&reg;.

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

To access the MinIO&reg; web UI:

- Get the MinIO&reg; URL:

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

   You should be able to access your new MinIO&reg; 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.ports.console | toString }}
   export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.names.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}")
   echo "MinIO&reg; web URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ .Values.service.ports.console }}{{ end }}/minio"

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

   echo "MinIO&reg; web URL: http://127.0.0.1:{{ .Values.containerPorts.console }}/minio"
   kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ include "common.names.fullname" . }} {{ .Values.containerPorts.console }}:{{ .Values.service.ports.console }}

{{- 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&reg; web URL: http://$NODE_IP:$NODE_PORT/minio"

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

   WARN: MinIO&reg; Web UI is disabled.
{{- end }}

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

{{- $requiredPasswords := list -}}
{{- $secretName := include "minio.secretName" . -}}
{{- if and (not .Values.auth.existingSecret) (not .Values.auth.forceNewKeys) (not .Values.gateway.enabled) -}}
  {{- $requiredRootUser := dict "valueKey" "auth.rootUser" "secret" $secretName "field" "root-user" -}}
  {{- $requiredRootPassword := dict "valueKey" "auth.rootPassword" "secret" $secretName "field" "root-password" -}}
  {{- $requiredPasswords = append $requiredPasswords $requiredRootUser -}}
  {{- $requiredPasswords = append $requiredPasswords $requiredRootPassword -}}
{{- end -}}
{{- $requiredMinioPasswordErrors := include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" $) -}}
{{- include "common.errors.upgrade.passwords.empty" (dict "validationErrors" (list $requiredMinioPasswordErrors) "context" $) -}}
