diff --git a/charts/minio/1.3.22/.helmignore b/charts/minio/1.4.0/.helmignore similarity index 100% rename from charts/minio/1.3.22/.helmignore rename to charts/minio/1.4.0/.helmignore diff --git a/charts/minio/1.3.22/Chart.yaml b/charts/minio/1.4.0/Chart.yaml similarity index 96% rename from charts/minio/1.3.22/Chart.yaml rename to charts/minio/1.4.0/Chart.yaml index abff00674a..bce7d32218 100644 --- a/charts/minio/1.3.22/Chart.yaml +++ b/charts/minio/1.4.0/Chart.yaml @@ -16,4 +16,4 @@ sources: - https://github.com/minio/minio - https://github.com/minio/charts upstream_version: 8.0.5 -version: 1.3.22 +version: 1.4.0 diff --git a/charts/minio/1.3.22/README.md b/charts/minio/1.4.0/README.md similarity index 100% rename from charts/minio/1.3.22/README.md rename to charts/minio/1.4.0/README.md diff --git a/charts/minio/1.3.22/app-readme.md b/charts/minio/1.4.0/app-readme.md similarity index 100% rename from charts/minio/1.3.22/app-readme.md rename to charts/minio/1.4.0/app-readme.md diff --git a/charts/minio/1.3.22/charts/common-2105.0.0.tgz b/charts/minio/1.4.0/charts/common-2105.0.0.tgz similarity index 100% rename from charts/minio/1.3.22/charts/common-2105.0.0.tgz rename to charts/minio/1.4.0/charts/common-2105.0.0.tgz diff --git a/charts/minio/1.3.22/default_values.yaml b/charts/minio/1.4.0/default_values.yaml similarity index 100% rename from charts/minio/1.3.22/default_values.yaml rename to charts/minio/1.4.0/default_values.yaml diff --git a/charts/minio/1.3.22/ix_values.yaml b/charts/minio/1.4.0/ix_values.yaml similarity index 100% rename from charts/minio/1.3.22/ix_values.yaml rename to charts/minio/1.4.0/ix_values.yaml diff --git a/charts/minio/1.3.22/migrations/migrate_from_1.0.0 b/charts/minio/1.4.0/migrations/migrate_from_1.0.0 similarity index 100% rename from charts/minio/1.3.22/migrations/migrate_from_1.0.0 rename to charts/minio/1.4.0/migrations/migrate_from_1.0.0 diff --git a/test/minio/1.3.22/questions.yaml b/charts/minio/1.4.0/questions.yaml similarity index 78% rename from test/minio/1.3.22/questions.yaml rename to charts/minio/1.4.0/questions.yaml index 155ea73788..0f3ec5beff 100644 --- a/test/minio/1.3.22/questions.yaml +++ b/charts/minio/1.4.0/questions.yaml @@ -3,10 +3,10 @@ groups: description: "Image to be used for container" - name: "Workload Configuration" description: "Configure workload deployment" - - name: "Storage" - description: "Configure Storage for Nextcloud" - name: "Minio Configuration" description: "Configure Minio credentials" + - name: "Storage" + description: "Configure Storage for Nextcloud" - name: "Advanced DNS Settings" description: "Configure DNS settings" @@ -60,6 +60,29 @@ questions: - value: "Recreate" description: "Kill existing pods before creating new ones" + - variable: distributedMode + label: "Enable Distributed Mode" + description: "Run Minio instance to connect to a distributed minio cluster" + group: "Minio Configuration" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: distributedIps + label: "Distributed Minio Instance URI(s)" + schema: + type: list + required: true + default: [] + items: + - variable: ip + label: "Distributed Minio Instance URI" + schema: + type: string + empty: false + + - variable: extraArgs label: "Minio Extra Arguments" group: "Minio Configuration" @@ -164,6 +187,7 @@ questions: group: "Storage" schema: type: dict + show_if: [["distributedMode", "=", false]] attrs: - variable: export label: "Data Volume" @@ -200,3 +224,28 @@ questions: schema: type: hostpath required: true + + - variable: extraAppVolumeMounts + label: "Extra Host Path Volumes" + group: "Storage" + schema: + type: list + items: + - variable: extraAppVolume + label: "Host Path Volume" + description: "Add an extra host path volume for Minio application" + schema: + type: dict + attrs: + - variable: mountPath + label: "Mount Path in Pod" + description: "Path where the volume will be mounted inside the pod" + schema: + type: path + required: true + - variable: hostPath + label: "Host Path" + description: "Host path" + schema: + type: hostpath + required: true diff --git a/charts/minio/1.3.22/requirements.lock b/charts/minio/1.4.0/requirements.lock similarity index 100% rename from charts/minio/1.3.22/requirements.lock rename to charts/minio/1.4.0/requirements.lock diff --git a/charts/minio/1.3.22/templates/NOTES.txt b/charts/minio/1.4.0/templates/NOTES.txt similarity index 100% rename from charts/minio/1.3.22/templates/NOTES.txt rename to charts/minio/1.4.0/templates/NOTES.txt diff --git a/charts/minio/1.3.22/templates/_cert.tpl b/charts/minio/1.4.0/templates/_cert.tpl similarity index 100% rename from charts/minio/1.3.22/templates/_cert.tpl rename to charts/minio/1.4.0/templates/_cert.tpl diff --git a/test/minio/1.3.22/templates/_helpers.tpl b/charts/minio/1.4.0/templates/_helpers.tpl similarity index 66% rename from test/minio/1.3.22/templates/_helpers.tpl rename to charts/minio/1.4.0/templates/_helpers.tpl index dc65a42ead..55b50755aa 100644 --- a/test/minio/1.3.22/templates/_helpers.tpl +++ b/charts/minio/1.4.0/templates/_helpers.tpl @@ -50,3 +50,28 @@ Retrieve scheme/protocol for minio {{- print "http" -}} {{- end -}} {{- end -}} + + +{{/* +Retrieve command for minio application +*/}} +{{- define "minio.commandArgs" -}} +{{- $arg := "/usr/bin/docker-entrypoint.sh minio -S /etc/minio/certs server --console-address=':9001'" -}} +{{- if .Values.distributedMode -}} +{{- cat $arg (join " " (concat (.Values.distributedIps | default list) (.Values.extraArgs | default list))) -}} +{{- else -}} +{{- cat $arg ((concat (list "/export") (.Values.extraArgs | default list)) | join " ") -}} +{{- end -}} +{{- end -}} + + +{{/* +Enable host networking +*/}} +{{- define "minio.hostNetworking" -}} +{{- if .Values.distributedMode -}} +{{- print "true" -}} +{{- else -}} +{{- print "false" -}} +{{- end -}} +{{- end -}} diff --git a/charts/minio/1.3.22/templates/configmap.yaml b/charts/minio/1.4.0/templates/configmap.yaml similarity index 100% rename from charts/minio/1.3.22/templates/configmap.yaml rename to charts/minio/1.4.0/templates/configmap.yaml diff --git a/test/minio/1.3.22/templates/deployment.yaml b/charts/minio/1.4.0/templates/deployment.yaml similarity index 78% rename from test/minio/1.3.22/templates/deployment.yaml rename to charts/minio/1.4.0/templates/deployment.yaml index f2e82b1f68..e4534846ff 100644 --- a/test/minio/1.3.22/templates/deployment.yaml +++ b/charts/minio/1.4.0/templates/deployment.yaml @@ -7,6 +7,8 @@ metadata: chart: {{ template "common.names.chart" . }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} + annotations: + rollme: {{ randAlphaNum 5 | quote }} spec: replicas: {{ (default 1 .Values.replicas) }} strategy: @@ -25,15 +27,20 @@ spec: annotations: {{ include "common.annotations" . | nindent 8 }} spec: serviceAccountName: {{ include "common.names.serviceAccountName" . | quote }} + hostNetwork: {{ include "minio.hostNetworking" . }} containers: - name: {{ .Chart.Name }} {{ include "common.containers.imageConfig" .Values.image | nindent 10 }} volumeMounts: {{ include "common.storage.configureAppVolumeMountsInContainer" .Values | nindent 12 }} {{- include "minio.tlsKeysVolumeMount" . | nindent 12 }} + {{ range $index, $hostPathConfiguration := .Values.extraAppVolumeMounts }} + - name: extrappvolume-{{ $index }} + mountPath: {{ $hostPathConfiguration.mountPath }} + {{ end }} command: - "/bin/sh" - "-ce" - - "/usr/bin/docker-entrypoint.sh minio -S /etc/minio/certs server /export --console-address=':9001' {{ (.Values.extraArgs | default list) | join " " }}" + - {{ include "minio.commandArgs" . }} ports: - name: api containerPort: 9000 @@ -50,5 +57,10 @@ spec: {{ $envList = mustAppend $envList (dict "name" "MINIO_ROOT_PASSWORD" "valueFromSecret" true "secretName" $secretName "secretKey" "secretkey") }} {{ include "common.containers.environmentVariables" (dict "environmentVariables" $envList) | nindent 12 }} {{ include "common.networking.dnsConfiguration" .Values | nindent 6 }} -{{ include "common.storage.allAppVolumes" .Values | nindent 6 }} -{{- include "minio.tlsKeysVolume" . | nindent 8 }} + volumes: {{ include "common.storage.configureAppVolumes" .Values | nindent 8 }} + {{- include "minio.tlsKeysVolume" . | nindent 8 }} + {{ range $index, $hostPathConfiguration := .Values.extraAppVolumeMounts }} + - name: extrappvolume-{{ $index }} + hostPath: + path: {{ $hostPathConfiguration.hostPath }} + {{ end }} diff --git a/charts/minio/1.3.22/templates/secrets.yaml b/charts/minio/1.4.0/templates/secrets.yaml similarity index 100% rename from charts/minio/1.3.22/templates/secrets.yaml rename to charts/minio/1.4.0/templates/secrets.yaml diff --git a/charts/minio/1.3.22/templates/service.yaml b/charts/minio/1.4.0/templates/service.yaml similarity index 100% rename from charts/minio/1.3.22/templates/service.yaml rename to charts/minio/1.4.0/templates/service.yaml diff --git a/charts/minio/1.3.22/templates/serviceaccount.yaml b/charts/minio/1.4.0/templates/serviceaccount.yaml similarity index 100% rename from charts/minio/1.3.22/templates/serviceaccount.yaml rename to charts/minio/1.4.0/templates/serviceaccount.yaml diff --git a/charts/minio/1.3.22/test_values.yaml b/charts/minio/1.4.0/test_values.yaml similarity index 83% rename from charts/minio/1.3.22/test_values.yaml rename to charts/minio/1.4.0/test_values.yaml index ef0683920d..e9d9cad82e 100644 --- a/charts/minio/1.3.22/test_values.yaml +++ b/charts/minio/1.4.0/test_values.yaml @@ -16,3 +16,6 @@ service: consolePort: 32325 nodePort: 32324 updateStrategy: RollingUpdate +distributedMode: false +distributedIps: [] +extraAppVolumeMounts: [] diff --git a/charts/minio/1.3.22/values.yaml b/charts/minio/1.4.0/values.yaml similarity index 100% rename from charts/minio/1.3.22/values.yaml rename to charts/minio/1.4.0/values.yaml diff --git a/test/minio/1.3.22/.helmignore b/test/minio/1.4.0/.helmignore similarity index 100% rename from test/minio/1.3.22/.helmignore rename to test/minio/1.4.0/.helmignore diff --git a/test/minio/1.3.22/Chart.yaml b/test/minio/1.4.0/Chart.yaml similarity index 96% rename from test/minio/1.3.22/Chart.yaml rename to test/minio/1.4.0/Chart.yaml index abff00674a..bce7d32218 100644 --- a/test/minio/1.3.22/Chart.yaml +++ b/test/minio/1.4.0/Chart.yaml @@ -16,4 +16,4 @@ sources: - https://github.com/minio/minio - https://github.com/minio/charts upstream_version: 8.0.5 -version: 1.3.22 +version: 1.4.0 diff --git a/test/minio/1.3.22/README.md b/test/minio/1.4.0/README.md similarity index 100% rename from test/minio/1.3.22/README.md rename to test/minio/1.4.0/README.md diff --git a/test/minio/1.3.22/app-readme.md b/test/minio/1.4.0/app-readme.md similarity index 100% rename from test/minio/1.3.22/app-readme.md rename to test/minio/1.4.0/app-readme.md diff --git a/test/minio/1.3.22/charts/common-2105.0.0.tgz b/test/minio/1.4.0/charts/common-2105.0.0.tgz similarity index 100% rename from test/minio/1.3.22/charts/common-2105.0.0.tgz rename to test/minio/1.4.0/charts/common-2105.0.0.tgz diff --git a/test/minio/1.3.22/default_values.yaml b/test/minio/1.4.0/default_values.yaml similarity index 100% rename from test/minio/1.3.22/default_values.yaml rename to test/minio/1.4.0/default_values.yaml diff --git a/test/minio/1.3.22/ix_values.yaml b/test/minio/1.4.0/ix_values.yaml similarity index 100% rename from test/minio/1.3.22/ix_values.yaml rename to test/minio/1.4.0/ix_values.yaml diff --git a/test/minio/1.3.22/migrations/migrate_from_1.0.0 b/test/minio/1.4.0/migrations/migrate_from_1.0.0 similarity index 100% rename from test/minio/1.3.22/migrations/migrate_from_1.0.0 rename to test/minio/1.4.0/migrations/migrate_from_1.0.0 diff --git a/charts/minio/1.3.22/questions.yaml b/test/minio/1.4.0/questions.yaml similarity index 78% rename from charts/minio/1.3.22/questions.yaml rename to test/minio/1.4.0/questions.yaml index 155ea73788..0f3ec5beff 100644 --- a/charts/minio/1.3.22/questions.yaml +++ b/test/minio/1.4.0/questions.yaml @@ -3,10 +3,10 @@ groups: description: "Image to be used for container" - name: "Workload Configuration" description: "Configure workload deployment" - - name: "Storage" - description: "Configure Storage for Nextcloud" - name: "Minio Configuration" description: "Configure Minio credentials" + - name: "Storage" + description: "Configure Storage for Nextcloud" - name: "Advanced DNS Settings" description: "Configure DNS settings" @@ -60,6 +60,29 @@ questions: - value: "Recreate" description: "Kill existing pods before creating new ones" + - variable: distributedMode + label: "Enable Distributed Mode" + description: "Run Minio instance to connect to a distributed minio cluster" + group: "Minio Configuration" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: distributedIps + label: "Distributed Minio Instance URI(s)" + schema: + type: list + required: true + default: [] + items: + - variable: ip + label: "Distributed Minio Instance URI" + schema: + type: string + empty: false + + - variable: extraArgs label: "Minio Extra Arguments" group: "Minio Configuration" @@ -164,6 +187,7 @@ questions: group: "Storage" schema: type: dict + show_if: [["distributedMode", "=", false]] attrs: - variable: export label: "Data Volume" @@ -200,3 +224,28 @@ questions: schema: type: hostpath required: true + + - variable: extraAppVolumeMounts + label: "Extra Host Path Volumes" + group: "Storage" + schema: + type: list + items: + - variable: extraAppVolume + label: "Host Path Volume" + description: "Add an extra host path volume for Minio application" + schema: + type: dict + attrs: + - variable: mountPath + label: "Mount Path in Pod" + description: "Path where the volume will be mounted inside the pod" + schema: + type: path + required: true + - variable: hostPath + label: "Host Path" + description: "Host path" + schema: + type: hostpath + required: true diff --git a/test/minio/1.3.22/requirements.lock b/test/minio/1.4.0/requirements.lock similarity index 100% rename from test/minio/1.3.22/requirements.lock rename to test/minio/1.4.0/requirements.lock diff --git a/test/minio/1.3.22/templates/NOTES.txt b/test/minio/1.4.0/templates/NOTES.txt similarity index 100% rename from test/minio/1.3.22/templates/NOTES.txt rename to test/minio/1.4.0/templates/NOTES.txt diff --git a/test/minio/1.3.22/templates/_cert.tpl b/test/minio/1.4.0/templates/_cert.tpl similarity index 100% rename from test/minio/1.3.22/templates/_cert.tpl rename to test/minio/1.4.0/templates/_cert.tpl diff --git a/charts/minio/1.3.22/templates/_helpers.tpl b/test/minio/1.4.0/templates/_helpers.tpl similarity index 66% rename from charts/minio/1.3.22/templates/_helpers.tpl rename to test/minio/1.4.0/templates/_helpers.tpl index dc65a42ead..55b50755aa 100644 --- a/charts/minio/1.3.22/templates/_helpers.tpl +++ b/test/minio/1.4.0/templates/_helpers.tpl @@ -50,3 +50,28 @@ Retrieve scheme/protocol for minio {{- print "http" -}} {{- end -}} {{- end -}} + + +{{/* +Retrieve command for minio application +*/}} +{{- define "minio.commandArgs" -}} +{{- $arg := "/usr/bin/docker-entrypoint.sh minio -S /etc/minio/certs server --console-address=':9001'" -}} +{{- if .Values.distributedMode -}} +{{- cat $arg (join " " (concat (.Values.distributedIps | default list) (.Values.extraArgs | default list))) -}} +{{- else -}} +{{- cat $arg ((concat (list "/export") (.Values.extraArgs | default list)) | join " ") -}} +{{- end -}} +{{- end -}} + + +{{/* +Enable host networking +*/}} +{{- define "minio.hostNetworking" -}} +{{- if .Values.distributedMode -}} +{{- print "true" -}} +{{- else -}} +{{- print "false" -}} +{{- end -}} +{{- end -}} diff --git a/test/minio/1.3.22/templates/configmap.yaml b/test/minio/1.4.0/templates/configmap.yaml similarity index 100% rename from test/minio/1.3.22/templates/configmap.yaml rename to test/minio/1.4.0/templates/configmap.yaml diff --git a/charts/minio/1.3.22/templates/deployment.yaml b/test/minio/1.4.0/templates/deployment.yaml similarity index 78% rename from charts/minio/1.3.22/templates/deployment.yaml rename to test/minio/1.4.0/templates/deployment.yaml index f2e82b1f68..e4534846ff 100644 --- a/charts/minio/1.3.22/templates/deployment.yaml +++ b/test/minio/1.4.0/templates/deployment.yaml @@ -7,6 +7,8 @@ metadata: chart: {{ template "common.names.chart" . }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} + annotations: + rollme: {{ randAlphaNum 5 | quote }} spec: replicas: {{ (default 1 .Values.replicas) }} strategy: @@ -25,15 +27,20 @@ spec: annotations: {{ include "common.annotations" . | nindent 8 }} spec: serviceAccountName: {{ include "common.names.serviceAccountName" . | quote }} + hostNetwork: {{ include "minio.hostNetworking" . }} containers: - name: {{ .Chart.Name }} {{ include "common.containers.imageConfig" .Values.image | nindent 10 }} volumeMounts: {{ include "common.storage.configureAppVolumeMountsInContainer" .Values | nindent 12 }} {{- include "minio.tlsKeysVolumeMount" . | nindent 12 }} + {{ range $index, $hostPathConfiguration := .Values.extraAppVolumeMounts }} + - name: extrappvolume-{{ $index }} + mountPath: {{ $hostPathConfiguration.mountPath }} + {{ end }} command: - "/bin/sh" - "-ce" - - "/usr/bin/docker-entrypoint.sh minio -S /etc/minio/certs server /export --console-address=':9001' {{ (.Values.extraArgs | default list) | join " " }}" + - {{ include "minio.commandArgs" . }} ports: - name: api containerPort: 9000 @@ -50,5 +57,10 @@ spec: {{ $envList = mustAppend $envList (dict "name" "MINIO_ROOT_PASSWORD" "valueFromSecret" true "secretName" $secretName "secretKey" "secretkey") }} {{ include "common.containers.environmentVariables" (dict "environmentVariables" $envList) | nindent 12 }} {{ include "common.networking.dnsConfiguration" .Values | nindent 6 }} -{{ include "common.storage.allAppVolumes" .Values | nindent 6 }} -{{- include "minio.tlsKeysVolume" . | nindent 8 }} + volumes: {{ include "common.storage.configureAppVolumes" .Values | nindent 8 }} + {{- include "minio.tlsKeysVolume" . | nindent 8 }} + {{ range $index, $hostPathConfiguration := .Values.extraAppVolumeMounts }} + - name: extrappvolume-{{ $index }} + hostPath: + path: {{ $hostPathConfiguration.hostPath }} + {{ end }} diff --git a/test/minio/1.3.22/templates/secrets.yaml b/test/minio/1.4.0/templates/secrets.yaml similarity index 100% rename from test/minio/1.3.22/templates/secrets.yaml rename to test/minio/1.4.0/templates/secrets.yaml diff --git a/test/minio/1.3.22/templates/service.yaml b/test/minio/1.4.0/templates/service.yaml similarity index 100% rename from test/minio/1.3.22/templates/service.yaml rename to test/minio/1.4.0/templates/service.yaml diff --git a/test/minio/1.3.22/templates/serviceaccount.yaml b/test/minio/1.4.0/templates/serviceaccount.yaml similarity index 100% rename from test/minio/1.3.22/templates/serviceaccount.yaml rename to test/minio/1.4.0/templates/serviceaccount.yaml diff --git a/test/minio/1.3.22/test_values.yaml b/test/minio/1.4.0/test_values.yaml similarity index 83% rename from test/minio/1.3.22/test_values.yaml rename to test/minio/1.4.0/test_values.yaml index ef0683920d..e9d9cad82e 100644 --- a/test/minio/1.3.22/test_values.yaml +++ b/test/minio/1.4.0/test_values.yaml @@ -16,3 +16,6 @@ service: consolePort: 32325 nodePort: 32324 updateStrategy: RollingUpdate +distributedMode: false +distributedIps: [] +extraAppVolumeMounts: [] diff --git a/test/minio/1.3.22/values.yaml b/test/minio/1.4.0/values.yaml similarity index 100% rename from test/minio/1.3.22/values.yaml rename to test/minio/1.4.0/values.yaml