From 77b48b120bd158b08946e4ffacd8602c1ebb635f Mon Sep 17 00:00:00 2001 From: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:31:05 +0200 Subject: [PATCH] grafana - migrate storage (adds acls) (#1866) * adapt ci values * bump common and version * update readme * update values * update template * update questions * add migration * skip when acl are enabled * typo * adapt for helm 3.9.4 * one more --- library/ix-dev/community/grafana/Chart.lock | 6 +- library/ix-dev/community/grafana/Chart.yaml | 4 +- library/ix-dev/community/grafana/README.md | 5 - .../ix-dev/community/grafana/app-readme.md | 5 - .../community/grafana/charts/common-1.2.3.tgz | Bin 62997 -> 0 bytes .../community/grafana/charts/common-1.2.4.tgz | Bin 0 -> 63061 bytes .../grafana/ci/basic-plugin-values.yaml | 6 +- .../community/grafana/ci/basic-values.yaml | 3 +- .../grafana/ci/https-plugins-values.yaml | 6 +- .../community/grafana/ci/https-values.yaml | 3 +- .../community/grafana/migrations/migrate | 73 ++++++ .../ix-dev/community/grafana/questions.yaml | 217 ++++++++++++------ .../community/grafana/templates/_grafana.tpl | 43 ++-- library/ix-dev/community/grafana/values.yaml | 3 +- 14 files changed, 258 insertions(+), 116 deletions(-) delete mode 100644 library/ix-dev/community/grafana/charts/common-1.2.3.tgz create mode 100644 library/ix-dev/community/grafana/charts/common-1.2.4.tgz create mode 100755 library/ix-dev/community/grafana/migrations/migrate diff --git a/library/ix-dev/community/grafana/Chart.lock b/library/ix-dev/community/grafana/Chart.lock index 5547d0e03a..07c6007007 100644 --- a/library/ix-dev/community/grafana/Chart.lock +++ b/library/ix-dev/community/grafana/Chart.lock @@ -1,6 +1,6 @@ dependencies: - name: common repository: file://../../../common - version: 1.2.3 -digest: sha256:e6ff49b06bf5d4d159e505ae6d153f36cd46170bb519caf90462cd5caebfd0fb -generated: "2023-11-15T12:46:39.652341433+02:00" + version: 1.2.4 +digest: sha256:47ebfd41bc2ac33ab6989e7bd4d1d3aea662365fffa8b525a24cc56a2a35c174 +generated: "2023-12-13T15:31:53.4026267+02:00" diff --git a/library/ix-dev/community/grafana/Chart.yaml b/library/ix-dev/community/grafana/Chart.yaml index e13e4e1336..c759a32ada 100644 --- a/library/ix-dev/community/grafana/Chart.yaml +++ b/library/ix-dev/community/grafana/Chart.yaml @@ -4,7 +4,7 @@ description: Grafana is the open source analytics & monitoring solution for ever annotations: title: Grafana type: application -version: 1.1.4 +version: 1.2.0 apiVersion: v2 appVersion: 10.2.2 kubeVersion: '>=1.16.0-0' @@ -15,7 +15,7 @@ maintainers: dependencies: - name: common repository: file://../../../common - version: 1.2.3 + version: 1.2.4 home: https://grafana.com icon: https://media.sys.truenas.net/apps/grafana/icons/icon.png sources: diff --git a/library/ix-dev/community/grafana/README.md b/library/ix-dev/community/grafana/README.md index 78663222bd..aa350168cf 100644 --- a/library/ix-dev/community/grafana/README.md +++ b/library/ix-dev/community/grafana/README.md @@ -2,11 +2,6 @@ [Grafana](https://grafana.com/) is the open source analytics & monitoring solution for every database. -> When application is installed, a container will be launched with **root** privileges. -> This is required in order to apply the correct permissions to the `Grafana` directories. -> Afterward, the `Grafana` container will run as a **non**-root user (Default: `568`). -> All mounted storage(s) will be `chown`ed only if the parent directory does not match the configured user. - Additional configuration can be made by adding additional environment variables Here is the available [configuration documentation](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/) diff --git a/library/ix-dev/community/grafana/app-readme.md b/library/ix-dev/community/grafana/app-readme.md index 78663222bd..aa350168cf 100644 --- a/library/ix-dev/community/grafana/app-readme.md +++ b/library/ix-dev/community/grafana/app-readme.md @@ -2,11 +2,6 @@ [Grafana](https://grafana.com/) is the open source analytics & monitoring solution for every database. -> When application is installed, a container will be launched with **root** privileges. -> This is required in order to apply the correct permissions to the `Grafana` directories. -> Afterward, the `Grafana` container will run as a **non**-root user (Default: `568`). -> All mounted storage(s) will be `chown`ed only if the parent directory does not match the configured user. - Additional configuration can be made by adding additional environment variables Here is the available [configuration documentation](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/) diff --git a/library/ix-dev/community/grafana/charts/common-1.2.3.tgz b/library/ix-dev/community/grafana/charts/common-1.2.3.tgz deleted file mode 100644 index 6cc0148de23f46d338a851927812c0935a42b551..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62997 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 z 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 diff --git a/library/ix-dev/community/grafana/charts/common-1.2.4.tgz b/library/ix-dev/community/grafana/charts/common-1.2.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dfcb1cae6ed9b59a833dfacd36c010f6c6c05465 GIT binary patch literal 63061 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

+OGDGkgJGNK&sg!htofNEVbw;?ce8JP0JCglI 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 literal 0 HcmV?d00001 diff --git a/library/ix-dev/community/grafana/ci/basic-plugin-values.yaml b/library/ix-dev/community/grafana/ci/basic-plugin-values.yaml index 41b2f9c940..46fb30bdb8 100644 --- a/library/ix-dev/community/grafana/ci/basic-plugin-values.yaml +++ b/library/ix-dev/community/grafana/ci/basic-plugin-values.yaml @@ -1,10 +1,8 @@ grafanaStorage: data: - type: hostPath - hostPath: /mnt/{{ .Release.Name }}/data + type: pvc additionalStorages: - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/logs + - type: pvc mountPath: /logs grafanaConfig: diff --git a/library/ix-dev/community/grafana/ci/basic-values.yaml b/library/ix-dev/community/grafana/ci/basic-values.yaml index 858792030c..0f12eb52b4 100644 --- a/library/ix-dev/community/grafana/ci/basic-values.yaml +++ b/library/ix-dev/community/grafana/ci/basic-values.yaml @@ -1,7 +1,6 @@ grafanaStorage: data: - type: hostPath - hostPath: /mnt/{{ .Release.Name }}/data + type: pvc grafanaRunAs: user: 1000 diff --git a/library/ix-dev/community/grafana/ci/https-plugins-values.yaml b/library/ix-dev/community/grafana/ci/https-plugins-values.yaml index 5dcb472790..46b6dab338 100644 --- a/library/ix-dev/community/grafana/ci/https-plugins-values.yaml +++ b/library/ix-dev/community/grafana/ci/https-plugins-values.yaml @@ -1,10 +1,8 @@ grafanaStorage: data: - type: hostPath - hostPath: /mnt/{{ .Release.Name }}/data + type: pvc additionalStorages: - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/logs + - type: pvc mountPath: /logs grafanaNetwork: diff --git a/library/ix-dev/community/grafana/ci/https-values.yaml b/library/ix-dev/community/grafana/ci/https-values.yaml index 3d631978e9..5c1aced3e1 100644 --- a/library/ix-dev/community/grafana/ci/https-values.yaml +++ b/library/ix-dev/community/grafana/ci/https-values.yaml @@ -1,7 +1,6 @@ grafanaStorage: data: - type: hostPath - hostPath: /mnt/{{ .Release.Name }}/data + type: pvc grafanaNetwork: certificateID: 1 diff --git a/library/ix-dev/community/grafana/migrations/migrate b/library/ix-dev/community/grafana/migrations/migrate new file mode 100755 index 0000000000..8a8091f41e --- /dev/null +++ b/library/ix-dev/community/grafana/migrations/migrate @@ -0,0 +1,73 @@ +#!/usr/bin/python3 +import json +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') + + elif storage['type'] == 'smb-pv-pvc': + # Check if the key exists, if not we have already migrated + if not storage.get('server'): + return storage + + storage['smbConfig'] = { + 'server': storage['server'], + 'share': storage['share'], + 'domain': storage['domain'], + 'username': storage['username'], + 'password': storage['password'], + 'size': storage['size'], + } + delete_keys.extend(['server', 'share', 'domain', 'username', 'password', 'size']) + + for key in delete_keys: + storage.pop(key, None) + + return storage + + +def migrate(values): + storage_key = 'grafanaStorage' + storages = ['data'] + + for storage in storages: + check_val = values.get(storage_key, {}).get(storage, {}) + if not isinstance(check_val, dict) or not check_val: + raise Exception(f'Storage section {storage} is malformed') + + values[storage_key][storage] = storage_migrate(check_val) + + additionalStorages = values.get(storage_key, {}).get('additionalStorages', []) + for idx, storage in enumerate(additionalStorages): + if not isinstance(storage, dict) or not storage: + raise Exception(f'Item {idx} in additionalStorages is malformed') + + values[storage_key]['additionalStorages'][idx] = storage_migrate(storage) + + return values + + +if __name__ == '__main__': + if len(sys.argv) != 2: + exit(1) + + if os.path.exists(sys.argv[1]): + with open(sys.argv[1], 'r') as f: + print(json.dumps(migrate(json.loads(f.read())))) diff --git a/library/ix-dev/community/grafana/questions.yaml b/library/ix-dev/community/grafana/questions.yaml index b0f25a6e77..9bd1ccef36 100644 --- a/library/ix-dev/community/grafana/questions.yaml +++ b/library/ix-dev/community/grafana/questions.yaml @@ -159,24 +159,64 @@ questions: description: Host Path (Path that already exists on the system) - value: "ixVolume" description: ixVolume (Dataset created automatically by the system) - - variable: datasetName - label: Dataset Name + - variable: ixVolumeConfig + label: ixVolume Configuration + description: The configuration for the ixVolume dataset. schema: - type: string + type: dict show_if: [["type", "=", "ixVolume"]] - required: true - hidden: true - immutable: true - default: "data" $ref: - "normalize/ixVolume" - - variable: hostPath - label: Host Path + attrs: + - variable: aclEnable + label: Enable ACL + description: Enable ACL for the dataset. + schema: + type: boolean + 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: "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 + 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: additionalStorages label: Additional Storage description: Additional storage for Grafana. @@ -207,74 +247,119 @@ questions: description: ixVolume (Dataset created automatically by the system) - value: "smb-pv-pvc" description: SMB Share (Mounts a persistent volume claim to a SMB share) + - variable: readOnly + label: Read Only + description: Mount the volume as read only. + schema: + type: boolean + default: false - variable: mountPath label: Mount Path description: The path inside the container to mount the storage. schema: type: path required: true - - variable: hostPath - label: Host Path - description: The host path to use for storage. + - variable: hostPathConfig + label: Host Path Configuration schema: - type: hostpath + type: dict show_if: [["type", "=", "hostPath"]] - required: true - - variable: datasetName - label: Dataset Name - description: The name of the dataset to use for storage. + attrs: + - variable: aclEnable + label: Enable ACL + description: Enable ACL for the dataset. + schema: + type: boolean + 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: ixVolumeConfig + label: ixVolume Configuration + description: The configuration for the ixVolume dataset. schema: - type: string + type: dict show_if: [["type", "=", "ixVolume"]] - required: true - immutable: true - default: "storage_entry" $ref: - "normalize/ixVolume" - - variable: server - label: Server - description: The server for the SMB share. + attrs: + - variable: aclEnable + label: Enable ACL + description: Enable ACL for the dataset. + schema: + type: boolean + 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: "storage_entry" + - variable: aclEntries + label: ACL Configuration + schema: + type: dict + show_if: [["aclEnable", "=", true]] + attrs: [] + - variable: smbConfig + label: SMB Share Configuration + description: The configuration for the SMB Share. schema: - type: string + type: dict show_if: [["type", "=", "smb-pv-pvc"]] - required: true - - variable: share - label: Share - description: The share name for the SMB share. - schema: - type: string - show_if: [["type", "=", "smb-pv-pvc"]] - required: true - - variable: domain - label: Domain (Optional) - description: The domain for the SMB share. - schema: - type: string - show_if: [["type", "=", "smb-pv-pvc"]] - - variable: username - label: Username - description: The username for the SMB share. - schema: - type: string - show_if: [["type", "=", "smb-pv-pvc"]] - required: true - - variable: password - label: Password - description: The password for the SMB share. - schema: - type: string - show_if: [["type", "=", "smb-pv-pvc"]] - required: true - private: true - - variable: size - label: Size (in Gi) - description: The size of the volume quota. - schema: - type: int - show_if: [["type", "=", "smb-pv-pvc"]] - required: true - min: 1 - default: 1 + attrs: + - variable: server + label: Server + description: The server for the SMB share. + schema: + type: string + required: true + - variable: share + label: Share + description: The share name for the SMB share. + schema: + type: string + required: true + - variable: domain + label: Domain (Optional) + description: The domain for the SMB share. + schema: + type: string + - variable: username + label: Username + description: The username for the SMB share. + schema: + type: string + required: true + - variable: password + label: Password + description: The password for the SMB share. + schema: + type: string + required: true + private: true + - variable: size + label: Size (in Gi) + description: The size of the volume quota. + schema: + type: int + required: true + min: 1 + default: 1 - variable: resources group: Resources Configuration diff --git a/library/ix-dev/community/grafana/templates/_grafana.tpl b/library/ix-dev/community/grafana/templates/_grafana.tpl index 57b467c37e..bcf6eaf118 100644 --- a/library/ix-dev/community/grafana/templates/_grafana.tpl +++ b/library/ix-dev/community/grafana/templates/_grafana.tpl @@ -49,7 +49,7 @@ workload: "UID" .Values.grafanaRunAs.user "GID" .Values.grafanaRunAs.group "mode" "check" - "type" "init") | nindent 8 }} + "type" "install") | nindent 8 }} {{/* Service */}} service: @@ -70,15 +70,17 @@ service: persistence: data: enabled: true - type: {{ .Values.grafanaStorage.data.type }} - datasetName: {{ .Values.grafanaStorage.data.datasetName | default "" }} - hostPath: {{ .Values.grafanaStorage.data.hostPath | default "" }} + {{- include "grafana.storage.ci.migration" (dict "storage" .Values.grafanaStorage.data) }} + {{- include "ix.v1.common.app.storageOptions" (dict "storage" .Values.grafanaStorage.data) | nindent 4 }} targetSelector: grafana: grafana: mountPath: /var/lib/grafana + {{- if and (eq .Values.grafanaStorage.data.type "ixVolume") + (not (.Values.grafanaStorage.data.ixVolumeConfig | default dict).aclEnable) }} 01-permissions: mountPath: /mnt/directories/data + {{- end }} tmp: enabled: true type: emptyDir @@ -87,31 +89,18 @@ persistence: grafana: mountPath: /tmp {{- range $idx, $storage := .Values.grafanaStorage.additionalStorages }} - {{ printf "grafana-%v" (int $idx) }}: - {{- $size := "" -}} - {{- if $storage.size -}} - {{- $size = (printf "%vGi" $storage.size) -}} - {{- end }} + {{ printf "grafana-%v:" (int $idx) }} enabled: true - type: {{ $storage.type }} - datasetName: {{ $storage.datasetName | default "" }} - hostPath: {{ $storage.hostPath | default "" }} - server: {{ $storage.server | default "" }} - share: {{ $storage.share | default "" }} - domain: {{ $storage.domain | default "" }} - username: {{ $storage.username | default "" }} - password: {{ $storage.password | default "" }} - size: {{ $size }} - {{- if eq $storage.type "smb-pv-pvc" }} - mountOptions: - - key: noperm - {{- end }} + {{- include "grafana.storage.ci.migration" (dict "storage" $storage) }} + {{- include "ix.v1.common.app.storageOptions" (dict "storage" $storage) | nindent 4 }} targetSelector: grafana: grafana: mountPath: {{ $storage.mountPath }} + {{- if and (eq $storage.type "ixVolume") (not ($storage.ixVolumeConfig | default dict).aclEnable) }} 01-permissions: mountPath: /mnt/directories{{ $storage.mountPath }} + {{- end }} {{- end }} {{- if .Values.grafanaNetwork.certificateID }} cert: @@ -136,3 +125,13 @@ scaleCertificate: id: {{ .Values.grafanaNetwork.certificateID }} {{- end -}} {{- end -}} + +{{/* TODO: Remove on the next version bump, eg 1.2.0+ */}} +{{- define "grafana.storage.ci.migration" -}} + {{- $storage := .storage -}} + + {{- if $storage.hostPath -}} + {{- $_ := set $storage "hostPathConfig" dict -}} + {{- $_ := set $storage.hostPathConfig "hostPath" $storage.hostPath -}} + {{- end -}} +{{- end -}} diff --git a/library/ix-dev/community/grafana/values.yaml b/library/ix-dev/community/grafana/values.yaml index 177b579514..7d754600b1 100644 --- a/library/ix-dev/community/grafana/values.yaml +++ b/library/ix-dev/community/grafana/values.yaml @@ -25,7 +25,8 @@ grafanaRunAs: grafanaStorage: data: type: ixVolume - datasetName: data + ixVolumeConfig: + datasetName: data additionalStorages: [] notes: