From b96df93275bd2cd045b3f5298af76db2f3060099 Mon Sep 17 00:00:00 2001 From: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Date: Tue, 21 Nov 2023 19:00:08 +0200 Subject: [PATCH] paperless-ngx - migrate storage section (#1769) * paperless-ngx - migrate storage section * remove chown * optimize * remove empty lines * restore immutable flag --- .../ix-dev/community/paperless-ngx/Chart.lock | 6 +- .../ix-dev/community/paperless-ngx/Chart.yaml | 4 +- .../paperless-ngx/charts/common-1.2.2.tgz | Bin 62477 -> 0 bytes .../paperless-ngx/charts/common-1.2.3.tgz | Bin 0 -> 63005 bytes .../paperless-ngx/ci/basic-values.yaml | 18 +- .../paperless-ngx/ci/extra-values.yaml | 24 +- .../paperless-ngx/ci/hostNet-values.yaml | 18 +- .../paperless-ngx/migrations/migrate | 73 +++ .../community/paperless-ngx/questions.yaml | 557 ++++++++++++++---- .../paperless-ngx/templates/_paperless.tpl | 8 - .../paperless-ngx/templates/_persistence.tpl | 55 +- .../community/paperless-ngx/values.yaml | 18 +- 12 files changed, 564 insertions(+), 217 deletions(-) delete mode 100644 library/ix-dev/community/paperless-ngx/charts/common-1.2.2.tgz create mode 100644 library/ix-dev/community/paperless-ngx/charts/common-1.2.3.tgz create mode 100755 library/ix-dev/community/paperless-ngx/migrations/migrate diff --git a/library/ix-dev/community/paperless-ngx/Chart.lock b/library/ix-dev/community/paperless-ngx/Chart.lock index 368a6a6cf0..47a0ce19a6 100644 --- a/library/ix-dev/community/paperless-ngx/Chart.lock +++ b/library/ix-dev/community/paperless-ngx/Chart.lock @@ -1,6 +1,6 @@ dependencies: - name: common repository: file://../../../common - version: 1.2.2 -digest: sha256:fb077cb81f6acecd5c9e6adc22a18e156f780cd78f27198cdb47810f95364b56 -generated: "2023-11-09T15:42:36.644289587+02:00" + version: 1.2.3 +digest: sha256:e6ff49b06bf5d4d159e505ae6d153f36cd46170bb519caf90462cd5caebfd0fb +generated: "2023-11-20T15:52:31.791351612+02:00" diff --git a/library/ix-dev/community/paperless-ngx/Chart.yaml b/library/ix-dev/community/paperless-ngx/Chart.yaml index 17aba0fc24..a44f83682f 100644 --- a/library/ix-dev/community/paperless-ngx/Chart.yaml +++ b/library/ix-dev/community/paperless-ngx/Chart.yaml @@ -3,7 +3,7 @@ description: Paperless-ngx is a document management system that transforms your annotations: title: Paperless-ngx type: application -version: 1.1.3 +version: 1.2.0 apiVersion: v2 appVersion: 1.17.4 kubeVersion: '>=1.16.0-0' @@ -14,7 +14,7 @@ maintainers: dependencies: - name: common repository: file://../../../common - version: 1.2.2 + version: 1.2.3 home: https://docs.paperless-ngx.com icon: https://media.sys.truenas.net/apps/paperless-ngx/icons/icon.svg sources: diff --git a/library/ix-dev/community/paperless-ngx/charts/common-1.2.2.tgz b/library/ix-dev/community/paperless-ngx/charts/common-1.2.2.tgz deleted file mode 100644 index deaad54af1f3b17ff57f7456315a9409856f53ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62477 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%0D3-}>0)IsAR}jOJ~9Kqw5F}g!TO6X|M7$k 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
    T6$4jUP_Mmh6VZ)bYOlHvb4%=xdEO8&2q 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 diff --git a/library/ix-dev/community/paperless-ngx/charts/common-1.2.3.tgz b/library/ix-dev/community/paperless-ngx/charts/common-1.2.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..cf8c3aa158d6fedb3dae644ad8e2d4e15917dcef GIT binary patch literal 63005 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
  • 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 z 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 literal 0 HcmV?d00001 diff --git a/library/ix-dev/community/paperless-ngx/ci/basic-values.yaml b/library/ix-dev/community/paperless-ngx/ci/basic-values.yaml index 9e82c65bd0..bb84c31bb2 100644 --- a/library/ix-dev/community/paperless-ngx/ci/basic-values.yaml +++ b/library/ix-dev/community/paperless-ngx/ci/basic-values.yaml @@ -12,20 +12,14 @@ paperlessID: paperlessStorage: data: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data + type: pvc media: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/media + type: pvc consume: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/consume + type: pvc trash: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/trash + type: pvc pgData: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/pgData + type: pvc pgBackup: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/pgBackup + type: emptyDir diff --git a/library/ix-dev/community/paperless-ngx/ci/extra-values.yaml b/library/ix-dev/community/paperless-ngx/ci/extra-values.yaml index ac382b9923..031971dc39 100644 --- a/library/ix-dev/community/paperless-ngx/ci/extra-values.yaml +++ b/library/ix-dev/community/paperless-ngx/ci/extra-values.yaml @@ -18,27 +18,19 @@ paperlessID: paperlessStorage: data: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data + type: pvc media: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/media + type: pvc consume: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/consume + type: pvc trash: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/trash + type: pvc pgData: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/pgData + type: pvc pgBackup: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/pgBackup + type: emptyDir additionalStorages: - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data1 + - type: pvc mountPath: /data1 - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data2 + - type: pvc mountPath: /data2 diff --git a/library/ix-dev/community/paperless-ngx/ci/hostNet-values.yaml b/library/ix-dev/community/paperless-ngx/ci/hostNet-values.yaml index c638b3e640..9b4d4e7b87 100644 --- a/library/ix-dev/community/paperless-ngx/ci/hostNet-values.yaml +++ b/library/ix-dev/community/paperless-ngx/ci/hostNet-values.yaml @@ -9,20 +9,14 @@ paperlessConfig: paperlessStorage: data: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data + type: pvc media: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/media + type: pvc consume: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/consume + type: pvc trash: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/trash + type: pvc pgData: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/pgData + type: pvc pgBackup: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/pgBackup + type: emptyDir diff --git a/library/ix-dev/community/paperless-ngx/migrations/migrate b/library/ix-dev/community/paperless-ngx/migrations/migrate new file mode 100755 index 0000000000..58c2e03499 --- /dev/null +++ b/library/ix-dev/community/paperless-ngx/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 = 'paperlessStorage' + storages = ['data', 'media', 'consume', 'trash', 'pgData', 'pgBackup'] + + 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/paperless-ngx/questions.yaml b/library/ix-dev/community/paperless-ngx/questions.yaml index 84f55f7580..2a876820fc 100644 --- a/library/ix-dev/community/paperless-ngx/questions.yaml +++ b/library/ix-dev/community/paperless-ngx/questions.yaml @@ -172,24 +172,65 @@ 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: hostPathConfig 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]] + immutable: true + required: true + - variable: media label: Paperless-ngx Media Storage description: The path to store Paperless-ngx Media. @@ -211,24 +252,65 @@ 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: "media" $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: "media" + - variable: aclEntries + label: ACL Configuration + schema: + type: dict + show_if: [["aclEnable", "=", true]] + attrs: [] + - variable: hostPathConfig + label: hostPathConfig 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]] + immutable: true + required: true + - variable: consume label: Paperless-ngx Consumption Storage description: The path to store Paperless-ngx Data for Consumption. @@ -250,24 +332,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: "consume" $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: "consume" + - variable: aclEntries + label: ACL Configuration + schema: + type: dict + show_if: [["aclEnable", "=", true]] + attrs: [] + - variable: hostPathConfig + label: hostPathConfig 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]] + immutable: true + required: true - variable: trash label: Paperless-ngx Trash Storage description: | @@ -291,24 +413,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: "trash" $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: "trash" + - variable: aclEntries + label: ACL Configuration + schema: + type: dict + show_if: [["aclEnable", "=", true]] + attrs: [] + - variable: hostPathConfig + label: hostPathConfig 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]] + immutable: true + required: true - variable: pgData label: Paperless-ngx Postgres Data Storage @@ -331,24 +493,73 @@ 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 - show_if: [["type", "=", "ixVolume"]] - required: true + type: dict + # Nothing to show for the user hidden: true - immutable: true - default: pgData + 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: "pgData" + - variable: aclEntries + label: ACL Configuration + schema: + type: dict + show_if: [["aclEnable", "=", true]] + attrs: [] + - variable: hostPathConfig + label: hostPathConfig 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]] + immutable: true + required: true + - variable: pgBackup label: Paperless-ngx Postgres Backup Storage description: The path to store Paperless-ngx Postgres Backup. @@ -370,24 +581,72 @@ 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 - show_if: [["type", "=", "ixVolume"]] - required: true + type: dict + # Nothing to show for the user hidden: true - immutable: true - default: pgBackup + 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: "pgBackup" + - variable: aclEntries + label: ACL Configuration + schema: + type: dict + show_if: [["aclEnable", "=", true]] + attrs: [] + - variable: hostPathConfig + label: hostPathConfig 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]] + immutable: true + required: true - variable: additionalStorages label: Additional Storage @@ -419,74 +678,120 @@ 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: hostPathConfig 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]] + immutable: true + 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/paperless-ngx/templates/_paperless.tpl b/library/ix-dev/community/paperless-ngx/templates/_paperless.tpl index cf691ce218..f8fa6cb50d 100644 --- a/library/ix-dev/community/paperless-ngx/templates/_paperless.tpl +++ b/library/ix-dev/community/paperless-ngx/templates/_paperless.tpl @@ -52,14 +52,6 @@ workload: port: {{ .Values.paperlessNetwork.webPort }} path: / initContainers: - {{- if .Values.paperlessConfig.enableTrash }} - {{/* Paperless entrypoint never chowns the trash and fails if the permissions are wrong */}} - {{- include "ix.v1.common.app.permissions" (dict "containerName" "01-permissions" - "UID" .Values.paperlessID.user - "GID" .Values.paperlessID.group - "mode" "check" - "type" "init") | nindent 8 }} - {{- end }} {{- include "ix.v1.common.app.redisWait" (dict "name" "02-redis-wait" "secretName" "redis-creds") | nindent 8 }} {{- include "ix.v1.common.app.postgresWait" (dict "name" "03-postgres-wait" diff --git a/library/ix-dev/community/paperless-ngx/templates/_persistence.tpl b/library/ix-dev/community/paperless-ngx/templates/_persistence.tpl index 01c2a2e2af..12a907a45a 100644 --- a/library/ix-dev/community/paperless-ngx/templates/_persistence.tpl +++ b/library/ix-dev/community/paperless-ngx/templates/_persistence.tpl @@ -2,42 +2,36 @@ persistence: data: enabled: true - type: {{ .Values.paperlessStorage.data.type }} - datasetName: {{ .Values.paperlessStorage.data.datasetName | default "" }} - hostPath: {{ .Values.paperlessStorage.data.hostPath | default "" }} + {{- include "paperless.storage.ci.migration" (dict "storage" .Values.paperlessStorage.data) }} + {{- include "ix.v1.common.app.storageOptions" (dict "storage" .Values.paperlessStorage.data) | nindent 4 }} targetSelector: paperless: paperless: mountPath: /usr/src/paperless/data media: enabled: true - type: {{ .Values.paperlessStorage.media.type }} - datasetName: {{ .Values.paperlessStorage.media.datasetName | default "" }} - hostPath: {{ .Values.paperlessStorage.media.hostPath | default "" }} + {{- include "paperless.storage.ci.migration" (dict "storage" .Values.paperlessStorage.media) }} + {{- include "ix.v1.common.app.storageOptions" (dict "storage" .Values.paperlessStorage.media) | nindent 4 }} targetSelector: paperless: paperless: mountPath: /usr/src/paperless/media consume: enabled: true - type: {{ .Values.paperlessStorage.consume.type }} - datasetName: {{ .Values.paperlessStorage.consume.datasetName | default "" }} - hostPath: {{ .Values.paperlessStorage.consume.hostPath | default "" }} + {{- include "paperless.storage.ci.migration" (dict "storage" .Values.paperlessStorage.consume) }} + {{- include "ix.v1.common.app.storageOptions" (dict "storage" .Values.paperlessStorage.consume) | nindent 4 }} targetSelector: paperless: paperless: mountPath: /usr/src/paperless/consume trash: enabled: true - type: {{ .Values.paperlessStorage.trash.type }} - datasetName: {{ .Values.paperlessStorage.trash.datasetName | default "" }} - hostPath: {{ .Values.paperlessStorage.trash.hostPath | default "" }} + {{- include "paperless.storage.ci.migration" (dict "storage" .Values.paperlessStorage.trash) }} + {{- include "ix.v1.common.app.storageOptions" (dict "storage" .Values.paperlessStorage.trash) | nindent 4 }} targetSelector: paperless: paperless: mountPath: /usr/src/paperless/trash - 01-permissions: - mountPath: /mnt/directories/trash tmp: enabled: true type: emptyDir @@ -46,33 +40,30 @@ persistence: paperless: mountPath: /tmp {{- range $idx, $storage := .Values.paperlessStorage.additionalStorages }} - {{ printf "paperless-%v" (int $idx) }}: - {{- $size := "" -}} - {{- if $storage.size -}} - {{- $size = (printf "%vGi" $storage.size) -}} - {{- end }} + {{ printf "paperless-%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 "paperless.storage.ci.migration" (dict "storage" $storage) }} + {{- include "ix.v1.common.app.storageOptions" (dict "storage" $storage) | nindent 4 }} targetSelector: paperless: paperless: mountPath: {{ $storage.mountPath }} {{- end }} + {{- include "paperless.storage.ci.migration" (dict "storage" .Values.paperlessStorage.pgData) }} + {{- include "paperless.storage.ci.migration" (dict "storage" .Values.paperlessStorage.pgBackup) }} {{- include "ix.v1.common.app.postgresPersistence" (dict "pgData" .Values.paperlessStorage.pgData "pgBackup" .Values.paperlessStorage.pgBackup ) | nindent 2 }} {{- end -}} + +{{/* TODO: Remove on the next version bump, eg 1.2.0+ */}} +{{- define "paperless.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/paperless-ngx/values.yaml b/library/ix-dev/community/paperless-ngx/values.yaml index ad600ae8fa..d576d7a7a9 100644 --- a/library/ix-dev/community/paperless-ngx/values.yaml +++ b/library/ix-dev/community/paperless-ngx/values.yaml @@ -26,22 +26,28 @@ paperlessID: paperlessStorage: data: type: ixVolume - datasetName: data + ixVolumeConfig: + datasetName: data media: type: ixVolume - datasetName: media + ixVolumeConfig: + datasetName: media consume: type: ixVolume - datasetName: consume + ixVolumeConfig: + datasetName: consume trash: type: ixVolume - datasetName: trash + ixVolumeConfig: + datasetName: trash pgData: type: ixVolume - datasetName: pgData + ixVolumeConfig: + datasetName: pgData pgBackup: type: ixVolume - datasetName: pgBackup + ixVolumeConfig: + datasetName: pgBackup additionalStorages: [] notes: