From 33ef8a46610639f641ade4cdf65f4f759ca12781 Mon Sep 17 00:00:00 2001 From: sonicaj Date: Fri, 21 Jul 2023 16:37:39 +0000 Subject: [PATCH] Publish new changes in catalog --- .../plex-auto-languages/1.0.0/Chart.lock | 6 + .../plex-auto-languages/1.0.0/Chart.yaml | 26 ++ community/plex-auto-languages/1.0.0/README.md | 8 + .../plex-auto-languages/1.0.0/app-readme.md | 8 + .../1.0.0/charts/common-1.0.12.tgz | Bin 0 -> 56722 bytes .../1.0.0/ci/basic-values.yaml | 14 ++ .../1.0.0/ci/extra-values.yaml | 17 ++ .../plex-auto-languages/1.0.0/ix_values.yaml | 26 ++ .../plex-auto-languages/1.0.0/metadata.yaml | 8 + .../plex-auto-languages/1.0.0/questions.yaml | 223 ++++++++++++++++++ .../1.0.0/templates/NOTES.txt | 1 + .../1.0.0/templates/_persistence.tpl | 34 +++ .../1.0.0/templates/_plexAutoLang.tpl | 52 ++++ .../1.0.0/templates/common.yaml | 7 + community/plex-auto-languages/item.yaml | 7 + 15 files changed, 437 insertions(+) create mode 100644 community/plex-auto-languages/1.0.0/Chart.lock create mode 100644 community/plex-auto-languages/1.0.0/Chart.yaml create mode 100644 community/plex-auto-languages/1.0.0/README.md create mode 100644 community/plex-auto-languages/1.0.0/app-readme.md create mode 100644 community/plex-auto-languages/1.0.0/charts/common-1.0.12.tgz create mode 100644 community/plex-auto-languages/1.0.0/ci/basic-values.yaml create mode 100644 community/plex-auto-languages/1.0.0/ci/extra-values.yaml create mode 100644 community/plex-auto-languages/1.0.0/ix_values.yaml create mode 100644 community/plex-auto-languages/1.0.0/metadata.yaml create mode 100644 community/plex-auto-languages/1.0.0/questions.yaml create mode 100644 community/plex-auto-languages/1.0.0/templates/NOTES.txt create mode 100644 community/plex-auto-languages/1.0.0/templates/_persistence.tpl create mode 100644 community/plex-auto-languages/1.0.0/templates/_plexAutoLang.tpl create mode 100644 community/plex-auto-languages/1.0.0/templates/common.yaml create mode 100644 community/plex-auto-languages/item.yaml diff --git a/community/plex-auto-languages/1.0.0/Chart.lock b/community/plex-auto-languages/1.0.0/Chart.lock new file mode 100644 index 0000000000..79f595642b --- /dev/null +++ b/community/plex-auto-languages/1.0.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: file://../../../common + version: 1.0.12 +digest: sha256:debd30721d09ae8293b1cbdd9d0115981d40b47908be3035fc3cf657c9d5eedb +generated: "2023-07-15T23:17:26.4027475+03:00" diff --git a/community/plex-auto-languages/1.0.0/Chart.yaml b/community/plex-auto-languages/1.0.0/Chart.yaml new file mode 100644 index 0000000000..3b1db094b0 --- /dev/null +++ b/community/plex-auto-languages/1.0.0/Chart.yaml @@ -0,0 +1,26 @@ +name: plex-auto-languages +description: Plex Auto Languages offer automated language selection for Plex TV Shows +annotations: + title: Plex Auto Languages +type: application +version: 1.0.0 +apiVersion: v2 +appVersion: '1.2.2' +kubeVersion: '>=1.16.0-0' +maintainers: + - name: truenas + url: https://www.truenas.com/ + email: dev@ixsystems.com +dependencies: + - name: common + repository: file://../../../common + version: 1.0.12 +home: https://github.com/RemiRigal/Plex-Auto-Languages +icon: https://localhost/no-icon +sources: + - https://github.com/RemiRigal/Plex-Auto-Languages + - https://github.com/truenas/charts/tree/master/community/plex-auto-languages + - https://hub.docker.com/r/remirigal/plex-auto-languages +keywords: + - plex + - languages diff --git a/community/plex-auto-languages/1.0.0/README.md b/community/plex-auto-languages/1.0.0/README.md new file mode 100644 index 0000000000..e5d985ed38 --- /dev/null +++ b/community/plex-auto-languages/1.0.0/README.md @@ -0,0 +1,8 @@ +# Plex Auto Languages + +[Plex Auto Languages](https://github.com/RemiRigal/Plex-Auto-Languages) offer automated language selection for Plex TV Shows + +> When application is installed, a container will be launched with **root** privileges. +> This is required in order to apply the correct permissions to the `Plex Auto Languages` directories. +> Afterward, the `Plex Auto Languages` 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. diff --git a/community/plex-auto-languages/1.0.0/app-readme.md b/community/plex-auto-languages/1.0.0/app-readme.md new file mode 100644 index 0000000000..e5d985ed38 --- /dev/null +++ b/community/plex-auto-languages/1.0.0/app-readme.md @@ -0,0 +1,8 @@ +# Plex Auto Languages + +[Plex Auto Languages](https://github.com/RemiRigal/Plex-Auto-Languages) offer automated language selection for Plex TV Shows + +> When application is installed, a container will be launched with **root** privileges. +> This is required in order to apply the correct permissions to the `Plex Auto Languages` directories. +> Afterward, the `Plex Auto Languages` 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. diff --git a/community/plex-auto-languages/1.0.0/charts/common-1.0.12.tgz b/community/plex-auto-languages/1.0.0/charts/common-1.0.12.tgz new file mode 100644 index 0000000000000000000000000000000000000000..1890c10a1bcde99d1949d93624bae66f025fd9b3 GIT binary patch literal 56722 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 CTxYTX literal 0 HcmV?d00001 diff --git a/community/plex-auto-languages/1.0.0/ci/basic-values.yaml b/community/plex-auto-languages/1.0.0/ci/basic-values.yaml new file mode 100644 index 0000000000..22bec45d84 --- /dev/null +++ b/community/plex-auto-languages/1.0.0/ci/basic-values.yaml @@ -0,0 +1,14 @@ +ci: true + +palRunAs: + user: 1000 + group: 1000 + +palConfig: + plexURL: http://plex:32400 + plexToken: some-token + +palStorage: + config: + type: hostPath + hostPath: /mnt/{{ .Release.Namespace }}/config diff --git a/community/plex-auto-languages/1.0.0/ci/extra-values.yaml b/community/plex-auto-languages/1.0.0/ci/extra-values.yaml new file mode 100644 index 0000000000..ad43bbcf4b --- /dev/null +++ b/community/plex-auto-languages/1.0.0/ci/extra-values.yaml @@ -0,0 +1,17 @@ +ci: true + +palConfig: + plexURL: http://plex:32400 + plexToken: some-token + +palStorage: + config: + type: hostPath + hostPath: /mnt/{{ .Release.Namespace }}/config + additionalStorages: + - type: hostPath + hostPath: /mnt/{{ .Release.Namespace }}/data1 + mountPath: /data1 + - type: hostPath + hostPath: /mnt/{{ .Release.Namespace }}/data2 + mountPath: /data2 diff --git a/community/plex-auto-languages/1.0.0/ix_values.yaml b/community/plex-auto-languages/1.0.0/ix_values.yaml new file mode 100644 index 0000000000..e86af4b1d4 --- /dev/null +++ b/community/plex-auto-languages/1.0.0/ix_values.yaml @@ -0,0 +1,26 @@ +image: + repository: remirigal/plex-auto-languages + pullPolicy: IfNotPresent + tag: 'v1.2.2' + +ci: false + +resources: + limits: + cpu: 4000m + memory: 8Gi + +palConfig: + plexURL: '' + plexToken: '' + additionalEnvs: [] + +palRunAs: + user: 568 + group: 568 + +palStorage: + config: + type: ixVolume + datasetName: config + additionalStorages: [] diff --git a/community/plex-auto-languages/1.0.0/metadata.yaml b/community/plex-auto-languages/1.0.0/metadata.yaml new file mode 100644 index 0000000000..38aba0b44e --- /dev/null +++ b/community/plex-auto-languages/1.0.0/metadata.yaml @@ -0,0 +1,8 @@ +runAsContext: + - userName: plex-auto-languages + groupName: plex-auto-languages + gid: 568 + uid: 568 + description: Plex Auto Languages can run as any non-root user. +capabilities: [] +hostMounts: [] diff --git a/community/plex-auto-languages/1.0.0/questions.yaml b/community/plex-auto-languages/1.0.0/questions.yaml new file mode 100644 index 0000000000..0708a9a440 --- /dev/null +++ b/community/plex-auto-languages/1.0.0/questions.yaml @@ -0,0 +1,223 @@ +groups: + - name: Plex Auto Language Configuration + description: Configure Plex Auto Language + - name: User and Group Configuration + description: Configure User and Group for Plex Auto Language + - name: Storage Configuration + description: Configure Storage for Plex Auto Language + - name: Resources Configuration + description: Configure Resources for Plex Auto Language + +questions: + - variable: TZ + group: Plex Auto Language Configuration + label: Timezone + schema: + type: string + default: Etc/UTC + required: true + $ref: + - definitions/timezone + + - variable: palConfig + label: "" + group: Plex Auto Language Configuration + schema: + type: dict + attrs: + - variable: plexURL + label: Plex URL + description: The URL to your Plex server. + schema: + type: string + required: true + - variable: plexToken + label: Plex Token + description: | + The token to your Plex server.
+ More information on how to get your + token can be found here https://github.com/RemiRigal/Plex-Auto-Languages#getting-started + schema: + type: string + required: true + - variable: additionalEnvs + label: Additional Environment Variables + description: Configure additional environment variables for Plex Auto Language. + 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: palRunAs + label: "" + group: User and Group Configuration + schema: + type: dict + attrs: + - variable: user + label: User ID + description: The user id that Plex Auto Language will run as. + schema: + type: int + min: 2 + default: 568 + required: true + - variable: group + label: Group ID + description: The group id that Plex Auto Language will run as. + schema: + type: int + min: 2 + default: 568 + required: true + + - variable: palStorage + label: "" + group: Storage Configuration + schema: + type: dict + attrs: + - variable: config + label: Plex Auto Language Config Storage + description: The path to store Plex Auto Language Configuration. + 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 + 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: "config" + $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 Plex Auto Language. + 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. + schema: + type: string + required: 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: 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: 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 Plex Auto Language. + 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 Plex Auto Language. + 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/plex-auto-languages/1.0.0/templates/NOTES.txt b/community/plex-auto-languages/1.0.0/templates/NOTES.txt new file mode 100644 index 0000000000..ba4e01146c --- /dev/null +++ b/community/plex-auto-languages/1.0.0/templates/NOTES.txt @@ -0,0 +1 @@ +{{ include "ix.v1.common.lib.chart.notes" $ }} diff --git a/community/plex-auto-languages/1.0.0/templates/_persistence.tpl b/community/plex-auto-languages/1.0.0/templates/_persistence.tpl new file mode 100644 index 0000000000..b7ef43ae85 --- /dev/null +++ b/community/plex-auto-languages/1.0.0/templates/_persistence.tpl @@ -0,0 +1,34 @@ +{{- define "pal.persistence" -}} +persistence: + config: + enabled: true + type: {{ .Values.palStorage.config.type }} + datasetName: {{ .Values.palStorage.config.datasetName | default "" }} + hostPath: {{ .Values.palStorage.config.hostPath | default "" }} + targetSelector: + pal: + pal: + mountPath: /config + 01-permissions: + mountPath: /mnt/directories/config + tmp: + enabled: true + type: emptyDir + targetSelector: + pal: + pal: + mountPath: /tmp + {{- range $idx, $storage := .Values.palStorage.additionalStorages }} + {{ printf "pal-%v" (int $idx) }}: + enabled: true + type: {{ $storage.type }} + datasetName: {{ $storage.datasetName | default "" }} + hostPath: {{ $storage.hostPath | default "" }} + targetSelector: + pal: + pal: + mountPath: {{ $storage.mountPath }} + 01-permissions: + mountPath: /mnt/directories{{ $storage.mountPath }} + {{- end }} +{{- end -}} diff --git a/community/plex-auto-languages/1.0.0/templates/_plexAutoLang.tpl b/community/plex-auto-languages/1.0.0/templates/_plexAutoLang.tpl new file mode 100644 index 0000000000..7071ad74fe --- /dev/null +++ b/community/plex-auto-languages/1.0.0/templates/_plexAutoLang.tpl @@ -0,0 +1,52 @@ +{{- define "pal.workload" -}} +workload: + pal: + enabled: true + primary: true + type: Deployment + podSpec: + hostNetwork: false + containers: + pal: + enabled: true + primary: true + imageSelector: image + securityContext: + runAsUser: {{ .Values.palRunAs.user }} + runAsGroup: {{ .Values.palRunAs.group }} + env: + PLEX_URL: {{ .Values.palConfig.plexURL }} + PLEX_TOKEN: {{ .Values.palConfig.plexToken }} + CONTAINERIZED: "true" + {{ with .Values.palConfig.additionalEnvs }} + envList: + {{ range $env := . }} + - name: {{ $env.name }} + value: {{ $env.value }} + {{ end }} + {{ end }} + # Port is only for health checks + # No web interface is available. + probes: + liveness: + enabled: {{ not .Values.ci }} + type: http + port: 9880 + path: /health + readiness: + enabled: {{ not .Values.ci }} + type: http + port: 9880 + path: /health + startup: + enabled: {{ not .Values.ci }} + type: http + port: 9880 + path: /health + initContainers: + {{- include "ix.v1.common.app.permissions" (dict "containerName" "01-permissions" + "UID" .Values.palRunAs.user + "GID" .Values.palRunAs.group + "mode" "check" + "type" "init") | nindent 8 }} +{{- end -}} diff --git a/community/plex-auto-languages/1.0.0/templates/common.yaml b/community/plex-auto-languages/1.0.0/templates/common.yaml new file mode 100644 index 0000000000..ff27c5da81 --- /dev/null +++ b/community/plex-auto-languages/1.0.0/templates/common.yaml @@ -0,0 +1,7 @@ +{{- include "ix.v1.common.loader.init" . -}} + +{{/* Merge the templates with Values */}} +{{- $_ := mustMergeOverwrite .Values (include "pal.workload" $ | fromYaml) -}} +{{- $_ := mustMergeOverwrite .Values (include "pal.persistence" $ | fromYaml) -}} + +{{- include "ix.v1.common.loader.apply" . -}} diff --git a/community/plex-auto-languages/item.yaml b/community/plex-auto-languages/item.yaml new file mode 100644 index 0000000000..4dfd84fa22 --- /dev/null +++ b/community/plex-auto-languages/item.yaml @@ -0,0 +1,7 @@ +icon_url: https://localhost/no-icon +categories: + - media +screenshots: [] +tags: + - plex + - languages