From 0042e1c56d064e97cd3021d120deffc813051bfb Mon Sep 17 00:00:00 2001 From: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Date: Thu, 4 Jan 2024 13:58:14 +0200 Subject: [PATCH] minio/test - migrate storage section (adds acl), update container image (#1994) * bump version and common * update values * update templtes * update ui * add migration * missed one * keep version on test train in order to test migration in storage section * fix migration value * update appversion to reflect the actual version --- library/ix-dev/test/minio/Chart.lock | 6 +- library/ix-dev/test/minio/Chart.yaml | 6 +- .../ix-dev/test/minio/charts/common-1.2.2.tgz | Bin 62474 -> 0 bytes .../ix-dev/test/minio/charts/common-1.2.6.tgz | Bin 0 -> 63149 bytes .../test/minio/ci/snmd-https-values.yaml | 16 +- .../minio/ci/snmd-logsearch-https-values.yaml | 27 +-- .../test/minio/ci/snmd-logsearch-values.yaml | 27 +-- library/ix-dev/test/minio/ci/snmd-values.yaml | 16 +- .../test/minio/ci/snsd-https-values.yaml | 4 +- .../minio/ci/snsd-logsearch-https-values.yaml | 15 +- .../test/minio/ci/snsd-logsearch-values.yaml | 15 +- library/ix-dev/test/minio/ci/snsd-values.yaml | 4 +- library/ix-dev/test/minio/migrations/migrate | 42 +++- library/ix-dev/test/minio/questions.yaml | 229 ++++++++++++++---- .../ix-dev/test/minio/templates/_minio.tpl | 12 +- .../ix-dev/test/minio/templates/_postgres.tpl | 7 +- .../ix-dev/test/minio/templates/common.yaml | 10 + library/ix-dev/test/minio/to_keep_versions.md | 3 + .../ix-dev/test/minio/to_keep_versions.yaml | 1 + library/ix-dev/test/minio/values.yaml | 8 +- 20 files changed, 301 insertions(+), 147 deletions(-) delete mode 100644 library/ix-dev/test/minio/charts/common-1.2.2.tgz create mode 100644 library/ix-dev/test/minio/charts/common-1.2.6.tgz create mode 100644 library/ix-dev/test/minio/to_keep_versions.md create mode 100644 library/ix-dev/test/minio/to_keep_versions.yaml diff --git a/library/ix-dev/test/minio/Chart.lock b/library/ix-dev/test/minio/Chart.lock index 4bf65bf146..4a156de2e3 100644 --- a/library/ix-dev/test/minio/Chart.lock +++ b/library/ix-dev/test/minio/Chart.lock @@ -1,6 +1,6 @@ dependencies: - name: common repository: file://../../../common - version: 1.2.2 -digest: sha256:fb077cb81f6acecd5c9e6adc22a18e156f780cd78f27198cdb47810f95364b56 -generated: "2023-11-09T15:45:47.242411019+02:00" + version: 1.2.6 +digest: sha256:956cef64e364b567d2e5327a00e60b68f3ef765e003d6c35afc143bb81ecc26b +generated: "2024-01-02T19:33:31.872916193+02:00" diff --git a/library/ix-dev/test/minio/Chart.yaml b/library/ix-dev/test/minio/Chart.yaml index 5ea5d2f62c..00c796ff51 100644 --- a/library/ix-dev/test/minio/Chart.yaml +++ b/library/ix-dev/test/minio/Chart.yaml @@ -3,9 +3,9 @@ description: High Performance, Kubernetes Native Object Storage annotations: title: MinIO type: application -version: 1.0.24 +version: 1.1.0 apiVersion: v2 -appVersion: '2023-03-24' +appVersion: '2023-12-07' kubeVersion: '>=1.16.0-0' maintainers: - name: truenas @@ -14,7 +14,7 @@ maintainers: dependencies: - name: common repository: file://../../../common - version: 1.2.2 + version: 1.2.6 home: https://min.io icon: https://media.sys.truenas.net/apps/minio/icons/icon.png sources: diff --git a/library/ix-dev/test/minio/charts/common-1.2.2.tgz b/library/ix-dev/test/minio/charts/common-1.2.2.tgz deleted file mode 100644 index 6a22173c74f2a1d6e7ab27986c4275ef60c004d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62474 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 diff --git a/library/ix-dev/test/minio/charts/common-1.2.6.tgz b/library/ix-dev/test/minio/charts/common-1.2.6.tgz new file mode 100644 index 0000000000000000000000000000000000000000..77b6c4064197231782c2192e40c5c65ee34bb665 GIT binary patch literal 63149 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 literal 0 HcmV?d00001 diff --git a/library/ix-dev/test/minio/ci/snmd-https-values.yaml b/library/ix-dev/test/minio/ci/snmd-https-values.yaml index 05c5dac5a5..66a6de8c69 100644 --- a/library/ix-dev/test/minio/ci/snmd-https-values.yaml +++ b/library/ix-dev/test/minio/ci/snmd-https-values.yaml @@ -21,21 +21,13 @@ minioMultiMode: - /data{1...4} minioStorage: - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data1 - datasetName: "" + - type: pvc mountPath: /data1 - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data2 - datasetName: "" + - type: pvc mountPath: /data2 - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data3 - datasetName: "" + - type: pvc mountPath: /data3 - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data4 - datasetName: "" + - type: pvc mountPath: /data4 ixCertificates: diff --git a/library/ix-dev/test/minio/ci/snmd-logsearch-https-values.yaml b/library/ix-dev/test/minio/ci/snmd-logsearch-https-values.yaml index 048c0cb431..11631ab912 100644 --- a/library/ix-dev/test/minio/ci/snmd-logsearch-https-values.yaml +++ b/library/ix-dev/test/minio/ci/snmd-logsearch-https-values.yaml @@ -21,21 +21,13 @@ minioMultiMode: - /data{1...4} minioStorage: - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data1 - datasetName: "" + - type: pvc mountPath: /data1 - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data2 - datasetName: "" + - type: pvc mountPath: /data2 - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data3 - datasetName: "" + - type: pvc mountPath: /data3 - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data4 - datasetName: "" + - type: pvc mountPath: /data4 minioLogging: @@ -43,13 +35,12 @@ minioLogging: enabled: true diskCapacityGB: 5 pgData: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/postgres_data - datasetName: "" + type: pvc pgBackup: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/postgres_backup - datasetName: "" + type: emptyDir + emptyDirConfig: + size: "" + medium: "" ixCertificates: "1": diff --git a/library/ix-dev/test/minio/ci/snmd-logsearch-values.yaml b/library/ix-dev/test/minio/ci/snmd-logsearch-values.yaml index 3c13baae4e..ba5442026b 100644 --- a/library/ix-dev/test/minio/ci/snmd-logsearch-values.yaml +++ b/library/ix-dev/test/minio/ci/snmd-logsearch-values.yaml @@ -12,21 +12,13 @@ minioMultiMode: - /data{1...4} minioStorage: - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data1 - datasetName: "" + - type: pvc mountPath: /data1 - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data2 - datasetName: "" + - type: pvc mountPath: /data2 - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data3 - datasetName: "" + - type: pvc mountPath: /data3 - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data4 - datasetName: "" + - type: pvc mountPath: /data4 minioLogging: @@ -34,10 +26,9 @@ minioLogging: enabled: true diskCapacityGB: 5 pgData: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/postgres_data - datasetName: "" + type: pvc pgBackup: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/postgres_backup - datasetName: "" + type: emptyDir + emptyDirConfig: + size: "" + medium: "" diff --git a/library/ix-dev/test/minio/ci/snmd-values.yaml b/library/ix-dev/test/minio/ci/snmd-values.yaml index 481dd5aaf6..c6558d8d8b 100644 --- a/library/ix-dev/test/minio/ci/snmd-values.yaml +++ b/library/ix-dev/test/minio/ci/snmd-values.yaml @@ -12,19 +12,11 @@ minioMultiMode: - /data{1...4} minioStorage: - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data1 - datasetName: "" + - type: pvc mountPath: /data1 - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data2 - datasetName: "" + - type: pvc mountPath: /data2 - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data3 - datasetName: "" + - type: pvc mountPath: /data3 - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data4 - datasetName: "" + - type: pvc mountPath: /data4 diff --git a/library/ix-dev/test/minio/ci/snsd-https-values.yaml b/library/ix-dev/test/minio/ci/snsd-https-values.yaml index 8d9f00b1a1..8723232467 100644 --- a/library/ix-dev/test/minio/ci/snsd-https-values.yaml +++ b/library/ix-dev/test/minio/ci/snsd-https-values.yaml @@ -13,9 +13,7 @@ minioNetwork: certificateID: 1 minioStorage: - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data1 - datasetName: "" + - type: pvc mountPath: /data1 ixCertificates: diff --git a/library/ix-dev/test/minio/ci/snsd-logsearch-https-values.yaml b/library/ix-dev/test/minio/ci/snsd-logsearch-https-values.yaml index f882382a04..33d2e2f591 100644 --- a/library/ix-dev/test/minio/ci/snsd-logsearch-https-values.yaml +++ b/library/ix-dev/test/minio/ci/snsd-logsearch-https-values.yaml @@ -12,9 +12,7 @@ minioNetwork: certificateID: 1 minioStorage: - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data1 - datasetName: "" + - type: pvc mountPath: /data1 minioLogging: @@ -22,13 +20,12 @@ minioLogging: enabled: true diskCapacityGB: 5 pgData: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/postgres_data - datasetName: "" + type: pvc pgBackup: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/postgres_backup - datasetName: "" + type: emptyDir + emptyDirConfig: + size: "" + medium: "" ixCertificates: "1": diff --git a/library/ix-dev/test/minio/ci/snsd-logsearch-values.yaml b/library/ix-dev/test/minio/ci/snsd-logsearch-values.yaml index cde962dfb5..1f3878ee5e 100644 --- a/library/ix-dev/test/minio/ci/snsd-logsearch-values.yaml +++ b/library/ix-dev/test/minio/ci/snsd-logsearch-values.yaml @@ -9,9 +9,7 @@ minioCreds: rootPass: minio_test minioStorage: - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data1 - datasetName: "" + - type: pvc mountPath: /data1 minioLogging: @@ -19,10 +17,9 @@ minioLogging: enabled: true diskCapacityGB: 5 pgData: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/postgres_data - datasetName: "" + type: pvc pgBackup: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/postgres_backup - datasetName: "" + type: emptyDir + emptyDirConfig: + size: "" + medium: "" diff --git a/library/ix-dev/test/minio/ci/snsd-values.yaml b/library/ix-dev/test/minio/ci/snsd-values.yaml index 6ce309e1cd..8b52123616 100644 --- a/library/ix-dev/test/minio/ci/snsd-values.yaml +++ b/library/ix-dev/test/minio/ci/snsd-values.yaml @@ -13,7 +13,5 @@ minioRunAs: group: 1000 minioStorage: - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data1 - datasetName: "" + - type: pvc mountPath: /data1 diff --git a/library/ix-dev/test/minio/migrations/migrate b/library/ix-dev/test/minio/migrations/migrate index 4ad8ff5f66..c25c5e64a0 100755 --- a/library/ix-dev/test/minio/migrations/migrate +++ b/library/ix-dev/test/minio/migrations/migrate @@ -4,18 +4,52 @@ import os import sys +def storage_migrate(storage): + delete_keys = [] + if storage['type'] == 'hostPath': + # Check if the key exists, if not we have already migrated + if not storage.get('hostPath'): + return storage + + storage['hostPathConfig'] = {'hostPath': storage['hostPath']} + delete_keys.append('hostPath') + + elif storage['type'] == 'ixVolume': + # Check if the key exists, if not we have already migrated + if not storage.get('datasetName'): + return storage + + storage['ixVolumeConfig'] = {'datasetName': storage['datasetName']} + delete_keys.append('datasetName') + + # Clean up for some older versions. + if storage.get('hostPath'): + delete_keys.append('hostPath') + + for key in delete_keys: + storage.pop(key, None) + + return storage + + def migrate(values): storageKey = 'minioLogging' storageSubKey = 'logsearch' - storages = ['pgData', 'pgData'] + storages = ['pgData', 'pgBackup'] for storage in storages: check_val = values.get(storageKey, {}).get(storageSubKey, {}).get(storage, {}) - if not isinstance(check_val, dict) or not check_val or check_val.get('type', 'hostPath') == 'hostPath': - continue + if not isinstance(check_val, dict) or not check_val: + raise Exception(f'Storage section {storage} is malformed') - values[storageKey][storageSubKey][storage] = {key: value for key, value in check_val.items() if key != 'hostPath'} + values[storageKey][storageSubKey][storage] = storage_migrate(check_val) + dataStorageItems = values.get('minioStorage', {}) + for idx, storage in enumerate(dataStorageItems): + if not isinstance(storage, dict) or not storage: + raise Exception(f'Item {idx} in minioStorage is malformed') + + dataStorageItems[idx] = storage_migrate(storage) return values diff --git a/library/ix-dev/test/minio/questions.yaml b/library/ix-dev/test/minio/questions.yaml index c31eceb879..c88460f7b6 100644 --- a/library/ix-dev/test/minio/questions.yaml +++ b/library/ix-dev/test/minio/questions.yaml @@ -198,27 +198,66 @@ questions: required: true immutable: true default: /data1 - - variable: hostPath - label: Host Path - description: The host path to use for storage. + - variable: ixVolumeConfig + label: ixVolume Configuration + description: The configuration for the ixVolume dataset. schema: - type: hostpath - required: true - immutable: true - default: "" - show_if: [["type", "=", "hostPath"]] - - variable: datasetName - label: Dataset Name - description: The name of the dataset to use for storage. - schema: - type: string + type: dict show_if: [["type", "=", "ixVolume"]] - required: true - immutable: true - # Can we make this dynamic, so we can hide it?! - default: data1 $ref: - "normalize/ixVolume" + attrs: + - variable: aclEnable + label: Enable ACL + description: Enable ACL for the dataset. + schema: + type: boolean + # Hide ACL for now + hidden: true + default: false + - variable: datasetName + label: Dataset Name + description: The name of the dataset to use for storage. + schema: + type: string + required: true + immutable: true + default: "data1" + - variable: aclEntries + label: ACL Configuration + schema: + type: dict + show_if: [["aclEnable", "=", true]] + attrs: [] + - variable: hostPathConfig + label: Host Path Configuration + schema: + type: dict + show_if: [["type", "=", "hostPath"]] + attrs: + - variable: aclEnable + label: Enable ACL + description: Enable ACL for the dataset. + schema: + type: boolean + # Hide ACL for now + hidden: true + default: false + - variable: acl + label: ACL Configuration + schema: + type: dict + show_if: [["aclEnable", "=", true]] + attrs: [] + $ref: + - "normalize/acl" + - variable: hostPath + label: Host Path + description: The host path to use for storage. + schema: + type: hostpath + show_if: [["aclEnable", "=", false]] + required: true - variable: minioLogging label: "" @@ -266,6 +305,9 @@ questions: attrs: - variable: type label: Type + description: | + ixVolume: Is dataset created automatically by the system.
+ Host Path: Is a path that already exists on the system. schema: type: string required: true @@ -273,27 +315,74 @@ questions: default: ixVolume enum: - value: hostPath - description: Host Path + description: Host Path (Path that already exists on the system) - value: ixVolume - description: ixVolume - - variable: datasetName - label: Dataset Name + description: ixVolume (Dataset created automatically by the system) + - variable: ixVolumeConfig + label: ixVolume Configuration + description: The configuration for the ixVolume dataset. schema: - type: string - show_if: [["type", "=", "ixVolume"]] - required: true + type: dict + # Nothing to show for the user hidden: true - immutable: true - default: postgres-data + show_if: [["type", "=", "ixVolume"]] $ref: - "normalize/ixVolume" - - variable: hostPath - label: Host Path + attrs: + - variable: aclEnable + label: Enable ACL + description: Enable ACL for the dataset. + schema: + type: boolean + # Postgres does a CHMOD at startup + # Which fails with ACL + hidden: true + default: false + - variable: datasetName + label: Dataset Name + description: The name of the dataset to use for storage. + schema: + type: string + required: true + immutable: true + hidden: true + default: postgres-data + - variable: aclEntries + label: ACL Configuration + schema: + type: dict + show_if: [["aclEnable", "=", true]] + attrs: [] + - variable: hostPathConfig + label: Host Path Configuration schema: - type: hostpath + type: dict show_if: [["type", "=", "hostPath"]] - immutable: true - required: true + attrs: + - variable: aclEnable + label: Enable ACL + description: Enable ACL for the dataset. + schema: + type: boolean + # Postgres does a CHMOD at startup + # Which fails with ACL + hidden: true + default: false + - variable: acl + label: ACL Configuration + schema: + type: dict + show_if: [["aclEnable", "=", true]] + attrs: [] + $ref: + - "normalize/acl" + - variable: hostPath + label: Host Path + description: The host path to use for storage. + schema: + type: hostpath + show_if: [["aclEnable", "=", false]] + required: true - variable: pgBackup label: Postgres Backup Storage description: The path to store Postgres backups. @@ -302,32 +391,84 @@ questions: attrs: - variable: type label: Type + description: | + ixVolume: Is dataset created automatically by the system.
+ Host Path: Is a path that already exists on the system. schema: type: string required: true + immutable: true default: ixVolume enum: - value: hostPath - description: Host Path + description: Host Path (Path that already exists on the system) - value: ixVolume - description: ixVolume - - variable: datasetName - label: Dataset Name + description: ixVolume (Dataset created automatically by the system) + - variable: ixVolumeConfig + label: ixVolume Configuration + description: The configuration for the ixVolume dataset. schema: - type: string - show_if: [["type", "=", "ixVolume"]] - required: true + type: dict + # Nothing to show for the user hidden: true - immutable: true - default: postgres-backup + show_if: [["type", "=", "ixVolume"]] $ref: - "normalize/ixVolume" - - variable: hostPath - label: Host Path + attrs: + - variable: aclEnable + label: Enable ACL + description: Enable ACL for the dataset. + schema: + type: boolean + # Postgres does a CHMOD at startup + # Which fails with ACL + hidden: true + default: false + - variable: datasetName + label: Dataset Name + description: The name of the dataset to use for storage. + schema: + type: string + required: true + immutable: true + hidden: true + default: "postgres-backup" + - variable: aclEntries + label: ACL Configuration + schema: + type: dict + show_if: [["aclEnable", "=", true]] + attrs: [] + - variable: hostPathConfig + label: Host Path Configuration schema: - type: hostpath + type: dict show_if: [["type", "=", "hostPath"]] - required: true + attrs: + - variable: aclEnable + label: Enable ACL + description: Enable ACL for the dataset. + schema: + type: boolean + # Postgres does a CHMOD at startup + # Which fails with ACL + hidden: true + default: false + - variable: acl + label: ACL Configuration + schema: + type: dict + show_if: [["aclEnable", "=", true]] + attrs: [] + $ref: + - "normalize/acl" + - variable: hostPath + label: Host Path + description: The host path to use for storage. + schema: + type: hostpath + show_if: [["aclEnable", "=", false]] + required: true - variable: resources label: "" diff --git a/library/ix-dev/test/minio/templates/_minio.tpl b/library/ix-dev/test/minio/templates/_minio.tpl index d2a47e8166..e9e5b3903c 100644 --- a/library/ix-dev/test/minio/templates/_minio.tpl +++ b/library/ix-dev/test/minio/templates/_minio.tpl @@ -50,7 +50,8 @@ workload: port: "{{ .Values.minioNetwork.apiPort }}" path: /minio/health/live initContainers: - {{- include "ix.v1.common.app.permissions" (dict "UID" .Values.minioRunAs.user + {{- include "ix.v1.common.app.permissions" (dict "containerName" "01-permissions" + "UID" .Values.minioRunAs.user "GID" .Values.minioRunAs.group "type" "install") | nindent 8 -}} {{- if .Values.minioLogging.logsearch.enabled }} @@ -102,15 +103,16 @@ persistence: {{- range $idx, $storage := .Values.minioStorage }} {{ printf "data%v" (int $idx) }}: enabled: true - type: {{ $storage.type }} - datasetName: {{ $storage.datasetName | default "" }} - hostPath: {{ $storage.hostPath | default "" }} + {{- include "minio.storage.ci.migration" (dict "storage" $storage) }} + {{- include "ix.v1.common.app.storageOptions" (dict "storage" $storage) | nindent 4 }} targetSelector: minio: minio: mountPath: {{ $storage.mountPath }} - permissions: + {{- if and (eq $storage.type "ixVolume") (not ($storage.ixVolumeConfig | default dict).aclEnable) }} + 01-permissions: mountPath: /mnt/directories{{ $storage.mountPath }} + {{- end }} {{- end }} # Minio writes temporary files to this directory. Adding this as an emptyDir, # So we don't have to set readOnlyRootFilesystem to false diff --git a/library/ix-dev/test/minio/templates/_postgres.tpl b/library/ix-dev/test/minio/templates/_postgres.tpl index c8d97bdf84..3dbde1286d 100644 --- a/library/ix-dev/test/minio/templates/_postgres.tpl +++ b/library/ix-dev/test/minio/templates/_postgres.tpl @@ -1,11 +1,16 @@ {{- define "postgres.workload" -}} workload: -{{- include "ix.v1.common.app.postgres" (dict "secretName" "postgres-creds" "resources" .Values.resources) | nindent 2 }} +{{- include "ix.v1.common.app.postgres" (dict "secretName" "postgres-creds" + "resources" .Values.resources + "ixChartContext" .Values.ixChartContext) | nindent 2 }} {{/* Service */}} service: {{- include "ix.v1.common.app.postgresService" $ | nindent 2 }} +{{- include "minio.storage.ci.migration" (dict "storage" .Values.minioLogging.logsearch.pgData) }} +{{- include "minio.storage.ci.migration" (dict "storage" .Values.minioLogging.logsearch.pgBackup) }} + {{/* Persistence */}} persistence: {{- include "ix.v1.common.app.postgresPersistence" diff --git a/library/ix-dev/test/minio/templates/common.yaml b/library/ix-dev/test/minio/templates/common.yaml index b013a2644c..ec440ea1c9 100644 --- a/library/ix-dev/test/minio/templates/common.yaml +++ b/library/ix-dev/test/minio/templates/common.yaml @@ -1,5 +1,15 @@ {{- include "ix.v1.common.loader.init" . -}} +{{/* TODO: Remove on the next version bump, eg 1.1.0+ */}} +{{- define "minio.storage.ci.migration" -}} + {{- $storage := .storage -}} + + {{- if $storage.hostPath -}} + {{- $_ := set $storage "hostPathConfig" dict -}} + {{- $_ := set $storage.hostPathConfig "hostPath" $storage.hostPath -}} + {{- end -}} +{{- end -}} + {{/* Merge the templates with Values */}} {{- $_ := mustMergeOverwrite .Values (include "minio.configuration" $ | fromYaml) -}} diff --git a/library/ix-dev/test/minio/to_keep_versions.md b/library/ix-dev/test/minio/to_keep_versions.md new file mode 100644 index 0000000000..6d11261176 --- /dev/null +++ b/library/ix-dev/test/minio/to_keep_versions.md @@ -0,0 +1,3 @@ +# 1.0.24 + +This version is kept in order to be able to test the storage section migration diff --git a/library/ix-dev/test/minio/to_keep_versions.yaml b/library/ix-dev/test/minio/to_keep_versions.yaml new file mode 100644 index 0000000000..588b613a72 --- /dev/null +++ b/library/ix-dev/test/minio/to_keep_versions.yaml @@ -0,0 +1 @@ +- 1.0.24 diff --git a/library/ix-dev/test/minio/values.yaml b/library/ix-dev/test/minio/values.yaml index fe482ce6a9..de931fa715 100644 --- a/library/ix-dev/test/minio/values.yaml +++ b/library/ix-dev/test/minio/values.yaml @@ -1,6 +1,6 @@ image: repository: minio/minio - tag: RELEASE.2023-03-24T21-41-23Z + tag: RELEASE.2023-12-07T04-16-00Z pullPolicy: IfNotPresent logsearchImage: @@ -42,7 +42,9 @@ minioLogging: diskCapacityGB: 5 pgData: type: ixVolume - datasetName: postgres-data + ixVolumeConfig: + datasetName: postgres-data pgBackup: type: ixVolume - datasetName: postgres-backup + ixVolumeConfig: + datasetName: postgres-backup