From a9c2e5b9801da582ccb42b88bc42fe8e220ee329 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Thu, 21 Dec 2023 07:33:54 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- .../2.0.1/app-changelog.md | 9 - .../{2.0.1 => 2.0.2}/CHANGELOG.md | 18 +- .../{2.0.1 => 2.0.2}/Chart.yaml | 6 +- .../{2.0.1 => 2.0.2}/LICENSE | 0 .../{2.0.1 => 2.0.2}/README.md | 0 .../2.0.2/app-changelog.md | 9 + .../{2.0.1 => 2.0.2}/app-readme.md | 0 .../{2.0.1 => 2.0.2}/charts/common-16.2.7.tgz | Bin .../{2.0.1 => 2.0.2}/ix_values.yaml | 0 .../{2.0.1 => 2.0.2}/questions.yaml | 0 .../{2.0.1 => 2.0.2}/templates/NOTES.txt | 0 .../_mutatingwebhookconfiguration.tpl | 0 .../_validatingwebhookconfiguration.tpl | 0 .../{2.0.1 => 2.0.2}/templates/common.yaml | 0 .../crds/crd-alertmanagerconfigs.yaml | 0 .../templates/crds/crd-alertmanagers.yaml | 0 .../templates/crds/crd-podmonitors.yaml | 0 .../templates/crds/crd-probes.yaml | 0 .../templates/crds/crd-prometheusagents.yaml | 0 .../templates/crds/crd-prometheuses.yaml | 0 .../templates/crds/crd-prometheusrules.yaml | 0 .../templates/crds/crd-scrapeconfigs.yaml | 0 .../templates/crds/crd-servicemonitors.yaml | 0 .../templates/crds/crd-thanosrulers.yaml | 0 .../{2.0.1 => 2.0.2}/update-operator-crds.sh | 0 .../{2.0.1 => 2.0.2}/values.yaml | 0 stable/immich/10.0.2/CHANGELOG.md | 99 + stable/immich/10.0.2/Chart.yaml | 43 + stable/immich/10.0.2/LICENSE | 106 + stable/immich/10.0.2/README.md | 27 + stable/immich/10.0.2/app-changelog.md | 9 + stable/immich/10.0.2/app-readme.md | 8 + .../10.0.2}/charts/common-16.2.7.tgz | Bin stable/immich/10.0.2/charts/redis-10.0.3.tgz | Bin 0 -> 101998 bytes stable/immich/10.0.2/ix_values.yaml | 152 + stable/immich/10.0.2/questions.yaml | 3848 +++++++++++++++++ .../10.0.2}/templates/NOTES.txt | 0 stable/immich/10.0.2/templates/_config.tpl | 77 + .../10.0.2/templates/_machinelearning.tpl | 39 + .../10.0.2/templates/_microservices.tpl | 45 + stable/immich/10.0.2/templates/_server.tpl | 37 + stable/immich/10.0.2/templates/_typesense.tpl | 36 + stable/immich/10.0.2/templates/_wait.tpl | 16 + stable/immich/10.0.2/templates/common.yaml | 64 + .../4.0.1 => immich/10.0.2}/values.yaml | 0 stable/pastey/4.0.1/app-changelog.md | 10 - stable/pastey/{4.0.1 => 4.0.2}/CHANGELOG.md | 9 + stable/pastey/{4.0.1 => 4.0.2}/Chart.yaml | 4 +- stable/pastey/{4.0.1 => 4.0.2}/README.md | 0 stable/pastey/4.0.2/app-changelog.md | 9 + stable/pastey/{4.0.1 => 4.0.2}/app-readme.md | 0 stable/pastey/4.0.2/charts/common-16.2.7.tgz | Bin 0 -> 95883 bytes stable/pastey/{4.0.1 => 4.0.2}/ix_values.yaml | 0 stable/pastey/{4.0.1 => 4.0.2}/questions.yaml | 0 stable/pastey/4.0.2/templates/NOTES.txt | 1 + .../{4.0.1 => 4.0.2}/templates/common.yaml | 0 stable/pastey/4.0.2/values.yaml | 0 57 files changed, 4648 insertions(+), 33 deletions(-) delete mode 100644 operators/prometheus-operator/2.0.1/app-changelog.md rename operators/prometheus-operator/{2.0.1 => 2.0.2}/CHANGELOG.md (86%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/Chart.yaml (84%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/LICENSE (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/README.md (100%) create mode 100644 operators/prometheus-operator/2.0.2/app-changelog.md rename operators/prometheus-operator/{2.0.1 => 2.0.2}/app-readme.md (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/charts/common-16.2.7.tgz (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/ix_values.yaml (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/questions.yaml (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/templates/NOTES.txt (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/templates/_mutatingwebhookconfiguration.tpl (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/templates/_validatingwebhookconfiguration.tpl (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/templates/common.yaml (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/templates/crds/crd-alertmanagerconfigs.yaml (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/templates/crds/crd-alertmanagers.yaml (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/templates/crds/crd-podmonitors.yaml (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/templates/crds/crd-probes.yaml (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/templates/crds/crd-prometheusagents.yaml (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/templates/crds/crd-prometheuses.yaml (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/templates/crds/crd-prometheusrules.yaml (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/templates/crds/crd-scrapeconfigs.yaml (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/templates/crds/crd-servicemonitors.yaml (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/templates/crds/crd-thanosrulers.yaml (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/update-operator-crds.sh (100%) rename operators/prometheus-operator/{2.0.1 => 2.0.2}/values.yaml (100%) create mode 100644 stable/immich/10.0.2/CHANGELOG.md create mode 100644 stable/immich/10.0.2/Chart.yaml create mode 100644 stable/immich/10.0.2/LICENSE create mode 100644 stable/immich/10.0.2/README.md create mode 100644 stable/immich/10.0.2/app-changelog.md create mode 100644 stable/immich/10.0.2/app-readme.md rename stable/{pastey/4.0.1 => immich/10.0.2}/charts/common-16.2.7.tgz (100%) create mode 100644 stable/immich/10.0.2/charts/redis-10.0.3.tgz create mode 100644 stable/immich/10.0.2/ix_values.yaml create mode 100644 stable/immich/10.0.2/questions.yaml rename stable/{pastey/4.0.1 => immich/10.0.2}/templates/NOTES.txt (100%) create mode 100644 stable/immich/10.0.2/templates/_config.tpl create mode 100644 stable/immich/10.0.2/templates/_machinelearning.tpl create mode 100644 stable/immich/10.0.2/templates/_microservices.tpl create mode 100644 stable/immich/10.0.2/templates/_server.tpl create mode 100644 stable/immich/10.0.2/templates/_typesense.tpl create mode 100644 stable/immich/10.0.2/templates/_wait.tpl create mode 100644 stable/immich/10.0.2/templates/common.yaml rename stable/{pastey/4.0.1 => immich/10.0.2}/values.yaml (100%) delete mode 100644 stable/pastey/4.0.1/app-changelog.md rename stable/pastey/{4.0.1 => 4.0.2}/CHANGELOG.md (79%) rename stable/pastey/{4.0.1 => 4.0.2}/Chart.yaml (90%) rename stable/pastey/{4.0.1 => 4.0.2}/README.md (100%) create mode 100644 stable/pastey/4.0.2/app-changelog.md rename stable/pastey/{4.0.1 => 4.0.2}/app-readme.md (100%) create mode 100644 stable/pastey/4.0.2/charts/common-16.2.7.tgz rename stable/pastey/{4.0.1 => 4.0.2}/ix_values.yaml (100%) rename stable/pastey/{4.0.1 => 4.0.2}/questions.yaml (100%) create mode 100644 stable/pastey/4.0.2/templates/NOTES.txt rename stable/pastey/{4.0.1 => 4.0.2}/templates/common.yaml (100%) create mode 100644 stable/pastey/4.0.2/values.yaml diff --git a/operators/prometheus-operator/2.0.1/app-changelog.md b/operators/prometheus-operator/2.0.1/app-changelog.md deleted file mode 100644 index f526a967a20..00000000000 --- a/operators/prometheus-operator/2.0.1/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [prometheus-operator-2.0.1](https://github.com/truecharts/charts/compare/prometheus-operator-2.0.0...prometheus-operator-2.0.1) (2023-12-20) - -### Chore - -- bump patch versions on all charts for new GUI release - - \ No newline at end of file diff --git a/operators/prometheus-operator/2.0.1/CHANGELOG.md b/operators/prometheus-operator/2.0.2/CHANGELOG.md similarity index 86% rename from operators/prometheus-operator/2.0.1/CHANGELOG.md rename to operators/prometheus-operator/2.0.2/CHANGELOG.md index 46f7a2b64c1..447a66c7351 100644 --- a/operators/prometheus-operator/2.0.1/CHANGELOG.md +++ b/operators/prometheus-operator/2.0.2/CHANGELOG.md @@ -4,6 +4,15 @@ +## [prometheus-operator-2.0.2](https://github.com/truecharts/charts/compare/prometheus-operator-2.0.1...prometheus-operator-2.0.2) (2023-12-21) + +### Fix + +- fix last appVersion's ([#16335](https://github.com/truecharts/charts/issues/16335)) + + + + ## [prometheus-operator-2.0.1](https://github.com/truecharts/charts/compare/prometheus-operator-2.0.0...prometheus-operator-2.0.1) (2023-12-20) ### Chore @@ -88,12 +97,3 @@ - -## [prometheus-operator-1.0.11](https://github.com/truecharts/charts/compare/prometheus-operator-1.0.10...prometheus-operator-1.0.11) (2023-11-08) - -### Chore - -- update helm general non-major ([#14454](https://github.com/truecharts/charts/issues/14454)) - - update container image tccr.io/truecharts/prometheus-config-reloader to v0.69.0 ([#14396](https://github.com/truecharts/charts/issues/14396)) - - diff --git a/operators/prometheus-operator/2.0.1/Chart.yaml b/operators/prometheus-operator/2.0.2/Chart.yaml similarity index 84% rename from operators/prometheus-operator/2.0.1/Chart.yaml rename to operators/prometheus-operator/2.0.2/Chart.yaml index 6c6cea0dee1..33d74bca724 100644 --- a/operators/prometheus-operator/2.0.1/Chart.yaml +++ b/operators/prometheus-operator/2.0.2/Chart.yaml @@ -1,8 +1,8 @@ kubeVersion: ">=1.24.0-0" apiVersion: v2 name: prometheus-operator -version: 2.0.1 -appVersion: 0.69.1@sha256:dc0ad671ec11e5a5b6032a7d36b9451b10f0848f7f0d7203b761de6a1b7c0e99 +version: 2.0.2 +appVersion: 0.69.1 description: Prometheus Operator is an operator for prometheus home: https://truecharts.org/charts/operators/prometheus-operator icon: https://truecharts.org/img/hotlink-ok/chart-icons/prometheus-operator.png @@ -10,7 +10,7 @@ deprecated: false sources: - https://github.com/prometheus-operator - https://github.com/truecharts/charts/tree/master/charts/operators/prometheus-operator - - https://github.com/truecharts/containers/tree/master/mirrorprometheus-config-reloader + - https://github.com/truecharts/containers/tree/master/mirrorthanos maintainers: - name: TrueCharts email: info@truecharts.org diff --git a/operators/prometheus-operator/2.0.1/LICENSE b/operators/prometheus-operator/2.0.2/LICENSE similarity index 100% rename from operators/prometheus-operator/2.0.1/LICENSE rename to operators/prometheus-operator/2.0.2/LICENSE diff --git a/operators/prometheus-operator/2.0.1/README.md b/operators/prometheus-operator/2.0.2/README.md similarity index 100% rename from operators/prometheus-operator/2.0.1/README.md rename to operators/prometheus-operator/2.0.2/README.md diff --git a/operators/prometheus-operator/2.0.2/app-changelog.md b/operators/prometheus-operator/2.0.2/app-changelog.md new file mode 100644 index 00000000000..c4eb8246c97 --- /dev/null +++ b/operators/prometheus-operator/2.0.2/app-changelog.md @@ -0,0 +1,9 @@ + + +## [prometheus-operator-2.0.2](https://github.com/truecharts/charts/compare/prometheus-operator-2.0.1...prometheus-operator-2.0.2) (2023-12-21) + +### Fix + +- fix last appVersion's ([#16335](https://github.com/truecharts/charts/issues/16335)) + + \ No newline at end of file diff --git a/operators/prometheus-operator/2.0.1/app-readme.md b/operators/prometheus-operator/2.0.2/app-readme.md similarity index 100% rename from operators/prometheus-operator/2.0.1/app-readme.md rename to operators/prometheus-operator/2.0.2/app-readme.md diff --git a/operators/prometheus-operator/2.0.1/charts/common-16.2.7.tgz b/operators/prometheus-operator/2.0.2/charts/common-16.2.7.tgz similarity index 100% rename from operators/prometheus-operator/2.0.1/charts/common-16.2.7.tgz rename to operators/prometheus-operator/2.0.2/charts/common-16.2.7.tgz diff --git a/operators/prometheus-operator/2.0.1/ix_values.yaml b/operators/prometheus-operator/2.0.2/ix_values.yaml similarity index 100% rename from operators/prometheus-operator/2.0.1/ix_values.yaml rename to operators/prometheus-operator/2.0.2/ix_values.yaml diff --git a/operators/prometheus-operator/2.0.1/questions.yaml b/operators/prometheus-operator/2.0.2/questions.yaml similarity index 100% rename from operators/prometheus-operator/2.0.1/questions.yaml rename to operators/prometheus-operator/2.0.2/questions.yaml diff --git a/operators/prometheus-operator/2.0.1/templates/NOTES.txt b/operators/prometheus-operator/2.0.2/templates/NOTES.txt similarity index 100% rename from operators/prometheus-operator/2.0.1/templates/NOTES.txt rename to operators/prometheus-operator/2.0.2/templates/NOTES.txt diff --git a/operators/prometheus-operator/2.0.1/templates/_mutatingwebhookconfiguration.tpl b/operators/prometheus-operator/2.0.2/templates/_mutatingwebhookconfiguration.tpl similarity index 100% rename from operators/prometheus-operator/2.0.1/templates/_mutatingwebhookconfiguration.tpl rename to operators/prometheus-operator/2.0.2/templates/_mutatingwebhookconfiguration.tpl diff --git a/operators/prometheus-operator/2.0.1/templates/_validatingwebhookconfiguration.tpl b/operators/prometheus-operator/2.0.2/templates/_validatingwebhookconfiguration.tpl similarity index 100% rename from operators/prometheus-operator/2.0.1/templates/_validatingwebhookconfiguration.tpl rename to operators/prometheus-operator/2.0.2/templates/_validatingwebhookconfiguration.tpl diff --git a/operators/prometheus-operator/2.0.1/templates/common.yaml b/operators/prometheus-operator/2.0.2/templates/common.yaml similarity index 100% rename from operators/prometheus-operator/2.0.1/templates/common.yaml rename to operators/prometheus-operator/2.0.2/templates/common.yaml diff --git a/operators/prometheus-operator/2.0.1/templates/crds/crd-alertmanagerconfigs.yaml b/operators/prometheus-operator/2.0.2/templates/crds/crd-alertmanagerconfigs.yaml similarity index 100% rename from operators/prometheus-operator/2.0.1/templates/crds/crd-alertmanagerconfigs.yaml rename to operators/prometheus-operator/2.0.2/templates/crds/crd-alertmanagerconfigs.yaml diff --git a/operators/prometheus-operator/2.0.1/templates/crds/crd-alertmanagers.yaml b/operators/prometheus-operator/2.0.2/templates/crds/crd-alertmanagers.yaml similarity index 100% rename from operators/prometheus-operator/2.0.1/templates/crds/crd-alertmanagers.yaml rename to operators/prometheus-operator/2.0.2/templates/crds/crd-alertmanagers.yaml diff --git a/operators/prometheus-operator/2.0.1/templates/crds/crd-podmonitors.yaml b/operators/prometheus-operator/2.0.2/templates/crds/crd-podmonitors.yaml similarity index 100% rename from operators/prometheus-operator/2.0.1/templates/crds/crd-podmonitors.yaml rename to operators/prometheus-operator/2.0.2/templates/crds/crd-podmonitors.yaml diff --git a/operators/prometheus-operator/2.0.1/templates/crds/crd-probes.yaml b/operators/prometheus-operator/2.0.2/templates/crds/crd-probes.yaml similarity index 100% rename from operators/prometheus-operator/2.0.1/templates/crds/crd-probes.yaml rename to operators/prometheus-operator/2.0.2/templates/crds/crd-probes.yaml diff --git a/operators/prometheus-operator/2.0.1/templates/crds/crd-prometheusagents.yaml b/operators/prometheus-operator/2.0.2/templates/crds/crd-prometheusagents.yaml similarity index 100% rename from operators/prometheus-operator/2.0.1/templates/crds/crd-prometheusagents.yaml rename to operators/prometheus-operator/2.0.2/templates/crds/crd-prometheusagents.yaml diff --git a/operators/prometheus-operator/2.0.1/templates/crds/crd-prometheuses.yaml b/operators/prometheus-operator/2.0.2/templates/crds/crd-prometheuses.yaml similarity index 100% rename from operators/prometheus-operator/2.0.1/templates/crds/crd-prometheuses.yaml rename to operators/prometheus-operator/2.0.2/templates/crds/crd-prometheuses.yaml diff --git a/operators/prometheus-operator/2.0.1/templates/crds/crd-prometheusrules.yaml b/operators/prometheus-operator/2.0.2/templates/crds/crd-prometheusrules.yaml similarity index 100% rename from operators/prometheus-operator/2.0.1/templates/crds/crd-prometheusrules.yaml rename to operators/prometheus-operator/2.0.2/templates/crds/crd-prometheusrules.yaml diff --git a/operators/prometheus-operator/2.0.1/templates/crds/crd-scrapeconfigs.yaml b/operators/prometheus-operator/2.0.2/templates/crds/crd-scrapeconfigs.yaml similarity index 100% rename from operators/prometheus-operator/2.0.1/templates/crds/crd-scrapeconfigs.yaml rename to operators/prometheus-operator/2.0.2/templates/crds/crd-scrapeconfigs.yaml diff --git a/operators/prometheus-operator/2.0.1/templates/crds/crd-servicemonitors.yaml b/operators/prometheus-operator/2.0.2/templates/crds/crd-servicemonitors.yaml similarity index 100% rename from operators/prometheus-operator/2.0.1/templates/crds/crd-servicemonitors.yaml rename to operators/prometheus-operator/2.0.2/templates/crds/crd-servicemonitors.yaml diff --git a/operators/prometheus-operator/2.0.1/templates/crds/crd-thanosrulers.yaml b/operators/prometheus-operator/2.0.2/templates/crds/crd-thanosrulers.yaml similarity index 100% rename from operators/prometheus-operator/2.0.1/templates/crds/crd-thanosrulers.yaml rename to operators/prometheus-operator/2.0.2/templates/crds/crd-thanosrulers.yaml diff --git a/operators/prometheus-operator/2.0.1/update-operator-crds.sh b/operators/prometheus-operator/2.0.2/update-operator-crds.sh similarity index 100% rename from operators/prometheus-operator/2.0.1/update-operator-crds.sh rename to operators/prometheus-operator/2.0.2/update-operator-crds.sh diff --git a/operators/prometheus-operator/2.0.1/values.yaml b/operators/prometheus-operator/2.0.2/values.yaml similarity index 100% rename from operators/prometheus-operator/2.0.1/values.yaml rename to operators/prometheus-operator/2.0.2/values.yaml diff --git a/stable/immich/10.0.2/CHANGELOG.md b/stable/immich/10.0.2/CHANGELOG.md new file mode 100644 index 00000000000..38bea224595 --- /dev/null +++ b/stable/immich/10.0.2/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [immich-10.0.2](https://github.com/truecharts/charts/compare/immich-10.0.1...immich-10.0.2) (2023-12-21) + +### Fix + +- fix last appVersion's ([#16335](https://github.com/truecharts/charts/issues/16335)) + + + + +## [immich-10.0.1](https://github.com/truecharts/charts/compare/immich-10.0.0...immich-10.0.1) (2023-12-20) + +### Chore + +- bump patch versions on all charts for new GUI release + + + + +## [immich-10.0.0](https://github.com/truecharts/charts/compare/immich-9.0.4...immich-10.0.0) (2023-12-20) + +### Chore + +- update helm general major by renovate (major) ([#14631](https://github.com/truecharts/charts/issues/14631)) + + + + +## [immich-9.0.4](https://github.com/truecharts/charts/compare/immich-9.0.3...immich-9.0.4) (2023-12-20) + +### Chore + +- Bump everything to force min/max scale version update + + + + +## [immich-9.0.3](https://github.com/truecharts/charts/compare/immich-9.0.2...immich-9.0.3) (2023-12-03) + +### Chore + +- bump everything to ensure catalog has latest versions + - fix annotations again + - update annotations + - cleanup chart.yaml and add min-max scale version + + + + + + + +## [immich-9.0.2](https://github.com/truecharts/charts/compare/immich-9.0.0...immich-9.0.2) (2023-11-26) + +### Chore + +- update immich to v1.88.2[@d63de81](https://github.com/d63de81) (patch) ([#15270](https://github.com/truecharts/charts/issues/15270)) + + + + +## [immich-9.0.0](https://github.com/truecharts/charts/compare/immich-8.1.39...immich-9.0.0) (2023-11-21) + +### Feat + +- adapt to upstream changes ([#15203](https://github.com/truecharts/charts/issues/15203)) + + + + +## [immich-8.1.39](https://github.com/truecharts/charts/compare/immich-8.1.38...immich-8.1.39) (2023-11-18) + + + + +## [immich-8.1.38](https://github.com/truecharts/charts/compare/immich-8.1.37...immich-8.1.38) (2023-11-17) + +### Chore + +- update helm general non-major ([#14630](https://github.com/truecharts/charts/issues/14630)) + + + + +## [immich-8.1.37](https://github.com/truecharts/charts/compare/immich-8.1.36...immich-8.1.37) (2023-11-14) + +### Chore + +- update immich to v1.86.0 (minor) ([#14643](https://github.com/truecharts/charts/issues/14643)) + + + + +## [immich-8.1.36](https://github.com/truecharts/charts/compare/immich-8.1.35...immich-8.1.36) (2023-11-14) diff --git a/stable/immich/10.0.2/Chart.yaml b/stable/immich/10.0.2/Chart.yaml new file mode 100644 index 00000000000..db16255783b --- /dev/null +++ b/stable/immich/10.0.2/Chart.yaml @@ -0,0 +1,43 @@ +kubeVersion: ">=1.24.0-0" +apiVersion: v2 +name: immich +version: 10.0.2 +appVersion: 1.88.2 +description: High performance self-hosted photo and video backup solution. +home: https://truecharts.org/charts/stable/immich +icon: https://truecharts.org/img/hotlink-ok/chart-icons/immich.png +deprecated: false +sources: + - https://hub.docker.com/r/altran1502/immich-machine-learning + - https://github.com/immich-app/immich + - https://github.com/truecharts/charts/tree/master/charts/stable/immich +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +keywords: + - photos +dependencies: + - name: common + version: 16.2.7 + repository: https://library-charts.truecharts.org + condition: "" + alias: "" + tags: [] + import-values: [] + - name: redis + version: 10.0.3 + repository: https://deps.truecharts.org + condition: redis.enabled + alias: "" + tags: [] + import-values: [] +annotations: + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 + truecharts.org/SCALE-support: "true" + truecharts.org/category: media + truecharts.org/max_helm_version: "3.13" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: stable +type: application diff --git a/stable/immich/10.0.2/LICENSE b/stable/immich/10.0.2/LICENSE new file mode 100644 index 00000000000..33a8cbb23f0 --- /dev/null +++ b/stable/immich/10.0.2/LICENSE @@ -0,0 +1,106 @@ +Business Source License 1.1 + +Parameters + +Licensor: The TrueCharts Project, it's owner and it's contributors +Licensed Work: The TrueCharts "Blocky" Helm Chart +Additional Use Grant: You may use the licensed work in production, as long + as it is directly sourced from a TrueCharts provided + official repository, catalog or source. You may also make private + modification to the directly sourced licenced work, + when used in production. + + The following cases are, due to their nature, also + defined as 'production use' and explicitly prohibited: + - Bundling, including or displaying the licensed work + with(in) another work intended for production use, + with the apparent intend of facilitating and/or + promoting production use by third parties in + violation of this license. + +Change Date: 2050-01-01 + +Change License: 3-clause BSD license + +For information about alternative licensing arrangements for the Software, +please contact: legal@truecharts.org + +Notice + +The Business Source License (this document, or the “License”) is not an Open +Source license. However, the Licensed Work will eventually be made available +under an Open Source License, as stated in this License. + +License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. +“Business Source License” is a trademark of MariaDB Corporation Ab. + +----------------------------------------------------------------------------- + +Business Source License 1.1 + +Terms + +The Licensor hereby grants you the right to copy, modify, create derivative +works, redistribute, and make non-production use of the Licensed Work. The +Licensor may make an Additional Use Grant, above, permitting limited +production use. + +Effective on the Change Date, or the fourth anniversary of the first publicly +available distribution of a specific version of the Licensed Work under this +License, whichever comes first, the Licensor hereby grants you rights under +the terms of the Change License, and the rights granted in the paragraph +above terminate. + +If your use of the Licensed Work does not comply with the requirements +currently in effect as described in this License, you must purchase a +commercial license from the Licensor, its affiliated entities, or authorized +resellers, or you must refrain from using the Licensed Work. + +All copies of the original and modified Licensed Work, and derivative works +of the Licensed Work, are subject to this License. This License applies +separately for each version of the Licensed Work and the Change Date may vary +for each version of the Licensed Work released by Licensor. + +You must conspicuously display this License on each original or modified copy +of the Licensed Work. If you receive the Licensed Work in original or +modified form from a third party, the terms and conditions set forth in this +License apply to your use of that work. + +Any use of the Licensed Work in violation of this License will automatically +terminate your rights under this License for the current and all other +versions of the Licensed Work. + +This License does not grant you any right in any trademark or logo of +Licensor or its affiliates (provided that you may use a trademark or logo of +Licensor as expressly required by this License). + +TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON +AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, +EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND +TITLE. + +MariaDB hereby grants you permission to use this License’s text to license +your works, and to refer to it using the trademark “Business Source License”, +as long as you comply with the Covenants of Licensor below. + +Covenants of Licensor + +In consideration of the right to use this License’s text and the “Business +Source License” name and trademark, Licensor covenants to MariaDB, and to all +other recipients of the licensed work to be provided by Licensor: + +1. To specify as the Change License the GPL Version 2.0 or any later version, + or a license that is compatible with GPL Version 2.0 or a later version, + where “compatible” means that software provided under the Change License can + be included in a program with software provided under GPL Version 2.0 or a + later version. Licensor may specify additional Change Licenses without + limitation. + +2. To either: (a) specify an additional grant of rights to use that does not + impose any additional restriction on the right granted in this License, as + the Additional Use Grant; or (b) insert the text “None”. + +3. To specify a Change Date. + +4. Not to modify this License in any other way. diff --git a/stable/immich/10.0.2/README.md b/stable/immich/10.0.2/README.md new file mode 100644 index 00000000000..1e0c040ab08 --- /dev/null +++ b/stable/immich/10.0.2/README.md @@ -0,0 +1,27 @@ +# README + +## General Info + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. +However only installations using the TrueNAS SCALE Apps system are supported. + +For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/stable/immich) + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** + + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/charts/issues/new/choose) + +--- + +## Sponsor TrueCharts + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! + +*All Rights Reserved - The TrueCharts Project* diff --git a/stable/immich/10.0.2/app-changelog.md b/stable/immich/10.0.2/app-changelog.md new file mode 100644 index 00000000000..09a7d74e3a3 --- /dev/null +++ b/stable/immich/10.0.2/app-changelog.md @@ -0,0 +1,9 @@ + + +## [immich-10.0.2](https://github.com/truecharts/charts/compare/immich-10.0.1...immich-10.0.2) (2023-12-21) + +### Fix + +- fix last appVersion's ([#16335](https://github.com/truecharts/charts/issues/16335)) + + \ No newline at end of file diff --git a/stable/immich/10.0.2/app-readme.md b/stable/immich/10.0.2/app-readme.md new file mode 100644 index 00000000000..faabed80fd7 --- /dev/null +++ b/stable/immich/10.0.2/app-readme.md @@ -0,0 +1,8 @@ +High performance self-hosted photo and video backup solution. + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/immich](https://truecharts.org/charts/stable/immich) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! diff --git a/stable/pastey/4.0.1/charts/common-16.2.7.tgz b/stable/immich/10.0.2/charts/common-16.2.7.tgz similarity index 100% rename from stable/pastey/4.0.1/charts/common-16.2.7.tgz rename to stable/immich/10.0.2/charts/common-16.2.7.tgz diff --git a/stable/immich/10.0.2/charts/redis-10.0.3.tgz b/stable/immich/10.0.2/charts/redis-10.0.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a7bdb17dd4a54d900ca001b24d37bdc29cb90672 GIT binary patch literal 101998 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
    9RDp40Za#VhcCg{^^ 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 literal 0 HcmV?d00001 diff --git a/stable/immich/10.0.2/ix_values.yaml b/stable/immich/10.0.2/ix_values.yaml new file mode 100644 index 00000000000..86f9be625bb --- /dev/null +++ b/stable/immich/10.0.2/ix_values.yaml @@ -0,0 +1,152 @@ +image: + repository: altran1502/immich-server + tag: v1.88.2@sha256:d91f7b58ccc9fe57a62e037e98882fe88abd36c8e8a1949f7af0db13049d0e92 + pullPolicy: IfNotPresent +mlImage: + repository: altran1502/immich-machine-learning + tag: v1.88.2@sha256:d63de8141e64d77423a23c28ffc9c622420c7fd506fa0dc061f6ff6fac7b2f8e + pullPolicy: IfNotPresent +typesenseImage: + repository: typesense/typesense + tag: 0.25.1@sha256:3724f68156097114d07790e1c8bfaaca13b12eaecd602776d30d9933029064c7 + pullPolicy: IfNotPresent + +securityContext: + container: + readOnlyRootFilesystem: false + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + +immich: + enable_ml: true + enable_typesense: true + public_login_page_message: Immich + log_level: log + +service: + main: + # Main service targets the server + targetSelector: main + ports: + main: + port: 10323 + protocol: http + targetSelector: main + microservices: + enabled: true + type: ClusterIP + targetSelector: microservices + ports: + microservices: + enabled: true + primary: true + port: 10004 + protocol: http + targetSelector: microservices + machinelearning: + enabled: true + type: ClusterIP + targetSelector: machinelearning + ports: + machinelearning: + enabled: true + primary: true + port: 10003 + protocol: http + targetSelector: machinelearning + typesense: + enabled: true + type: ClusterIP + targetSelector: typesense + ports: + typesense: + enabled: true + primary: true + port: 10002 + protocol: http + targetSelector: typesense + +persistence: + mlcache: + enabled: true + type: emptyDir + targetSelector: + machinelearning: + machinelearning: + mountPath: /mlcache + microcache: + enabled: true + type: emptyDir + targetSelector: + microservices: + microservices: + mountPath: /microcache + typesense: + enabled: true + type: emptyDir + targetSelector: + typesense: + typesense: + mountPath: /typesensedata + library: + enabled: true + mountPath: /usr/src/app/upload/library + targetSelector: + # Main pod/container is server + main: + main: {} + microservices: + microservices: {} + uploads: + enabled: true + mountPath: /usr/src/app/upload/upload + targetSelector: + # Main pod/container is server + main: + main: {} + microservices: + microservices: {} + thumbs: + enabled: true + mountPath: /usr/src/app/upload/thumbs + targetSelector: + # Main pod/container is server + main: + main: {} + microservices: + microservices: {} + profile: + enabled: true + mountPath: /usr/src/app/upload/profile + targetSelector: + # Main pod/container is server + main: + main: {} + microservices: + microservices: {} + video: + enabled: true + mountPath: /usr/src/app/upload/encoded-video + targetSelector: + # Main pod/container is server + main: + main: {} + microservices: + microservices: {} + +cnpg: + main: + enabled: true + user: immich + database: immich + +redis: + enabled: true + redisUsername: default + +portal: + open: + enabled: true + +updated: true diff --git a/stable/immich/10.0.2/questions.yaml b/stable/immich/10.0.2/questions.yaml new file mode 100644 index 00000000000..3de96720e82 --- /dev/null +++ b/stable/immich/10.0.2/questions.yaml @@ -0,0 +1,3848 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: General Settings + description: General Deployment Settings + - name: Workload Settings + description: Workload Settings + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Postgresql + description: Postgresql + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_tcportal-open_protocol" + host: + - "$kubernetes-resource_configmap_tcportal-open_host" + ports: + - "$kubernetes-resource_configmap_tcportal-open_port" +questions: + - variable: global + group: General Settings + label: "Global Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: stopAll + label: Stop All + description: "Stops All Running pods and hibernates cnpg" + schema: + type: boolean + default: false + - variable: workload + group: "Workload Settings" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type (Advanced) + schema: + type: string + default: Deployment + enum: + - value: Deployment + description: Deployment + - value: DaemonSet + description: DaemonSet + + - variable: replicas + label: Replicas (Advanced) + description: Set the number of Replicas + schema: + type: int + show_if: [["type", "!=", "DaemonSet"]] + default: 1 + - variable: podSpec + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: containers + label: Containers + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: Main Container + schema: + additional_attrs: true + type: dict + attrs: + - variable: envList + label: Extra Environment Variables + description: "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting..." + schema: + type: list + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: command + label: Command + schema: + type: list + default: [] + items: + - variable: param + label: Param + schema: + type: string + + - variable: immich + group: App Configuration + label: Immich Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: public_login_page_message + label: Public Login Page Message + description: Custom message on the login page, should be written in HTML form. + schema: + type: string + default: "" + - variable: log_level + label: Log Level + schema: + type: string + default: log + enum: + - value: log + description: log + - value: simple + description: simple (Switch to log ASAP) + - value: warn + description: warn + - value: error + description: error + - value: verbose + description: verbose + - value: debug + description: debug + + - variable: enable_ml + label: Enable Machine Learning Container + schema: + type: boolean + default: true + - variable: enable_typesense + label: Enable Typesense Container + schema: + type: boolean + default: true + + - variable: TZ + label: Timezone + group: "General Settings" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: podOptions + group: "General Settings" + label: "Global Pod Options (Advanced)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: expertPodOpts + label: "Expert - Pod Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + label: "Host Networking" + schema: + type: boolean + default: false + - variable: dnsConfig + label: "DNS Configuration" + schema: + type: dict + additional_attrs: true + attrs: + - variable: options + label: "Options" + schema: + type: list + default: [{"name": "ndots", "value": "1"}] + items: + - variable: optionsEntry + label: "Option Entry" + schema: + type: dict + additional_attrs: true + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + - variable: nameservers + label: "Nameservers" + schema: + type: list + default: [] + items: + - variable: nsEntry + label: "Nameserver Entry" + schema: + type: string + required: true + - variable: searches + label: "Searches" + schema: + type: list + default: [] + items: + - variable: searchEntry + label: "Search Entry" + schema: + type: string + required: true + + - variable: imagePullSecretList + group: "General Settings" + label: "Image Pull Secrets" + schema: + type: list + default: [] + items: + - variable: pullsecretentry + label: "Pull Secret" + schema: + type: dict + additional_attrs: true + attrs: + - variable: registry + label: "Registry" + schema: + type: string + required: true + default: "https://index.docker.io/v1/" + - variable: username + label: "Username" + schema: + type: string + required: true + default: "" + - variable: password + label: "Password" + schema: + type: string + required: true + default: "" + - variable: email + label: "Email" + schema: + type: string + required: true + default: "" + - variable: service + group: Networking and Services + label: Configure Service(s) + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: Main Service + description: The Primary service on which the healthcheck runs, often the webUI + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Service + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "Service's Port(s) Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: Main Service Port Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + description: This port exposes the container port on the service + schema: + type: int + default: 10323 + required: true + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: scaleExternalInterface + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + additional_attrs: true + type: dict + $ref: + - "normalize/interfaceConfiguration" + attrs: + - variable: hostInterface + description: Please Specify Host Interface + label: Host Interface + schema: + type: string + required: true + $ref: + - "definitions/interface" + - variable: ipam + description: Define how IP Address will be managed + label: IP Address Management + schema: + additional_attrs: true + type: dict + required: true + attrs: + - variable: type + description: Specify type for IPAM + label: IPAM Type + schema: + type: string + required: true + enum: + - value: dhcp + description: Use DHCP + - value: static + description: Use Static IP + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + show_if: [["type", "=", "static"]] + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + show_if: [["type", "=", "static"]] + items: + - variable: staticRouteConfiguration + label: Static Route Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: destination + label: Destination + schema: + type: ipaddr + cidr: true + required: true + - variable: gateway + label: Gateway + schema: + type: ipaddr + cidr: false + required: true + - variable: serviceList + label: Add Manual Custom Services + group: Networking and Services + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: Custom Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the service + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - value: Simple + description: Deprecated CHANGE THIS + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: advancedsvcset + label: Show Advanced Service Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: Specify the IP Policy + schema: + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: IP Families + description: (Advanced) The IP Families that should be used + schema: + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - variable: portsList + label: Additional Service Ports + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: Custom ports + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Port + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Port Name + schema: + type: string + default: "" + - variable: protocol + label: Port Type + schema: + type: string + default: tcp + enum: + - value: http + description: HTTP + - value: https + description: HTTPS + - value: tcp + description: TCP + - value: udp + description: UDP + - variable: targetPort + label: Target Port + description: This port exposes the container port on the service + schema: + type: int + required: true + - variable: port + label: Container Port + schema: + type: int + required: true + - variable: persistence + label: Integrated Persistent Storage + description: Integrated Persistent Storage + group: Storage and Persistence + schema: + additional_attrs: true + type: dict + attrs: + - variable: library + label: App Library Storage + description: Stores the Application Uploads. + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: pvc + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - value: iscsi + description: iSCSI Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
    + Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size quotum of Storage (Do NOT REDUCE after installation) + description: This value can ONLY be INCREASED after the installation + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: disabled + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + - variable: uploads + label: App Uploads Storage + description: Temporary location for WebUI and mobile app uploads for images/videos that still need to be processed and eventually imported into the library storage. + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: pvc + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - value: iscsi + description: iSCSI Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
    + Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size quotum of Storage (Do NOT REDUCE after installation) + description: This value can ONLY be INCREASED after the installation + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: disabled + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + - variable: thumbs + label: App Thumbnails Storage + description: Stores the Application Thumbnails. + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: pvc + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - value: iscsi + description: iSCSI Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
    + Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size quotum of Storage (Do NOT REDUCE after installation) + description: This value can ONLY be INCREASED after the installation + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: disabled + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + - variable: profile + label: App Profiles Storage + description: Stores the Application Profiles. + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: pvc + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - value: iscsi + description: iSCSI Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
    + Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size quotum of Storage (Do NOT REDUCE after installation) + description: This value can ONLY be INCREASED after the installation + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: disabled + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + - variable: video + label: App Encoded Video Storage + description: Stores the Encoded Videos. + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: pvc + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - value: iscsi + description: iSCSI Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
    + Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size quotum of Storage (Do NOT REDUCE after installation) + description: This value can ONLY be INCREASED after the installation + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: disabled + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + - variable: persistenceList + label: Additional App Storage + group: Storage and Persistence + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: Custom Storage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the storage + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: hostPath + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
    + Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: Mount Path + description: Path inside the container the storage is mounted + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size Quotum of Storage + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + - variable: ingress + label: "" + group: Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: Main Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [{path: "/", pathType: "Prefix"}] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + + + - variable: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: namespace + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: ingressList + label: Add Manual Custom Ingresses + group: Ingress + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: Custom Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: service + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + show_if: [["certificateIssuer", "=", ""]] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: scaleCert + label: Use TrueNAS SCALE Certificate (Deprecated) + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: namespace + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: securityContext + group: Security and Permissions + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: container + label: Container + schema: + additional_attrs: true + type: dict + attrs: + # Settings from questions.yaml get appended here on a per-app basis + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID of the user running the application" + schema: + type: int + default: 0 + # Settings from questions.yaml get appended here on a per-app basis + - variable: PUID + label: Process User ID - PUID + description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps + schema: + type: int + show_if: [["runAsUser", "=", 0]] + default: 568 + - variable: UMASK + label: UMASK + description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps + schema: + type: string + default: "0022" + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: true + - variable: pod + label: Pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: OnRootMismatch + enum: + - value: OnRootMismatch + description: OnRootMismatch + - value: Always + description: Always + - variable: supplementalGroups + label: Supplemental Groups + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: Supplemental Group + schema: + type: int + # Settings from questions.yaml get appended here on a per-app basis + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + + - variable: resources + group: Resources and Devices + label: "Resource Limits" + schema: + additional_attrs: true + type: dict + attrs: + - variable: limits + label: Advanced Limit Resource Consumption + schema: + additional_attrs: true + type: dict + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 4000m + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: RAM + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 8Gi + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Minimum Resources Required (request)" + schema: + additional_attrs: true + type: dict + hidden: true + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 10m + hidden: true + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "RAM" + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 50Mi + hidden: true + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: deviceList + label: Mount USB Devices + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: Device + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Storage + schema: + type: boolean + default: true + - variable: type + label: (Advanced) Type of Storage + description: Sets the persistence type + schema: + type: string + default: device + hidden: true + - variable: readOnly + label: readOnly + schema: + type: boolean + default: false + - variable: hostPath + label: Host Device Path + description: Path to the device on the host system + schema: + type: path + - variable: mountPath + label: Container Device Path + description: Path inside the container the device is mounted + schema: + type: string + default: "/dev/ttyACM0" + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: scaleGPUEntry + label: GPU + schema: + additional_attrs: true + type: dict + attrs: + # Specify GPU configuration + - variable: gpu + label: Select GPU + schema: + additional_attrs: true + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + - variable: workaround + label: "Workaround" + schema: + type: string + default: workaround + hidden: true +# - variable: horizontalPodAutoscaler +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# type: list +# default: [] +# items: +# - variable: hpaEntry +# label: HPA Entry +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: name +# label: Name +# schema: +# type: string +# required: true +# default: "" +# - variable: enabled +# label: Enabled +# schema: +# type: boolean +# default: false +# show_subquestions_if: true +# subquestions: +# - variable: target +# label: Target +# description: Deployment name, Defaults to Main Deployment +# schema: +# type: string +# default: "" +# - variable: minReplicas +# label: Minimum Replicas +# schema: +# type: int +# default: 1 +# - variable: maxReplicas +# label: Maximum Replicas +# schema: +# type: int +# default: 5 +# - variable: targetCPUUtilizationPercentage +# label: Target CPU Utilization Percentage +# schema: +# type: int +# default: 80 +# - variable: targetMemoryUtilizationPercentage +# label: Target Memory Utilization Percentage +# schema: +# type: int +# default: 80 + - variable: networkPolicy + group: Advanced + label: (Advanced) Network Policy + schema: + type: list + default: [] + items: + - variable: netPolicyEntry + label: Network Policy Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: policyType + label: Policy Type + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ingress + description: Ingress + - value: egress + description: Egress + - value: ingress-egress + description: Ingress and Egress + - variable: egress + label: Egress + schema: + type: list + default: [] + items: + - variable: egressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: to + label: To + schema: + type: list + default: [] + items: + - variable: toEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: ingress + label: Ingress + schema: + type: list + default: [] + items: + - variable: ingressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: from + label: From + schema: + type: list + default: [] + items: + - variable: fromEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: addons + group: Addons + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: Codeserver + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: NodePort + description: Deprecated CHANGE THIS + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + default: 36107 + - variable: ingress + label: "Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [{path: "/", pathType: "Prefix"}] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: certificateIssuer + label: Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' + schema: + type: string + default: "" + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + show_if: [["advanced", "=", true]] + required: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + show_if: [["advanced", "=", true]] + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: envList + label: Codeserver Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + - variable: netshoot + label: Netshoot + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: envList + label: Netshoot Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + - variable: vpn + label: VPN + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type + schema: + type: string + default: disabled + enum: + - value: disabled + description: disabled + - value: gluetun + description: Gluetun + - value: tailscale + description: Tailscale + - value: openvpn + description: OpenVPN (Deprecated) + - value: wireguard + description: Wireguard (Deprecated) + - variable: openvpn + label: OpenVPN Settings + schema: + additional_attrs: true + type: dict + show_if: [["type", "=", "openvpn"]] + attrs: + - variable: username + label: Authentication Username (Optional) + description: Authentication Username, Optional + schema: + type: string + default: "" + - variable: password + label: Authentication Password + description: Authentication Credentials + schema: + type: string + show_if: [["username", "!=", ""]] + default: "" + required: true + - variable: tailscale + label: Tailscale Settings + schema: + additional_attrs: true + type: dict + show_if: [["type", "=", "tailscale"]] + attrs: + - variable: authkey + label: Authentication Key + description: Provide an auth key to automatically authenticate the node as your user account. + schema: + type: string + private: true + default: "" + - variable: auth_once + label: Auth Once + description: Only attempt to log in if not already logged in. + schema: + type: boolean + default: true + - variable: accept_dns + label: Accept DNS + description: Accept DNS configuration from the admin console. + schema: + type: boolean + default: false + - variable: userspace + label: Userspace + description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device. + schema: + type: boolean + default: false + - variable: routes + label: Routes + description: Expose physical subnet routes to your entire Tailscale network. + schema: + type: string + default: "" + - variable: dest_ip + label: Destination IP + description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched. + schema: + type: string + default: "" + - variable: sock5_server + label: Sock5 Server + description: The address on which to listen for SOCKS5 proxying into the tailscale net. + schema: + type: string + default: "" + - variable: outbound_http_proxy_listen + label: Outbound HTTP Proxy Listen + description: The address on which to listen for HTTP proxying into the tailscale net. + schema: + type: string + default: "" + - variable: extra_args + label: Extra Args + description: Extra Args + schema: + type: string + default: "" + - variable: daemon_extra_args + label: Tailscale Daemon Extra Args + description: Tailscale Daemon Extra Args + schema: + type: string + default: "" + - variable: killSwitch + label: Enable Killswitch + schema: + type: boolean + show_if: [["type", "!=", "disabled"]] + default: true + - variable: excludedNetworks_IPv4 + label: Killswitch Excluded IPv4 networks + description: List of Killswitch Excluded IPv4 Addresses + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv4 + label: IPv4 Network + schema: + type: string + required: true + - variable: excludedNetworks_IPv6 + label: Killswitch Excluded IPv6 networks + description: "List of Killswitch Excluded IPv6 Addresses" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv6 + label: IPv6 Network + schema: + type: string + required: true + - variable: configFile + label: VPN Config File Location + schema: + type: string + show_if: [["type", "!=", "disabled"]] + default: "" + + - variable: envList + label: VPN Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + max_length: 10240 + - variable: docs + group: Documentation + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
    https://truecharts.org + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDocs + label: I have checked the documentation + schema: + type: boolean + default: true + - variable: donateNag + group: Documentation + label: Please consider supporting TrueCharts, see https://truecharts.org/sponsor + description: Please consider supporting TrueCharts, see +
    https://truecharts.org/sponsor + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDonate + label: I have considered donating + schema: + type: boolean + default: true + hidden: true diff --git a/stable/pastey/4.0.1/templates/NOTES.txt b/stable/immich/10.0.2/templates/NOTES.txt similarity index 100% rename from stable/pastey/4.0.1/templates/NOTES.txt rename to stable/immich/10.0.2/templates/NOTES.txt diff --git a/stable/immich/10.0.2/templates/_config.tpl b/stable/immich/10.0.2/templates/_config.tpl new file mode 100644 index 00000000000..0f8b1ef9ef0 --- /dev/null +++ b/stable/immich/10.0.2/templates/_config.tpl @@ -0,0 +1,77 @@ +{{- define "immich.config" -}} + {{- $fname := (include "tc.v1.common.lib.chart.names.fullname" .) -}} + {{- $secretName := printf "%s-secret" $fname -}} + {{- $typesenseKey := randAlphaNum 32 -}} + {{- with (lookup "v1" "Secret" .Release.Namespace $secretName) -}} + {{- $typesenseKey = index .data "TYPESENSE_API_KEY" | b64dec -}} + {{- end }} + +configmap: + server-config: + enabled: true + data: + SERVER_PORT: {{ .Values.service.main.ports.main.port | quote }} + {{- with .Values.immich.public_login_page_message }} + PUBLIC_LOGIN_PAGE_MESSAGE: {{ . }} + {{- end }} + + micro-config: + enabled: true + data: + MICROSERVICES_PORT: {{ .Values.service.microservices.ports.microservices.port | quote }} + REVERSE_GEOCODING_DUMP_DIRECTORY: {{ .Values.persistence.microcache.targetSelector.microservices.microservices.mountPath }} + + {{- if .Values.immich.enable_ml }} + ml-config: + enabled: true + data: + NODE_ENV: production + MACHINE_LEARNING_PORT: {{ .Values.service.machinelearning.ports.machinelearning.port | quote }} + MACHINE_LEARNING_CACHE_FOLDER: {{ .Values.persistence.mlcache.targetSelector.machinelearning.machinelearning.mountPath }} + TRANSFORMERS_CACHE: {{ .Values.persistence.mlcache.targetSelector.machinelearning.machinelearning.mountPath }} + {{- end }} + + {{/* Server and Microservices */}} + common-config: + enabled: true + data: + NODE_ENV: production + LOG_LEVEL: {{ .Values.immich.log_level }} + IMMICH_MACHINE_LEARNING_ENABLED: {{ .Values.immich.enable_ml | quote }} + {{- if .Values.immich.enable_ml }} + IMMICH_MACHINE_LEARNING_URL: {{ printf "http://%v-machinelearning:%v" $fname .Values.service.machinelearning.ports.machinelearning.port }} + {{- end }} + TYPESENSE_ENABLED: {{ .Values.immich.enable_typesense | quote }} + {{- if .Values.immich.enable_typesense }} + TYPESENSE_PROTOCOL: http + TYPESENSE_HOST: {{ printf "%v-typesense" $fname }} + TYPESENSE_PORT: {{ .Values.service.typesense.ports.typesense.port | quote }} + {{- end }} + +secret: + typesense-secret: + enabled: true + data: + {{/* Secret Key */}} + TYPESENSE_API_KEY: {{ $typesenseKey }} + TYPESENSE_DATA_DIR: {{ .Values.persistence.typesense.targetSelector.typesense.typesense.mountPath }} + + secret: + enabled: true + data: + TYPESENSE_API_KEY: {{ $typesenseKey }} + + {{/* Server and Microservices */}} + deps-secret: + enabled: true + data: + DB_USERNAME: {{ .Values.cnpg.main.user }} + DB_DATABASE_NAME: {{ .Values.cnpg.main.database }} + DB_HOSTNAME: {{ .Values.cnpg.main.creds.host }} + DB_PASSWORD: {{ .Values.cnpg.main.creds.password }} + DB_PORT: "5432" + REDIS_HOSTNAME: {{ .Values.redis.creds.plainhost }} + REDIS_PASSWORD: {{ .Values.redis.creds.redisPassword }} + REDIS_PORT: "6379" + REDIS_DBINDEX: "0" +{{- end -}} diff --git a/stable/immich/10.0.2/templates/_machinelearning.tpl b/stable/immich/10.0.2/templates/_machinelearning.tpl new file mode 100644 index 00000000000..a9a29258351 --- /dev/null +++ b/stable/immich/10.0.2/templates/_machinelearning.tpl @@ -0,0 +1,39 @@ +{{/* Define the machinelearning container */}} +{{- define "immich.machinelearning" -}} +{{- $fname := (include "tc.v1.common.lib.chart.names.fullname" .) -}} +{{- $serverUrl := printf "http://%v:%v/api/server-info/ping" $fname .Values.service.main.ports.main.port }} +enabled: true +type: Deployment +podSpec: + initContainers: + wait-server: + {{/* Wait for server */}} + {{- include "immich.wait" (dict "url" $serverUrl) | nindent 6 }} + containers: + machinelearning: + enabled: true + primary: true + imageSelector: mlImage + securityContext: + capabilities: + disableS6Caps: true + envFrom: + - configMapRef: + name: ml-config + probes: + readiness: + enabled: true + type: http + path: /ping + port: {{ .Values.service.machinelearning.ports.machinelearning.port }} + liveness: + enabled: true + type: http + path: /ping + port: {{ .Values.service.machinelearning.ports.machinelearning.port }} + startup: + enabled: true + type: http + path: /ping + port: {{ .Values.service.machinelearning.ports.machinelearning.port }} +{{- end -}} diff --git a/stable/immich/10.0.2/templates/_microservices.tpl b/stable/immich/10.0.2/templates/_microservices.tpl new file mode 100644 index 00000000000..60dd003447f --- /dev/null +++ b/stable/immich/10.0.2/templates/_microservices.tpl @@ -0,0 +1,45 @@ +{{- define "immich.microservices" -}} +{{- $fname := (include "tc.v1.common.lib.chart.names.fullname" .) -}} +{{- $serverUrl := printf "http://%v:%v/api/server-info/ping" $fname .Values.service.main.ports.main.port }} +enabled: true +type: Deployment +podSpec: + initContainers: + wait-server: + {{/* Wait for server */}} + {{- include "immich.wait" (dict "url" $serverUrl) | nindent 6 }} + containers: + microservices: + enabled: true + primary: true + imageSelector: image + command: /bin/sh + args: + - -c + - /usr/src/app/start-microservices.sh + securityContext: + capabilities: + disableS6Caps: true + envFrom: + - secretRef: + name: secret + - secretRef: + name: deps-secret + - configMapRef: + name: common-config + - configMapRef: + name: micro-config + probes: + readiness: + enabled: true + type: tcp + port: {{ .Values.service.microservices.ports.microservices.port }} + liveness: + enabled: true + type: tcp + port: {{ .Values.service.microservices.ports.microservices.port }} + startup: + enabled: true + type: tcp + port: {{ .Values.service.microservices.ports.microservices.port }} +{{- end -}} diff --git a/stable/immich/10.0.2/templates/_server.tpl b/stable/immich/10.0.2/templates/_server.tpl new file mode 100644 index 00000000000..f8179772957 --- /dev/null +++ b/stable/immich/10.0.2/templates/_server.tpl @@ -0,0 +1,37 @@ +{{- define "immich.server" -}} +enabled: true +primary: true +imageSelector: image +command: /bin/sh +args: + - -c + - /usr/src/app/start-server.sh +securityContext: + capabilities: + disableS6Caps: true +envFrom: + - configMapRef: + name: server-config + - configMapRef: + name: common-config + - secretRef: + name: deps-secret + - secretRef: + name: secret +probes: + liveness: + enabled: true + type: http + path: /api/server-info/ping + port: {{ .Values.service.main.ports.main.port }} + readiness: + enabled: true + type: http + path: /api/server-info/ping + port: {{ .Values.service.main.ports.main.port }} + startup: + enabled: true + type: http + path: /api/server-info/ping + port: {{ .Values.service.main.ports.main.port }} +{{- end -}} diff --git a/stable/immich/10.0.2/templates/_typesense.tpl b/stable/immich/10.0.2/templates/_typesense.tpl new file mode 100644 index 00000000000..f332658f116 --- /dev/null +++ b/stable/immich/10.0.2/templates/_typesense.tpl @@ -0,0 +1,36 @@ +{{/* Define the typesense container */}} +{{- define "immich.typesense" -}} +enabled: true +type: Deployment +podSpec: + containers: + typesense: + enabled: true + primary: true + imageSelector: typesenseImage + securityContext: + capabilities: + disableS6Caps: true + envFrom: + - secretRef: + name: typesense-secret + args: + - --api-port + - {{ .Values.service.typesense.ports.typesense.port | quote }} + probes: + readiness: + enabled: true + type: http + path: /health + port: {{ .Values.service.typesense.ports.typesense.port }} + liveness: + enabled: true + type: http + path: /health + port: {{ .Values.service.typesense.ports.typesense.port }} + startup: + enabled: true + type: http + path: /health + port: {{ .Values.service.typesense.ports.typesense.port }} +{{- end -}} diff --git a/stable/immich/10.0.2/templates/_wait.tpl b/stable/immich/10.0.2/templates/_wait.tpl new file mode 100644 index 00000000000..83400b8dc50 --- /dev/null +++ b/stable/immich/10.0.2/templates/_wait.tpl @@ -0,0 +1,16 @@ +{{- define "immich.wait" -}} +{{- $url := .url }} +enabled: true +type: init +imageSelector: alpineImage +command: + - /bin/ash + - -c + - | + echo "Pinging [{{ $url }}] until it is ready..." + until wget --spider --quiet --timeout=3 --tries 1 "{{ $url }}"; do + echo "Waiting for [{{ $url }}] to be ready..." + sleep 2 + done + echo "URL [{{ $url }}] is ready!" +{{- end -}} diff --git a/stable/immich/10.0.2/templates/common.yaml b/stable/immich/10.0.2/templates/common.yaml new file mode 100644 index 00000000000..f2c3d6fc68a --- /dev/null +++ b/stable/immich/10.0.2/templates/common.yaml @@ -0,0 +1,64 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.v1.common.loader.init" . }} + +{{- $fname := (include "tc.v1.common.lib.chart.names.fullname" .) -}} + +{{- $_ := set .Values.workload.main.podSpec.containers "main" (include "immich.server" . | fromYaml) -}} +{{- if .Values.immich.enable_typesense -}} + {{/* Append init container to server, to make sure typesense is ready before starting */}} + {{- $url := printf "http://%v-typesense:%v/health" $fname .Values.service.typesense.ports.typesense.port -}} + {{- $_ := set .Values.workload.main.podSpec.initContainers "wait-typesense" (include "immich.wait" (dict "url" $url) | fromYaml) -}} +{{- end -}} + +{{/* Render Microservices Workload */}} +{{- $_ := set .Values.workload "microservices" (include "immich.microservices" . | fromYaml) -}} + +{{- if .Values.immich.enable_ml -}} + {{/* Enable Machine Learning Service */}} + {{- $_ := set .Values.service.machinelearning "enabled" true -}} + {{/* Render Machine Learning Workload */}} + {{- $_ := set .Values.workload "machinelearning" (include "immich.machinelearning" . | fromYaml) -}} +{{- else -}} + {{/* Disable Machine Learning Service */}} + {{- $_ := set .Values.service.machinelearning "enabled" false -}} +{{- end -}} + +{{- if .Values.immich.enable_typesense -}} + {{/* Enable Typesense Service */}} + {{- $_ := set .Values.service.typesense "enabled" true -}} + {{/* Render Typesense Workload */}} + {{- $_ := set .Values.workload "typesense" (include "immich.typesense" . | fromYaml) -}} +{{- else -}} + {{/* Disable Typesense Service */}} + {{- $_ := set .Values.service.typesense "enabled" false -}} +{{- end -}} + +{{/* Set targetselector for GPU to microservices */}} +{{- range $gpuEntry := .Values.scaleGPU }} + {{- if $gpuEntry.gpu -}} + {{- $_ := set $gpuEntry "targetSelector" (dict "microservices" (list "microservices")) -}} + {{- end -}} +{{- end -}} + +{{/* Render configuration for immich + after services, as it has references +*/}} +{{- $config := include "immich.config" . | fromYaml -}} +{{- if $config -}} + {{- $_ := mustMergeOverwrite .Values $config -}} +{{- end -}} + +{{- range $idx, $persistence := .Values.persistenceList -}} + {{- $_ := set $persistence "targetSelector" (dict + "main" (dict "main" dict) + "microservices" (dict "microservices" dict) + ) -}} +{{- end -}} + +{{- $envList := .Values.workload.main.podSpec.containers.main.envList -}} +{{- if $envList -}} + {{- $_ := set .Values.workload.microservices.podSpec.containers.microservices "envList" $envList -}} +{{- end -}} + +{{/* Render the templates */}} +{{ include "tc.v1.common.loader.apply" . }} diff --git a/stable/pastey/4.0.1/values.yaml b/stable/immich/10.0.2/values.yaml similarity index 100% rename from stable/pastey/4.0.1/values.yaml rename to stable/immich/10.0.2/values.yaml diff --git a/stable/pastey/4.0.1/app-changelog.md b/stable/pastey/4.0.1/app-changelog.md deleted file mode 100644 index 1da2c0c1547..00000000000 --- a/stable/pastey/4.0.1/app-changelog.md +++ /dev/null @@ -1,10 +0,0 @@ - - -## [pastey-4.0.1](https://github.com/truecharts/charts/compare/pastey-3.0.7...pastey-4.0.1) (2023-12-20) - -### Chore - -- bump patch versions on all charts for new GUI release - - update helm general major by renovate (major) ([#14631](https://github.com/truecharts/charts/issues/14631)) - - \ No newline at end of file diff --git a/stable/pastey/4.0.1/CHANGELOG.md b/stable/pastey/4.0.2/CHANGELOG.md similarity index 79% rename from stable/pastey/4.0.1/CHANGELOG.md rename to stable/pastey/4.0.2/CHANGELOG.md index 9d46ef3e283..cbfc97ed38b 100644 --- a/stable/pastey/4.0.1/CHANGELOG.md +++ b/stable/pastey/4.0.2/CHANGELOG.md @@ -4,6 +4,15 @@ +## [pastey-4.0.2](https://github.com/truecharts/charts/compare/pastey-4.0.1...pastey-4.0.2) (2023-12-21) + +### Fix + +- fix last appVersion's ([#16335](https://github.com/truecharts/charts/issues/16335)) + + + + ## [pastey-4.0.1](https://github.com/truecharts/charts/compare/pastey-3.0.7...pastey-4.0.1) (2023-12-20) ### Chore diff --git a/stable/pastey/4.0.1/Chart.yaml b/stable/pastey/4.0.2/Chart.yaml similarity index 90% rename from stable/pastey/4.0.1/Chart.yaml rename to stable/pastey/4.0.2/Chart.yaml index d343d0ce233..e6ca9b38b0e 100644 --- a/stable/pastey/4.0.1/Chart.yaml +++ b/stable/pastey/4.0.2/Chart.yaml @@ -1,8 +1,8 @@ kubeVersion: ">=1.24.0-0" apiVersion: v2 name: pastey -version: 4.0.1 -appVersion: 0.5.1@sha256:cc7d7e848fb023bcc1bf82a568421d2fcb5bd29eb23a5694c925e71662e725ab +version: 4.0.2 +appVersion: 0.5.1 description: A lightweight, self-hosted paste platform. home: https://truecharts.org/charts/stable/pastey icon: https://truecharts.org/img/hotlink-ok/chart-icons/pastey.png diff --git a/stable/pastey/4.0.1/README.md b/stable/pastey/4.0.2/README.md similarity index 100% rename from stable/pastey/4.0.1/README.md rename to stable/pastey/4.0.2/README.md diff --git a/stable/pastey/4.0.2/app-changelog.md b/stable/pastey/4.0.2/app-changelog.md new file mode 100644 index 00000000000..d858fbd1954 --- /dev/null +++ b/stable/pastey/4.0.2/app-changelog.md @@ -0,0 +1,9 @@ + + +## [pastey-4.0.2](https://github.com/truecharts/charts/compare/pastey-4.0.1...pastey-4.0.2) (2023-12-21) + +### Fix + +- fix last appVersion's ([#16335](https://github.com/truecharts/charts/issues/16335)) + + \ No newline at end of file diff --git a/stable/pastey/4.0.1/app-readme.md b/stable/pastey/4.0.2/app-readme.md similarity index 100% rename from stable/pastey/4.0.1/app-readme.md rename to stable/pastey/4.0.2/app-readme.md diff --git a/stable/pastey/4.0.2/charts/common-16.2.7.tgz b/stable/pastey/4.0.2/charts/common-16.2.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..79b55c5140c1bc08d05fd7ce6d6b7f0fe91c6776 GIT binary patch literal 95883 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 literal 0 HcmV?d00001 diff --git a/stable/pastey/4.0.1/ix_values.yaml b/stable/pastey/4.0.2/ix_values.yaml similarity index 100% rename from stable/pastey/4.0.1/ix_values.yaml rename to stable/pastey/4.0.2/ix_values.yaml diff --git a/stable/pastey/4.0.1/questions.yaml b/stable/pastey/4.0.2/questions.yaml similarity index 100% rename from stable/pastey/4.0.1/questions.yaml rename to stable/pastey/4.0.2/questions.yaml diff --git a/stable/pastey/4.0.2/templates/NOTES.txt b/stable/pastey/4.0.2/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/stable/pastey/4.0.2/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/pastey/4.0.1/templates/common.yaml b/stable/pastey/4.0.2/templates/common.yaml similarity index 100% rename from stable/pastey/4.0.1/templates/common.yaml rename to stable/pastey/4.0.2/templates/common.yaml diff --git a/stable/pastey/4.0.2/values.yaml b/stable/pastey/4.0.2/values.yaml new file mode 100644 index 00000000000..e69de29bb2d