From 3f3ff7d595a63d4c34b2db6b1a923bd5afd89795 Mon Sep 17 00:00:00 2001 From: sonicaj Date: Tue, 4 Jul 2023 20:51:14 +0000 Subject: [PATCH] Publish new changes in catalog --- community/komga/1.0.0/Chart.lock | 6 + community/komga/1.0.0/Chart.yaml | 27 +++ community/komga/1.0.0/README.md | 8 + community/komga/1.0.0/app-readme.md | 8 + community/komga/1.0.0/charts/common-1.0.9.tgz | Bin 0 -> 55977 bytes community/komga/1.0.0/ci/basic-values.yaml | 11 + community/komga/1.0.0/ci/extra-values.yaml | 21 ++ community/komga/1.0.0/ci/hostNet-values.yaml | 8 + community/komga/1.0.0/ix_values.yaml | 26 ++ community/komga/1.0.0/metadata.yaml | 8 + community/komga/1.0.0/questions.yaml | 228 ++++++++++++++++++ community/komga/1.0.0/templates/NOTES.txt | 1 + community/komga/1.0.0/templates/_komga.tpl | 51 ++++ .../komga/1.0.0/templates/_persistence.tpl | 34 +++ community/komga/1.0.0/templates/_portal.tpl | 12 + community/komga/1.0.0/templates/_service.tpl | 15 ++ community/komga/1.0.0/templates/common.yaml | 11 + community/komga/item.yaml | 8 + 18 files changed, 483 insertions(+) create mode 100644 community/komga/1.0.0/Chart.lock create mode 100644 community/komga/1.0.0/Chart.yaml create mode 100644 community/komga/1.0.0/README.md create mode 100644 community/komga/1.0.0/app-readme.md create mode 100644 community/komga/1.0.0/charts/common-1.0.9.tgz create mode 100644 community/komga/1.0.0/ci/basic-values.yaml create mode 100644 community/komga/1.0.0/ci/extra-values.yaml create mode 100644 community/komga/1.0.0/ci/hostNet-values.yaml create mode 100644 community/komga/1.0.0/ix_values.yaml create mode 100644 community/komga/1.0.0/metadata.yaml create mode 100644 community/komga/1.0.0/questions.yaml create mode 100644 community/komga/1.0.0/templates/NOTES.txt create mode 100644 community/komga/1.0.0/templates/_komga.tpl create mode 100644 community/komga/1.0.0/templates/_persistence.tpl create mode 100644 community/komga/1.0.0/templates/_portal.tpl create mode 100644 community/komga/1.0.0/templates/_service.tpl create mode 100644 community/komga/1.0.0/templates/common.yaml create mode 100644 community/komga/item.yaml diff --git a/community/komga/1.0.0/Chart.lock b/community/komga/1.0.0/Chart.lock new file mode 100644 index 0000000000..f3a114f080 --- /dev/null +++ b/community/komga/1.0.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: file://../../../common + version: 1.0.9 +digest: sha256:c3eb00f142d5d1cdbff7843940c150a00bd916520363e6ee9f459ce61fa92b40 +generated: "2023-06-30T17:30:44.567540179+03:00" diff --git a/community/komga/1.0.0/Chart.yaml b/community/komga/1.0.0/Chart.yaml new file mode 100644 index 0000000000..fbd4d34323 --- /dev/null +++ b/community/komga/1.0.0/Chart.yaml @@ -0,0 +1,27 @@ +name: komga +description: Komga is a free and open source comics/mangas server. +annotations: + title: Komga +type: application +version: 1.0.0 +apiVersion: v2 +appVersion: '1.1.0' +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.9 +home: https://komga.org +icon: https://komga.org/assets/media/logo.svg +sources: + - https://github.com/gotson/komga + - https://github.com/truenas/charts/tree/master/library/ix-dev/community/komga + - https://hub.docker.com/r/gotson/komga +keywords: + - media + - comics + - mangas diff --git a/community/komga/1.0.0/README.md b/community/komga/1.0.0/README.md new file mode 100644 index 0000000000..901df05ae6 --- /dev/null +++ b/community/komga/1.0.0/README.md @@ -0,0 +1,8 @@ +# Komga + +[Komga](https://github.com/gotson/komga) is a free and open source comics/mangas server. + +> When application is installed, a container will be launched with **root** privileges. +> This is required in order to apply the correct permissions to the `Komga` directories. +> Afterward, the `Komga` 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/komga/1.0.0/app-readme.md b/community/komga/1.0.0/app-readme.md new file mode 100644 index 0000000000..901df05ae6 --- /dev/null +++ b/community/komga/1.0.0/app-readme.md @@ -0,0 +1,8 @@ +# Komga + +[Komga](https://github.com/gotson/komga) is a free and open source comics/mangas server. + +> When application is installed, a container will be launched with **root** privileges. +> This is required in order to apply the correct permissions to the `Komga` directories. +> Afterward, the `Komga` 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/komga/1.0.0/charts/common-1.0.9.tgz b/community/komga/1.0.0/charts/common-1.0.9.tgz new file mode 100644 index 0000000000000000000000000000000000000000..635223efbc38b9a3d1b31ae4f4fc001eecebb5dc GIT binary patch literal 55977 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

8@qu&T zSEV{X_if9a^8k$Rxdwza8;3>Yv%+<45s?{;Jbd?R36oU3obfFVG5k=ie0*>Y@Ekz! z%lnVar;hvNF>gUB>_^tpWdI`t-r_Kf&=;662(+tR7={iVt;q~nc53fIM;&p;= zafB8q{In)X`iWU;_@#rQ@>IElT-I(xz95FWTA4)M@?81BU58hUX-=s2w z*@jIKH`87Nr<4vthv2%jmc1E-#cvThh1<{G41$EjenC^&oa>g;ybxfp&+l2?=bM{eL;@I9PSTVlaDgi4Y7HHkHN-qxHLcBH@OiVQ%DLkEK2_`x z%Cl-B6ab{%WEsIBIP%!P%CU(zk&cNiNcGN`9(nXO5b5X+L$ZQ6_V}B7pmx#=W6HNO zJ-V6C@m+BN-_)s8&PGEVl9VcRuyHvB&yJrpT#mw+il-~72Ia9JG_O;xmzQeEm6cOa z=qjaiH6`8@oSYRSsrvQj!--yO%b)^1mLR9983g zolN%mUw2ZT3!f)f_wRp}-rm||ucFj^x?LT(9lf<19kScgy4H%bzqMXfLHQO~Bg2J; zszE{3l&`L)h*G15wKvtoal79iUZKB}*a&iKu0VNXP`jE&tiT2&4mL@G;-Hpp z)*NiX?$0Ed;m~j9x8Bs?WfYMwWAFj3BN(7D$nPKOAQ20BU(O+>Ua^AneD_q2f z)}{Gu$c_nsf23|Q%aAoqS+PtvL4YWoZ=zaVPLNO9A#0klgPg)7#qr`N1j7i&NZLJi zfn04`f!yAd736?q5_UFSzO81N>=?^6$o>V1e~UwOhlt+m1Q&y1EG~%zp%Q;)d z#+WYi;1Ujy{iEYa>vvDnloezcr1%y!zQlbG3{6vY$VO>p3za9!D_eNMR}#w>eb=X! z?Lp&}Czcg5Xm&)1Cu+p8Y)Mka8skDiJt*0g5EsOywU6->u#Yi2+5Fj?g5w-W>lbDU zcy8L}3BA-w$#c;ZoN`3+lsW}`8m*k8;&SOl6Ng#`a@lO-uqjVh)P#!v=d|?qEQ7b% zJ=;>Vr+v61!2dl{K!JaJ-D?tdR~pyk7HwWf4Y&zp71_NiqcE;q>nNl(pKbnfb1UNJYyt#*x_ zwCR-ST8{#Dxex6f9Gr86wg;2k;TfMStD)fH?1cXYP4@rugJp5^(BJ|BKBItec6|N*%!z1-v9sr|NnP3jOGA3 F2LOn193ub# literal 0 HcmV?d00001 diff --git a/community/komga/1.0.0/ci/basic-values.yaml b/community/komga/1.0.0/ci/basic-values.yaml new file mode 100644 index 0000000000..68c34063aa --- /dev/null +++ b/community/komga/1.0.0/ci/basic-values.yaml @@ -0,0 +1,11 @@ +komgaNetwork: + webPort: 31000 + +komgaRunAs: + user: 1000 + group: 1000 + +komgaStorage: + config: + type: hostPath + hostPath: /mnt/{{ .Release.Namespace }}/config diff --git a/community/komga/1.0.0/ci/extra-values.yaml b/community/komga/1.0.0/ci/extra-values.yaml new file mode 100644 index 0000000000..d8294bf899 --- /dev/null +++ b/community/komga/1.0.0/ci/extra-values.yaml @@ -0,0 +1,21 @@ +komgaConfig: + additionalEnvs: + - name: KOMGA_SESSIONTIMEOUT + value: 2d + - name: KOMGA_DELETE_EMPTY_READ_LISTS + value: false + +komgaNetwork: + webPort: 31000 + +komgaStorage: + config: + type: hostPath + hostPath: /mnt/{{ .Release.Namespace }}/config + additionalStorages: + - type: hostPath + hostPath: /mnt/{{ .Release.Namespace }}/comics + mountPath: /comics + - type: hostPath + hostPath: /mnt/{{ .Release.Namespace }}/mangas + mountPath: /mangas diff --git a/community/komga/1.0.0/ci/hostNet-values.yaml b/community/komga/1.0.0/ci/hostNet-values.yaml new file mode 100644 index 0000000000..c6ecd8f0ac --- /dev/null +++ b/community/komga/1.0.0/ci/hostNet-values.yaml @@ -0,0 +1,8 @@ +komgaNetwork: + webPort: 30000 + hostNetwork: true + +komgaStorage: + config: + type: hostPath + hostPath: /mnt/{{ .Release.Namespace }}/config diff --git a/community/komga/1.0.0/ix_values.yaml b/community/komga/1.0.0/ix_values.yaml new file mode 100644 index 0000000000..c9e5fd7a7b --- /dev/null +++ b/community/komga/1.0.0/ix_values.yaml @@ -0,0 +1,26 @@ +image: + repository: gotson/komga + pullPolicy: IfNotPresent + tag: '1.1.0' + +resources: + limits: + cpu: 4000m + memory: 8Gi + +komgaConfig: + additionalEnvs: [] + +komgaNetwork: + webPort: 30048 + hostNetwork: false + +komgaRunAs: + user: 568 + group: 568 + +komgaStorage: + config: + type: ixVolume + datasetName: config + additionalStorages: [] diff --git a/community/komga/1.0.0/metadata.yaml b/community/komga/1.0.0/metadata.yaml new file mode 100644 index 0000000000..469812c3a3 --- /dev/null +++ b/community/komga/1.0.0/metadata.yaml @@ -0,0 +1,8 @@ +runAsContext: + - userName: komga + groupName: komga + gid: 568 + uid: 568 + description: Komga can run as any non-root user. +capabilities: [] +hostMounts: [] diff --git a/community/komga/1.0.0/questions.yaml b/community/komga/1.0.0/questions.yaml new file mode 100644 index 0000000000..610001115e --- /dev/null +++ b/community/komga/1.0.0/questions.yaml @@ -0,0 +1,228 @@ +groups: + - name: Komga Configuration + description: Configure Komga + - name: User and Group Configuration + description: Configure User and Group for Komga + - name: Network Configuration + description: Configure Network for Komga + - name: Storage Configuration + description: Configure Storage for Komga + - name: Resources Configuration + description: Configure Resources for Komga + +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: TZ + group: Komga Configuration + label: Timezone + schema: + type: string + default: Etc/UTC + required: true + $ref: + - definitions/timezone + + - variable: komgaConfig + label: "" + group: Komga Configuration + schema: + type: dict + attrs: + - variable: additionalEnvs + label: Additional Environment Variables + description: Configure additional environment variables for Komga. + 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: komgaRunAs + label: "" + group: User and Group Configuration + schema: + type: dict + attrs: + - variable: user + label: User ID + description: The user id that Komga will run as. + schema: + type: int + min: 2 + default: 568 + required: true + - variable: group + label: Group ID + description: The group id that Komga will run as. + schema: + type: int + min: 2 + default: 568 + required: true + + - variable: komgaNetwork + label: "" + group: Network Configuration + schema: + type: dict + attrs: + - variable: webPort + label: Web Port + description: The port for the Komga Web UI. + schema: + type: int + default: 30048 + 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: komgaStorage + label: "" + group: Storage Configuration + schema: + type: dict + attrs: + - variable: config + label: Komga Config Storage + description: The path to store Komga 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 Komga. + 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 Komga. + schema: + type: string + default: "4000m" + required: true + - variable: memory + label: Memory + description: Memory limit for Komga. + schema: + type: string + default: "8Gi" + required: true diff --git a/community/komga/1.0.0/templates/NOTES.txt b/community/komga/1.0.0/templates/NOTES.txt new file mode 100644 index 0000000000..ba4e01146c --- /dev/null +++ b/community/komga/1.0.0/templates/NOTES.txt @@ -0,0 +1 @@ +{{ include "ix.v1.common.lib.chart.notes" $ }} diff --git a/community/komga/1.0.0/templates/_komga.tpl b/community/komga/1.0.0/templates/_komga.tpl new file mode 100644 index 0000000000..113d196424 --- /dev/null +++ b/community/komga/1.0.0/templates/_komga.tpl @@ -0,0 +1,51 @@ +{{- define "komga.workload" -}} +workload: + komga: + enabled: true + primary: true + type: Deployment + podSpec: + hostNetwork: {{ .Values.komgaNetwork.hostNetwork }} + containers: + komga: + enabled: true + primary: true + imageSelector: image + securityContext: + runAsUser: {{ .Values.komgaRunAs.user }} + runAsGroup: {{ .Values.komgaRunAs.group }} + env: + SERVER_PORT: {{ .Values.komgaNetwork.webPort }} + KOMGA_CONFIGDIR: /config + KOMGA_DATABASE_FILE: /config/database.sqlite + SERVER_SERVLET_CONTEXT_PATH: "/" + {{ with .Values.komgaConfig.additionalEnvs }} + envList: + {{ range $env := . }} + - name: {{ $env.name }} + value: {{ $env.value }} + {{ end }} + {{ end }} + probes: + liveness: + enabled: true + type: http + port: "{{ .Values.komgaNetwork.webPort }}" + path: /actuator/health + readiness: + enabled: true + type: http + port: "{{ .Values.komgaNetwork.webPort }}" + path: /actuator/health + startup: + enabled: true + type: http + port: "{{ .Values.komgaNetwork.webPort }}" + path: /actuator/health + initContainers: + {{- include "ix.v1.common.app.permissions" (dict "containerName" "01-permissions" + "UID" .Values.komgaRunAs.user + "GID" .Values.komgaRunAs.group + "mode" "check" + "type" "init") | nindent 8 }} +{{- end -}} diff --git a/community/komga/1.0.0/templates/_persistence.tpl b/community/komga/1.0.0/templates/_persistence.tpl new file mode 100644 index 0000000000..56979bcc21 --- /dev/null +++ b/community/komga/1.0.0/templates/_persistence.tpl @@ -0,0 +1,34 @@ +{{- define "komga.persistence" -}} +persistence: + config: + enabled: true + type: {{ .Values.komgaStorage.config.type }} + datasetName: {{ .Values.komgaStorage.config.datasetName | default "" }} + hostPath: {{ .Values.komgaStorage.config.hostPath | default "" }} + targetSelector: + komga: + komga: + mountPath: /config + 01-permissions: + mountPath: /mnt/directories/config + tmp: + enabled: true + type: emptyDir + targetSelector: + komga: + komga: + mountPath: /tmp + {{- range $idx, $storage := .Values.komgaStorage.additionalStorages }} + {{ printf "komga-%v" (int $idx) }}: + enabled: true + type: {{ $storage.type }} + datasetName: {{ $storage.datasetName | default "" }} + hostPath: {{ $storage.hostPath | default "" }} + targetSelector: + komga: + komga: + mountPath: {{ $storage.mountPath }} + 01-permissions: + mountPath: /mnt/directories{{ $storage.mountPath }} + {{- end }} +{{- end -}} diff --git a/community/komga/1.0.0/templates/_portal.tpl b/community/komga/1.0.0/templates/_portal.tpl new file mode 100644 index 0000000000..f2413e934e --- /dev/null +++ b/community/komga/1.0.0/templates/_portal.tpl @@ -0,0 +1,12 @@ +{{- define "komga.portal" -}} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: portal +data: + path: "/" + port: {{ .Values.komgaNetwork.webPort | quote }} + protocol: http + host: $node_ip +{{- end -}} diff --git a/community/komga/1.0.0/templates/_service.tpl b/community/komga/1.0.0/templates/_service.tpl new file mode 100644 index 0000000000..a51b193f77 --- /dev/null +++ b/community/komga/1.0.0/templates/_service.tpl @@ -0,0 +1,15 @@ +{{- define "komga.service" -}} +service: + komga: + enabled: true + primary: true + type: NodePort + targetSelector: komga + ports: + webui: + enabled: true + primary: true + port: {{ .Values.komgaNetwork.webPort }} + nodePort: {{ .Values.komgaNetwork.webPort }} + targetSelector: komga +{{- end -}} diff --git a/community/komga/1.0.0/templates/common.yaml b/community/komga/1.0.0/templates/common.yaml new file mode 100644 index 0000000000..3c86bc8d88 --- /dev/null +++ b/community/komga/1.0.0/templates/common.yaml @@ -0,0 +1,11 @@ +{{- include "ix.v1.common.loader.init" . -}} + +{{/* Merge the templates with Values */}} +{{- $_ := mustMergeOverwrite .Values (include "komga.workload" $ | fromYaml) -}} +{{- $_ := mustMergeOverwrite .Values (include "komga.persistence" $ | fromYaml) -}} +{{- $_ := mustMergeOverwrite .Values (include "komga.service" $ | fromYaml) -}} + +{{/* Create the configmap for portal manually*/}} +{{- include "komga.portal" $ -}} + +{{- include "ix.v1.common.loader.apply" . -}} diff --git a/community/komga/item.yaml b/community/komga/item.yaml new file mode 100644 index 0000000000..ba8d5fcb7b --- /dev/null +++ b/community/komga/item.yaml @@ -0,0 +1,8 @@ +icon_url: https://komga.org/assets/media/logo.svg +categories: + - media +screenshots: + - https://noted.lol/content/images/size/w1000/2023/01/komga-self-hosted-series.png +tags: + - comics + - mangas