From 3cd21477ebfd9b208f21204bba49e33e3c813644 Mon Sep 17 00:00:00 2001 From: sonicaj Date: Wed, 22 Nov 2023 18:11:08 +0000 Subject: [PATCH] Publish new changes in catalog --- community/planka/1.1.4/Chart.lock | 6 - .../planka/1.1.4/charts/common-1.2.2.tgz | Bin 62475 -> 0 bytes community/planka/1.1.4/ci/basic-values.yaml | 26 - community/planka/1.1.4/ci/extra-values.yaml | 29 - community/planka/1.1.4/ci/hostNet-values.yaml | 23 - community/planka/1.1.4/questions.yaml | 460 ----------- .../planka/1.1.4/templates/_persistence.tpl | 76 -- community/planka/1.2.0/Chart.lock | 6 + community/planka/{1.1.4 => 1.2.0}/Chart.yaml | 6 +- community/planka/{1.1.4 => 1.2.0}/README.md | 0 .../planka/{1.1.4 => 1.2.0}/app-readme.md | 0 .../planka/1.2.0/charts/common-1.2.3.tgz | Bin 0 -> 63003 bytes community/planka/1.2.0/ci/basic-values.yaml | 21 + community/planka/1.2.0/ci/extra-values.yaml | 22 + community/planka/1.2.0/ci/hostNet-values.yaml | 18 + .../planka/{1.1.4 => 1.2.0}/ix_values.yaml | 17 +- .../planka/{1.1.4 => 1.2.0}/metadata.yaml | 0 community/planka/1.2.0/migrations/migrate | 76 ++ community/planka/1.2.0/questions.yaml | 727 ++++++++++++++++++ .../{1.1.4 => 1.2.0}/templates/NOTES.txt | 0 .../templates/_configuration.tpl | 0 .../planka/1.2.0/templates/_persistence.tpl | 61 ++ .../{1.1.4 => 1.2.0}/templates/_planka.tpl | 0 .../{1.1.4 => 1.2.0}/templates/_portal.tpl | 0 .../{1.1.4 => 1.2.0}/templates/_postgres.tpl | 0 .../{1.1.4 => 1.2.0}/templates/_service.tpl | 0 .../{1.1.4 => 1.2.0}/templates/common.yaml | 0 27 files changed, 945 insertions(+), 629 deletions(-) delete mode 100644 community/planka/1.1.4/Chart.lock delete mode 100644 community/planka/1.1.4/charts/common-1.2.2.tgz delete mode 100644 community/planka/1.1.4/ci/basic-values.yaml delete mode 100644 community/planka/1.1.4/ci/extra-values.yaml delete mode 100644 community/planka/1.1.4/ci/hostNet-values.yaml delete mode 100644 community/planka/1.1.4/questions.yaml delete mode 100644 community/planka/1.1.4/templates/_persistence.tpl create mode 100644 community/planka/1.2.0/Chart.lock rename community/planka/{1.1.4 => 1.2.0}/Chart.yaml (91%) rename community/planka/{1.1.4 => 1.2.0}/README.md (100%) rename community/planka/{1.1.4 => 1.2.0}/app-readme.md (100%) create mode 100644 community/planka/1.2.0/charts/common-1.2.3.tgz create mode 100644 community/planka/1.2.0/ci/basic-values.yaml create mode 100644 community/planka/1.2.0/ci/extra-values.yaml create mode 100644 community/planka/1.2.0/ci/hostNet-values.yaml rename community/planka/{1.1.4 => 1.2.0}/ix_values.yaml (80%) rename community/planka/{1.1.4 => 1.2.0}/metadata.yaml (100%) create mode 100755 community/planka/1.2.0/migrations/migrate create mode 100644 community/planka/1.2.0/questions.yaml rename community/planka/{1.1.4 => 1.2.0}/templates/NOTES.txt (100%) rename community/planka/{1.1.4 => 1.2.0}/templates/_configuration.tpl (100%) create mode 100644 community/planka/1.2.0/templates/_persistence.tpl rename community/planka/{1.1.4 => 1.2.0}/templates/_planka.tpl (100%) rename community/planka/{1.1.4 => 1.2.0}/templates/_portal.tpl (100%) rename community/planka/{1.1.4 => 1.2.0}/templates/_postgres.tpl (100%) rename community/planka/{1.1.4 => 1.2.0}/templates/_service.tpl (100%) rename community/planka/{1.1.4 => 1.2.0}/templates/common.yaml (100%) diff --git a/community/planka/1.1.4/Chart.lock b/community/planka/1.1.4/Chart.lock deleted file mode 100644 index 1751129ebe..0000000000 --- a/community/planka/1.1.4/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: file://../../../common - version: 1.2.2 -digest: sha256:fb077cb81f6acecd5c9e6adc22a18e156f780cd78f27198cdb47810f95364b56 -generated: "2023-11-09T15:43:04.016439777+02:00" diff --git a/community/planka/1.1.4/charts/common-1.2.2.tgz b/community/planka/1.1.4/charts/common-1.2.2.tgz deleted file mode 100644 index 517d99da7f2295977637a105fb9657944a5ef8cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62475 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 diff --git a/community/planka/1.1.4/ci/basic-values.yaml b/community/planka/1.1.4/ci/basic-values.yaml deleted file mode 100644 index eb3722fedf..0000000000 --- a/community/planka/1.1.4/ci/basic-values.yaml +++ /dev/null @@ -1,26 +0,0 @@ -plankaNetwork: - webPort: 31000 - -plankaConfig: - defaultAdminEmail: admin@example.com - defaultAdminName: John Doe - defaultAdminPassword: password - defaultAdminUsername: admin - baseURL: http://localhost:31000 - -plankaStorage: - avatars: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/avatars - backgroundImages: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/bg-img - attachments: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/attachments - pgData: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/pgData - pgBackup: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/pgBackup diff --git a/community/planka/1.1.4/ci/extra-values.yaml b/community/planka/1.1.4/ci/extra-values.yaml deleted file mode 100644 index 3d4f54dddd..0000000000 --- a/community/planka/1.1.4/ci/extra-values.yaml +++ /dev/null @@ -1,29 +0,0 @@ -plankaNetwork: - webPort: 31000 - -plankaConfig: - baseURL: http://localhost:31000 - -plankaStorage: - avatars: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/avatars - backgroundImages: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/bg-img - attachments: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/attachments - pgData: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/pgData - pgBackup: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/pgBackup - additionalStorages: - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data1 - mountPath: /data1 - - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/data2 - mountPath: /data2 diff --git a/community/planka/1.1.4/ci/hostNet-values.yaml b/community/planka/1.1.4/ci/hostNet-values.yaml deleted file mode 100644 index bff0e81903..0000000000 --- a/community/planka/1.1.4/ci/hostNet-values.yaml +++ /dev/null @@ -1,23 +0,0 @@ -plankaNetwork: - webPort: 30000 - hostNetwork: true - -plankaConfig: - baseURL: http://localhost:30000 - -plankaStorage: - avatars: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/avatars - backgroundImages: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/bg-img - attachments: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/attachments - pgData: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/pgData - pgBackup: - type: hostPath - hostPath: /mnt/{{ .Release.Namespace }}/pgBackup diff --git a/community/planka/1.1.4/questions.yaml b/community/planka/1.1.4/questions.yaml deleted file mode 100644 index 0d1e41b636..0000000000 --- a/community/planka/1.1.4/questions.yaml +++ /dev/null @@ -1,460 +0,0 @@ -groups: - - name: Planka Configuration - description: Configure Planka - - name: Network Configuration - description: Configure Network for Planka - - name: Storage Configuration - description: Configure Storage for Planka - - name: Resources Configuration - description: Configure Resources for Planka - -portals: - web_portal: - protocols: - - "$kubernetes-resource_configmap_portal_protocol" - host: - - "$kubernetes-resource_configmap_portal_host" - ports: - - "$kubernetes-resource_configmap_portal_port" - path: "$kubernetes-resource_configmap_portal_path" - -questions: - - variable: plankaConfig - label: "" - group: Planka Configuration - schema: - type: dict - attrs: - - variable: defaultAdminEmail - label: Default Admin Email - description: The default admin email for Planka. - schema: - type: string - default: "" - - variable: defaultAdminName - label: Default Admin Name - description: The default admin name for Planka. - schema: - type: string - default: "" - show_if: [["defaultAdminEmail", "!=", ""]] - required: true - - variable: defaultAdminPassword - label: Default Admin Password - description: The default admin password for Planka. - schema: - type: string - default: "" - show_if: [["defaultAdminEmail", "!=", ""]] - required: true - - variable: defaultAdminUsername - label: Default Admin Username - description: The default admin username for Planka. - schema: - type: string - default: "" - show_if: [["defaultAdminEmail", "!=", ""]] - required: true - - variable: baseURL - label: BaseURL - description: | - The URL that Planka will be accessible from.
- Example:
- http://server.ip:30062
- https://planka.example.com - schema: - type: uri - default: "" - required: true - - variable: trustProxy - label: Trust Proxy - description: Trust the reverse proxy when Planka is behind a reverse proxy. - schema: - type: boolean - default: false - - variable: additionalEnvs - label: Additional Environment Variables - description: Configure additional environment variables for Planka. - schema: - type: list - default: [] - items: - - variable: env - label: Environment Variable - schema: - type: dict - attrs: - - variable: name - label: Name - schema: - type: string - required: true - - variable: value - label: Value - schema: - type: string - required: true - - - variable: plankaNetwork - label: "" - group: Network Configuration - schema: - type: dict - attrs: - - variable: webPort - label: Web Port - description: The port for the Planka Web UI. - schema: - type: int - default: 30062 - min: 9000 - max: 65535 - required: true - - variable: hostNetwork - label: Host Network - description: | - Bind to the host network. It's recommended to keep this disabled.
- schema: - type: boolean - default: false - - - variable: plankaStorage - label: "" - group: Storage Configuration - schema: - type: dict - attrs: - - variable: avatars - label: Planka Avatars Storage - description: The path to store Planka Avatars. - schema: - type: dict - 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 (Path that already exists on the system) - - value: "ixVolume" - description: ixVolume (Dataset created automatically by the system) - - variable: datasetName - label: Dataset Name - schema: - type: string - show_if: [["type", "=", "ixVolume"]] - required: true - hidden: true - immutable: true - default: "avatars" - $ref: - - "normalize/ixVolume" - - variable: hostPath - label: Host Path - schema: - type: hostpath - show_if: [["type", "=", "hostPath"]] - immutable: true - required: true - - variable: backgroundImages - label: Planka Background Images Storage - description: The path to store Planka Background Images. - schema: - type: dict - 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 (Path that already exists on the system) - - value: "ixVolume" - description: ixVolume (Dataset created automatically by the system) - - variable: datasetName - label: Dataset Name - schema: - type: string - show_if: [["type", "=", "ixVolume"]] - required: true - hidden: true - immutable: true - default: "bg-img" - $ref: - - "normalize/ixVolume" - - variable: hostPath - label: Host Path - schema: - type: hostpath - show_if: [["type", "=", "hostPath"]] - immutable: true - required: true - - variable: attachments - label: Planka Attachments Storage - description: The path to store Planka Attachments. - schema: - type: dict - 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 (Path that already exists on the system) - - value: "ixVolume" - description: ixVolume (Dataset created automatically by the system) - - variable: datasetName - label: Dataset Name - schema: - type: string - show_if: [["type", "=", "ixVolume"]] - required: true - hidden: true - immutable: true - default: "attachments" - $ref: - - "normalize/ixVolume" - - variable: hostPath - label: Host Path - schema: - type: hostpath - show_if: [["type", "=", "hostPath"]] - immutable: true - required: true - - variable: pgData - label: Postgres Data Storage - description: The path to store Postgres Data. - schema: - type: dict - 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 (Path that already exists on the system) - - value: "ixVolume" - description: ixVolume (Dataset created automatically by the system) - - variable: datasetName - label: Dataset Name - schema: - type: string - show_if: [["type", "=", "ixVolume"]] - required: true - hidden: true - immutable: true - default: "pgData" - $ref: - - "normalize/ixVolume" - - variable: hostPath - label: Host Path - schema: - type: hostpath - show_if: [["type", "=", "hostPath"]] - immutable: true - required: true - - variable: pgBackup - label: Postgres Backup Storage - description: The path to store Postgres Backup. - schema: - type: dict - 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 (Path that already exists on the system) - - value: "ixVolume" - description: ixVolume (Dataset created automatically by the system) - - variable: datasetName - label: Dataset Name - schema: - type: string - show_if: [["type", "=", "ixVolume"]] - required: true - hidden: true - immutable: true - default: "pgBackup" - $ref: - - "normalize/ixVolume" - - variable: hostPath - label: Host Path - schema: - type: hostpath - show_if: [["type", "=", "hostPath"]] - immutable: true - required: true - - variable: additionalStorages - label: Additional Storage - description: Additional storage for Planka. - schema: - type: list - default: [] - items: - - variable: storageEntry - label: Storage Entry - schema: - type: dict - 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.
- SMB Share: Is a SMB share that is mounted to a persistent volume claim. - schema: - type: string - required: true - default: "ixVolume" - immutable: true - enum: - - value: "hostPath" - description: Host Path (Path that already exists on the system) - - value: "ixVolume" - 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: 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. - schema: - type: hostpath - show_if: [["type", "=", "hostPath"]] - required: true - - variable: datasetName - label: Dataset Name - description: The name of the dataset to use for storage. - schema: - type: string - 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. - schema: - type: string - 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 - - - variable: resources - group: Resources Configuration - label: "" - schema: - type: dict - attrs: - - variable: limits - label: Limits - schema: - type: dict - attrs: - - variable: cpu - label: CPU - description: CPU limit for Planka. - schema: - type: string - max_length: 6 - valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$' - valid_chars_error: | - Valid CPU limit formats are
- - Plain Integer - eg. 1
- - Float - eg. 0.5
- - Milicpu - eg. 500m - default: "4000m" - required: true - - variable: memory - label: Memory - description: Memory limit for Planka. - schema: - type: string - max_length: 12 - valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$' - valid_chars_error: | - Valid Memory limit formats are
- - Suffixed with E/P/T/G/M/K - eg. 1G
- - Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi
- - Plain Integer in bytes - eg. 1024
- - Exponent - eg. 134e6 - default: "8Gi" - required: true diff --git a/community/planka/1.1.4/templates/_persistence.tpl b/community/planka/1.1.4/templates/_persistence.tpl deleted file mode 100644 index 1bde3ee95b..0000000000 --- a/community/planka/1.1.4/templates/_persistence.tpl +++ /dev/null @@ -1,76 +0,0 @@ -{{- define "planka.persistence" -}} -persistence: - avatars: - enabled: true - type: {{ .Values.plankaStorage.avatars.type }} - datasetName: {{ .Values.plankaStorage.avatars.datasetName | default "" }} - hostPath: {{ .Values.plankaStorage.avatars.hostPath | default "" }} - targetSelector: - planka: - planka: - mountPath: /app/public/user-avatars - 01-permissions: - mountPath: /mnt/directories/user-avatars - bg-img: - enabled: true - type: {{ .Values.plankaStorage.backgroundImages.type }} - datasetName: {{ .Values.plankaStorage.backgroundImages.datasetName | default "" }} - hostPath: {{ .Values.plankaStorage.backgroundImages.hostPath | default "" }} - targetSelector: - planka: - planka: - mountPath: /app/public/project-background-images - 01-permissions: - mountPath: /mnt/directories/project-background-images - attachments: - enabled: true - type: {{ .Values.plankaStorage.attachments.type }} - datasetName: {{ .Values.plankaStorage.attachments.datasetName | default "" }} - hostPath: {{ .Values.plankaStorage.attachments.hostPath | default "" }} - targetSelector: - planka: - planka: - mountPath: /app/private/attachments - 01-permissions: - mountPath: /mnt/directories/attachments - tmp: - enabled: true - type: emptyDir - targetSelector: - planka: - planka: - mountPath: /tmp - {{- range $idx, $storage := .Values.plankaStorage.additionalStorages }} - {{ printf "planka-%v" (int $idx) }}: - {{- $size := "" -}} - {{- if $storage.size -}} - {{- $size = (printf "%vGi" $storage.size) -}} - {{- end }} - 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 }} - targetSelector: - planka: - planka: - mountPath: {{ $storage.mountPath }} - 01-permissions: - mountPath: /mnt/directories{{ $storage.mountPath }} - {{- end }} - - - {{- include "ix.v1.common.app.postgresPersistence" - (dict "pgData" .Values.plankaStorage.pgData - "pgBackup" .Values.plankaStorage.pgBackup - ) | nindent 2 }} -{{- end -}} diff --git a/community/planka/1.2.0/Chart.lock b/community/planka/1.2.0/Chart.lock new file mode 100644 index 0000000000..9d92b1e9e3 --- /dev/null +++ b/community/planka/1.2.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: file://../../../common + version: 1.2.3 +digest: sha256:e6ff49b06bf5d4d159e505ae6d153f36cd46170bb519caf90462cd5caebfd0fb +generated: "2023-11-20T10:17:20.436068522+02:00" diff --git a/community/planka/1.1.4/Chart.yaml b/community/planka/1.2.0/Chart.yaml similarity index 91% rename from community/planka/1.1.4/Chart.yaml rename to community/planka/1.2.0/Chart.yaml index 0fe651e8cf..467421824d 100644 --- a/community/planka/1.1.4/Chart.yaml +++ b/community/planka/1.2.0/Chart.yaml @@ -3,9 +3,9 @@ description: Planka is an Elegant open source project tracking annotations: title: Planka type: application -version: 1.1.4 +version: 1.2.0 apiVersion: v2 -appVersion: 1.14.3 +appVersion: 1.15.0 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.3 home: https://github.com/plankanban/planka icon: https://media.sys.truenas.net/apps/planka/icons/icon.png sources: diff --git a/community/planka/1.1.4/README.md b/community/planka/1.2.0/README.md similarity index 100% rename from community/planka/1.1.4/README.md rename to community/planka/1.2.0/README.md diff --git a/community/planka/1.1.4/app-readme.md b/community/planka/1.2.0/app-readme.md similarity index 100% rename from community/planka/1.1.4/app-readme.md rename to community/planka/1.2.0/app-readme.md diff --git a/community/planka/1.2.0/charts/common-1.2.3.tgz b/community/planka/1.2.0/charts/common-1.2.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..1c252188f0b2dfa187c7b1c46b8a775ed50bad07 GIT binary patch literal 63003 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 E07-_{Jpcdz literal 0 HcmV?d00001 diff --git a/community/planka/1.2.0/ci/basic-values.yaml b/community/planka/1.2.0/ci/basic-values.yaml new file mode 100644 index 0000000000..850a2efacb --- /dev/null +++ b/community/planka/1.2.0/ci/basic-values.yaml @@ -0,0 +1,21 @@ +plankaNetwork: + webPort: 31000 + +plankaConfig: + defaultAdminEmail: admin@example.com + defaultAdminName: John Doe + defaultAdminPassword: password + defaultAdminUsername: admin + baseURL: http://localhost:31000 + +plankaStorage: + avatars: + type: pvc + backgroundImages: + type: pvc + attachments: + type: pvc + pgData: + type: pvc + pgBackup: + type: emptyDir diff --git a/community/planka/1.2.0/ci/extra-values.yaml b/community/planka/1.2.0/ci/extra-values.yaml new file mode 100644 index 0000000000..27e2d67958 --- /dev/null +++ b/community/planka/1.2.0/ci/extra-values.yaml @@ -0,0 +1,22 @@ +plankaNetwork: + webPort: 31000 + +plankaConfig: + baseURL: http://localhost:31000 + +plankaStorage: + avatars: + type: pvc + backgroundImages: + type: pvc + attachments: + type: pvc + pgData: + type: pvc + pgBackup: + type: emptyDir + additionalStorages: + - type: pvc + mountPath: /data1 + - type: pvc + mountPath: /data2 diff --git a/community/planka/1.2.0/ci/hostNet-values.yaml b/community/planka/1.2.0/ci/hostNet-values.yaml new file mode 100644 index 0000000000..99a9bf56d1 --- /dev/null +++ b/community/planka/1.2.0/ci/hostNet-values.yaml @@ -0,0 +1,18 @@ +plankaNetwork: + webPort: 30000 + hostNetwork: true + +plankaConfig: + baseURL: http://localhost:30000 + +plankaStorage: + avatars: + type: pvc + backgroundImages: + type: pvc + attachments: + type: pvc + pgData: + type: pvc + pgBackup: + type: emptyDir diff --git a/community/planka/1.1.4/ix_values.yaml b/community/planka/1.2.0/ix_values.yaml similarity index 80% rename from community/planka/1.1.4/ix_values.yaml rename to community/planka/1.2.0/ix_values.yaml index 7ff9c7b1ba..d7248ef2b2 100644 --- a/community/planka/1.1.4/ix_values.yaml +++ b/community/planka/1.2.0/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: ghcr.io/plankanban/planka pullPolicy: IfNotPresent - tag: 1.14.3 + tag: 1.15.0 resources: limits: @@ -24,20 +24,25 @@ plankaNetwork: plankaStorage: avatars: type: ixVolume - datasetName: avatars + ixVolumeConfig: + datasetName: avatars backgroundImages: type: ixVolume - datasetName: bg-img + ixVolumeConfig: + datasetName: bg-img attachments: type: ixVolume - datasetName: attachments + ixVolumeConfig: + datasetName: attachments additionalStorages: [] pgData: type: ixVolume - datasetName: pgData + ixVolumeConfig: + datasetName: pgData pgBackup: type: ixVolume - datasetName: pgBackup + ixVolumeConfig: + datasetName: pgBackup notes: custom: | diff --git a/community/planka/1.1.4/metadata.yaml b/community/planka/1.2.0/metadata.yaml similarity index 100% rename from community/planka/1.1.4/metadata.yaml rename to community/planka/1.2.0/metadata.yaml diff --git a/community/planka/1.2.0/migrations/migrate b/community/planka/1.2.0/migrations/migrate new file mode 100755 index 0000000000..c606694929 --- /dev/null +++ b/community/planka/1.2.0/migrations/migrate @@ -0,0 +1,76 @@ +#!/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': + # Fixes an invalid key carried from values.yaml + storage.pop('hostPath', None) + + # 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 = 'plankaStorage' + storages = ['avatars', 'backgroundImages', 'attachments', '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/community/planka/1.2.0/questions.yaml b/community/planka/1.2.0/questions.yaml new file mode 100644 index 0000000000..25fba5e52c --- /dev/null +++ b/community/planka/1.2.0/questions.yaml @@ -0,0 +1,727 @@ +groups: + - name: Planka Configuration + description: Configure Planka + - name: Network Configuration + description: Configure Network for Planka + - name: Storage Configuration + description: Configure Storage for Planka + - name: Resources Configuration + description: Configure Resources for Planka + +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" + path: "$kubernetes-resource_configmap_portal_path" + +questions: + - variable: plankaConfig + label: "" + group: Planka Configuration + schema: + type: dict + attrs: + - variable: defaultAdminEmail + label: Default Admin Email + description: The default admin email for Planka. + schema: + type: string + default: "" + - variable: defaultAdminName + label: Default Admin Name + description: The default admin name for Planka. + schema: + type: string + default: "" + show_if: [["defaultAdminEmail", "!=", ""]] + required: true + - variable: defaultAdminPassword + label: Default Admin Password + description: The default admin password for Planka. + schema: + type: string + default: "" + show_if: [["defaultAdminEmail", "!=", ""]] + required: true + - variable: defaultAdminUsername + label: Default Admin Username + description: The default admin username for Planka. + schema: + type: string + default: "" + show_if: [["defaultAdminEmail", "!=", ""]] + required: true + - variable: baseURL + label: BaseURL + description: | + The URL that Planka will be accessible from.
+ Example:
+ http://server.ip:30062
+ https://planka.example.com + schema: + type: uri + default: "" + required: true + - variable: trustProxy + label: Trust Proxy + description: Trust the reverse proxy when Planka is behind a reverse proxy. + schema: + type: boolean + default: false + - variable: additionalEnvs + label: Additional Environment Variables + description: Configure additional environment variables for Planka. + schema: + type: list + default: [] + items: + - variable: env + label: Environment Variable + schema: + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + + - variable: plankaNetwork + label: "" + group: Network Configuration + schema: + type: dict + attrs: + - variable: webPort + label: Web Port + description: The port for the Planka Web UI. + schema: + type: int + default: 30062 + min: 9000 + max: 65535 + required: true + - variable: hostNetwork + label: Host Network + description: | + Bind to the host network. It's recommended to keep this disabled.
+ schema: + type: boolean + default: false + + - variable: plankaStorage + label: "" + group: Storage Configuration + schema: + type: dict + attrs: + - variable: avatars + label: Planka Avatars Storage + description: The path to store Planka Avatars. + schema: + type: dict + 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 (Path that already exists on the system) + - value: "ixVolume" + description: ixVolume (Dataset created automatically by the system) + - variable: ixVolumeConfig + label: ixVolume Configuration + description: The configuration for the ixVolume dataset. + schema: + type: dict + show_if: [["type", "=", "ixVolume"]] + $ref: + - "normalize/ixVolume" + 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: "avatars" + - variable: aclEntries + label: ACL Configuration + schema: + type: dict + show_if: [["aclEnable", "=", true]] + attrs: [] + - variable: hostPathConfig + label: hostPathConfig + schema: + type: dict + show_if: [["type", "=", "hostPath"]] + 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: backgroundImages + label: Planka Background Images Storage + description: The path to store Planka Background Images. + schema: + type: dict + 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 (Path that already exists on the system) + - value: "ixVolume" + description: ixVolume (Dataset created automatically by the system) + - variable: ixVolumeConfig + label: ixVolume Configuration + description: The configuration for the ixVolume dataset. + schema: + type: dict + show_if: [["type", "=", "ixVolume"]] + $ref: + - "normalize/ixVolume" + 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: "bg-img" + - variable: aclEntries + label: ACL Configuration + schema: + type: dict + show_if: [["aclEnable", "=", true]] + attrs: [] + - variable: hostPathConfig + label: hostPathConfig + schema: + type: dict + show_if: [["type", "=", "hostPath"]] + 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: attachments + label: Planka Attachments Storage + description: The path to store Planka Attachments. + schema: + type: dict + 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 (Path that already exists on the system) + - value: "ixVolume" + description: ixVolume (Dataset created automatically by the system) + - variable: ixVolumeConfig + label: ixVolume Configuration + description: The configuration for the ixVolume dataset. + schema: + type: dict + show_if: [["type", "=", "ixVolume"]] + $ref: + - "normalize/ixVolume" + 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: "attachments" + - variable: aclEntries + label: ACL Configuration + schema: + type: dict + show_if: [["aclEnable", "=", true]] + attrs: [] + - variable: hostPathConfig + label: hostPathConfig + schema: + type: dict + show_if: [["type", "=", "hostPath"]] + 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: Postgres Data Storage + description: The path to store Postgres Data. + schema: + type: dict + 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 (Path that already exists on the system) + - value: "ixVolume" + description: ixVolume (Dataset created automatically by the system) + - variable: ixVolumeConfig + label: ixVolume Configuration + description: The configuration for the ixVolume dataset. + schema: + type: dict + # Nothing to show for the user + hidden: true + show_if: [["type", "=", "ixVolume"]] + $ref: + - "normalize/ixVolume" + 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: dict + show_if: [["type", "=", "hostPath"]] + 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: Postgres Backup Storage + description: The path to store Postgres Backup. + schema: + type: dict + 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 (Path that already exists on the system) + - value: "ixVolume" + description: ixVolume (Dataset created automatically by the system) + - variable: ixVolumeConfig + label: ixVolume Configuration + description: The configuration for the ixVolume dataset. + schema: + type: dict + # Nothing to show for the user + hidden: true + show_if: [["type", "=", "ixVolume"]] + $ref: + - "normalize/ixVolume" + 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: dict + show_if: [["type", "=", "hostPath"]] + 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 + description: Additional storage for Planka. + schema: + type: list + default: [] + items: + - variable: storageEntry + label: Storage Entry + schema: + type: dict + 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.
+ SMB Share: Is a SMB share that is mounted to a persistent volume claim. + schema: + type: string + required: true + default: "ixVolume" + immutable: true + enum: + - value: "hostPath" + description: Host Path (Path that already exists on the system) + - value: "ixVolume" + 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: hostPathConfig + label: hostPathConfig + schema: + type: dict + show_if: [["type", "=", "hostPath"]] + 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: dict + show_if: [["type", "=", "ixVolume"]] + $ref: + - "normalize/ixVolume" + 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: dict + show_if: [["type", "=", "smb-pv-pvc"]] + 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 + label: "" + schema: + type: dict + attrs: + - variable: limits + label: Limits + schema: + type: dict + attrs: + - variable: cpu + label: CPU + description: CPU limit for Planka. + schema: + type: string + max_length: 6 + valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$' + valid_chars_error: | + Valid CPU limit formats are
+ - Plain Integer - eg. 1
+ - Float - eg. 0.5
+ - Milicpu - eg. 500m + default: "4000m" + required: true + - variable: memory + label: Memory + description: Memory limit for Planka. + schema: + type: string + max_length: 12 + valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$' + valid_chars_error: | + Valid Memory limit formats are
+ - Suffixed with E/P/T/G/M/K - eg. 1G
+ - Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi
+ - Plain Integer in bytes - eg. 1024
+ - Exponent - eg. 134e6 + default: "8Gi" + required: true diff --git a/community/planka/1.1.4/templates/NOTES.txt b/community/planka/1.2.0/templates/NOTES.txt similarity index 100% rename from community/planka/1.1.4/templates/NOTES.txt rename to community/planka/1.2.0/templates/NOTES.txt diff --git a/community/planka/1.1.4/templates/_configuration.tpl b/community/planka/1.2.0/templates/_configuration.tpl similarity index 100% rename from community/planka/1.1.4/templates/_configuration.tpl rename to community/planka/1.2.0/templates/_configuration.tpl diff --git a/community/planka/1.2.0/templates/_persistence.tpl b/community/planka/1.2.0/templates/_persistence.tpl new file mode 100644 index 0000000000..0402294b81 --- /dev/null +++ b/community/planka/1.2.0/templates/_persistence.tpl @@ -0,0 +1,61 @@ +{{- define "planka.persistence" -}} +persistence: + avatars: + enabled: true + {{- include "planka.storage.ci.migration" (dict "storage" .Values.plankaStorage.avatars) }} + {{- include "ix.v1.common.app.storageOptions" (dict "storage" .Values.plankaStorage.avatars) | nindent 4 }} + targetSelector: + planka: + planka: + mountPath: /app/public/user-avatars + bg-img: + enabled: true + {{- include "planka.storage.ci.migration" (dict "storage" .Values.plankaStorage.backgroundImages) }} + {{- include "ix.v1.common.app.storageOptions" (dict "storage" .Values.plankaStorage.backgroundImages) | nindent 4 }} + targetSelector: + planka: + planka: + mountPath: /app/public/project-background-images + attachments: + enabled: true + {{- include "planka.storage.ci.migration" (dict "storage" .Values.plankaStorage.attachments) }} + {{- include "ix.v1.common.app.storageOptions" (dict "storage" .Values.plankaStorage.attachments) | nindent 4 }} + targetSelector: + planka: + planka: + mountPath: /app/private/attachments + tmp: + enabled: true + type: emptyDir + targetSelector: + planka: + planka: + mountPath: /tmp + {{- range $idx, $storage := .Values.plankaStorage.additionalStorages }} + {{ printf "planka-%v:" (int $idx) }} + enabled: true + {{- include "planka.storage.ci.migration" (dict "storage" $storage) }} + {{- include "ix.v1.common.app.storageOptions" (dict "storage" $storage) | nindent 4 }} + targetSelector: + planka: + planka: + mountPath: {{ $storage.mountPath }} + {{- end }} + + {{- include "planka.storage.ci.migration" (dict "storage" .Values.plankaStorage.pgData) }} + {{- include "planka.storage.ci.migration" (dict "storage" .Values.plankaStorage.pgBackup) }} + {{- include "ix.v1.common.app.postgresPersistence" + (dict "pgData" .Values.plankaStorage.pgData + "pgBackup" .Values.plankaStorage.pgBackup + ) | nindent 2 }} +{{- end -}} + +{{/* TODO: Remove on the next version bump, eg 1.2.0+ */}} +{{- define "planka.storage.ci.migration" -}} + {{- $storage := .storage -}} + + {{- if $storage.hostPath -}} + {{- $_ := set $storage "hostPathConfig" dict -}} + {{- $_ := set $storage.hostPathConfig "hostPath" $storage.hostPath -}} + {{- end -}} +{{- end -}} diff --git a/community/planka/1.1.4/templates/_planka.tpl b/community/planka/1.2.0/templates/_planka.tpl similarity index 100% rename from community/planka/1.1.4/templates/_planka.tpl rename to community/planka/1.2.0/templates/_planka.tpl diff --git a/community/planka/1.1.4/templates/_portal.tpl b/community/planka/1.2.0/templates/_portal.tpl similarity index 100% rename from community/planka/1.1.4/templates/_portal.tpl rename to community/planka/1.2.0/templates/_portal.tpl diff --git a/community/planka/1.1.4/templates/_postgres.tpl b/community/planka/1.2.0/templates/_postgres.tpl similarity index 100% rename from community/planka/1.1.4/templates/_postgres.tpl rename to community/planka/1.2.0/templates/_postgres.tpl diff --git a/community/planka/1.1.4/templates/_service.tpl b/community/planka/1.2.0/templates/_service.tpl similarity index 100% rename from community/planka/1.1.4/templates/_service.tpl rename to community/planka/1.2.0/templates/_service.tpl diff --git a/community/planka/1.1.4/templates/common.yaml b/community/planka/1.2.0/templates/common.yaml similarity index 100% rename from community/planka/1.1.4/templates/common.yaml rename to community/planka/1.2.0/templates/common.yaml