From ff105beed7aa65e2681912874ef508b3c6a7ae4e Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Wed, 20 Dec 2023 13:17:12 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- enterprise/velero/2.0.1/CHANGELOG.md | 99 - enterprise/velero/2.0.1/app-changelog.md | 9 - enterprise/velero/2.0.2/CHANGELOG.md | 99 + enterprise/velero/{2.0.1 => 2.0.2}/Chart.yaml | 8 +- enterprise/velero/{2.0.1 => 2.0.2}/LICENSE | 0 enterprise/velero/{2.0.1 => 2.0.2}/README.md | 0 enterprise/velero/2.0.2/app-changelog.md | 9 + .../velero/{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}/charts/velero-5.2.0.tgz | Bin .../velero/{2.0.1 => 2.0.2}/ix_values.yaml | 2 +- .../velero/{2.0.1 => 2.0.2}/questions.yaml | 0 .../{2.0.1 => 2.0.2}/templates/NOTES.txt | 0 .../{2.0.1 => 2.0.2}/templates/common.yaml | 0 .../velero/{2.0.1 => 2.0.2}/values.yaml | 0 incubator/pushbits-server/0.0.1/CHANGELOG.md | 18 + incubator/pushbits-server/0.0.1/Chart.yaml | 40 + incubator/pushbits-server/0.0.1/README.md | 27 + .../pushbits-server/0.0.1/app-changelog.md | 4 + incubator/pushbits-server/0.0.1/app-readme.md | 8 + .../0.0.1}/charts/common-16.2.7.tgz | Bin .../pushbits-server/0.0.1/ix_values.yaml | 65 + .../pushbits-server/0.0.1/questions.yaml | 2679 ++++++++++++++++ .../0.0.1}/templates/NOTES.txt | 0 .../0.0.1}/templates/common.yaml | 0 .../0.0.1}/values.yaml | 0 incubator/pushbits-server/item.yaml | 4 + incubator/teamspeak3/8.0.4/CHANGELOG.md | 99 - incubator/teamspeak3/8.0.4/app-changelog.md | 9 - incubator/teamspeak3/8.1.0/CHANGELOG.md | 99 + .../teamspeak3/{8.0.4 => 8.1.0}/Chart.yaml | 6 +- .../teamspeak3/{8.0.4 => 8.1.0}/README.md | 0 incubator/teamspeak3/8.1.0/app-changelog.md | 9 + .../teamspeak3/{8.0.4 => 8.1.0}/app-readme.md | 0 .../teamspeak3/8.1.0/charts/common-16.2.7.tgz | Bin 0 -> 95883 bytes .../{8.0.4 => 8.1.0}/ix_values.yaml | 12 +- .../{8.0.4 => 8.1.0}/questions.yaml | 281 +- .../teamspeak3/8.1.0}/templates/common.yaml | 0 .../teamspeak3/8.1.0}/values.yaml | 0 operators/cert-manager/1.1.10/CHANGELOG.md | 99 + .../cert-manager/{1.1.9 => 1.1.10}/Chart.yaml | 10 +- .../cert-manager/{1.1.9 => 1.1.10}/LICENSE | 0 .../cert-manager/{1.1.9 => 1.1.10}/README.md | 0 .../cert-manager/1.1.10/app-changelog.md | 9 + .../{1.1.9 => 1.1.10}/app-readme.md | 0 .../charts/cert-manager-v1.13.3.tgz | Bin .../charts/common-14.5.0.tgz | Bin .../{1.1.9 => 1.1.10}/ix_values.yaml | 2 +- .../{1.1.9 => 1.1.10}/questions.yaml | 0 .../1.1.10}/templates/NOTES.txt | 0 .../{1.1.9 => 1.1.10}/templates/common.yaml | 0 .../{1.1.9 => 1.1.10}/templates/crds.yaml | 0 .../3.0.2 => cert-manager/1.1.10}/values.yaml | 0 operators/cert-manager/1.1.9/CHANGELOG.md | 99 - operators/cert-manager/1.1.9/app-changelog.md | 13 - operators/cloudnative-pg/3.0.2/CHANGELOG.md | 99 - .../cloudnative-pg/3.0.2/app-changelog.md | 13 - operators/cloudnative-pg/3.0.3/CHANGELOG.md | 99 + .../{3.0.2 => 3.0.3}/Chart.yaml | 8 +- .../cloudnative-pg/{3.0.2 => 3.0.3}/LICENSE | 0 .../cloudnative-pg/{3.0.2 => 3.0.3}/README.md | 0 .../cloudnative-pg/3.0.3/app-changelog.md | 9 + .../{3.0.2 => 3.0.3}/app-readme.md | 0 .../charts/cloudnative-pg-0.19.1.tgz | Bin .../{3.0.2 => 3.0.3}/charts/common-14.5.0.tgz | Bin .../{3.0.2 => 3.0.3}/ix_values.yaml | 2 +- .../{3.0.2 => 3.0.3}/questions.yaml | 0 .../cloudnative-pg/3.0.3}/templates/NOTES.txt | 0 .../{3.0.2 => 3.0.3}/templates/common.yaml | 0 .../cloudnative-pg/3.0.3}/values.yaml | 0 operators/metallb/11.0.3/CHANGELOG.md | 99 + operators/metallb/11.0.3/Chart.yaml | 45 + operators/metallb/11.0.3/LICENSE | 106 + operators/metallb/11.0.3/README.md | 27 + operators/metallb/11.0.3/app-changelog.md | 9 + operators/metallb/11.0.3/app-readme.md | 8 + .../metallb/11.0.3}/charts/common-14.5.0.tgz | Bin .../metallb/11.0.3/charts/metallb-0.13.12.tgz | Bin 0 -> 24427 bytes operators/metallb/11.0.3/ix_values.yaml | 25 + operators/metallb/11.0.3/questions.yaml | 45 + .../metallb/11.0.3}/templates/NOTES.txt | 0 .../metallb/11.0.3/templates/common.yaml | 5 + .../metallb/11.0.3}/values.yaml | 0 stable/bazarr/15.2.0/CHANGELOG.md | 99 + stable/bazarr/15.2.0/Chart.yaml | 41 + .../5.1.4 => bazarr/15.2.0}/README.md | 2 +- stable/bazarr/15.2.0/app-changelog.md | 4 + stable/bazarr/15.2.0/app-readme.md | 8 + .../15.2.0}/charts/common-14.5.0.tgz | Bin stable/bazarr/15.2.0/ix_values.yaml | 86 + stable/bazarr/15.2.0/questions.yaml | 2681 ++++++++++++++++ .../15.2.0}/templates/NOTES.txt | 0 .../15.2.0}/templates/common.yaml | 0 .../9.0.29 => bazarr/15.2.0}/values.yaml | 0 stable/minecraft-java/5.1.4/app-changelog.md | 9 - .../{5.1.4 => 5.2.0}/CHANGELOG.md | 50 +- .../{5.1.4 => 5.2.0}/Chart.yaml | 11 +- stable/minecraft-java/5.2.0/README.md | 27 + stable/minecraft-java/5.2.0/app-changelog.md | 4 + .../{5.1.4 => 5.2.0}/app-readme.md | 0 .../5.2.0}/charts/common-14.5.0.tgz | Bin .../{5.1.4 => 5.2.0}/ix_values.yaml | 72 +- .../{5.1.4 => 5.2.0}/questions.yaml | 381 ++- .../5.2.0}/templates/NOTES.txt | 0 .../5.2.0/templates/common.yaml | 10 + .../5.2.0}/values.yaml | 0 stable/qbitmanage/5.0.14/app-changelog.md | 10 - .../{5.0.14 => 5.0.15}/CHANGELOG.md | 72 +- .../qbitmanage/{5.0.14 => 5.0.15}/Chart.yaml | 13 +- .../qbitmanage/{5.0.14 => 5.0.15}/README.md | 0 stable/qbitmanage/5.0.15/app-changelog.md | 9 + .../{5.0.14 => 5.0.15}/app-readme.md | 0 .../5.0.15}/charts/common-14.5.0.tgz | Bin .../{5.0.14 => 5.0.15}/ix_values.yaml | 5 +- .../{5.0.14 => 5.0.15}/questions.yaml | 24 +- stable/qbitmanage/5.0.15/templates/NOTES.txt | 1 + .../{5.0.14 => 5.0.15}/templates/common.yaml | 0 stable/qbitmanage/5.0.15/values.yaml | 0 stable/radicale/3.0.5/CHANGELOG.md | 22 + stable/radicale/3.0.5/Chart.yaml | 44 + stable/radicale/3.0.5/README.md | 27 + stable/radicale/3.0.5/app-changelog.md | 9 + stable/radicale/3.0.5/app-readme.md | 8 + .../radicale/3.0.5/charts/common-16.2.7.tgz | Bin 0 -> 95883 bytes stable/radicale/3.0.5/ix_values.yaml | 80 + stable/radicale/3.0.5/questions.yaml | 2848 +++++++++++++++++ stable/radicale/3.0.5/templates/NOTES.txt | 1 + .../radicale/3.0.5/templates/_configmap.tpl | 161 + stable/radicale/3.0.5/templates/common.yaml | 11 + stable/radicale/3.0.5/values.yaml | 0 stable/radicale/item.yaml | 4 + stable/vikunja/9.0.29/CHANGELOG.md | 99 - stable/vikunja/9.0.29/app-changelog.md | 10 - stable/vikunja/9.0.30/CHANGELOG.md | 99 + stable/vikunja/{9.0.29 => 9.0.30}/Chart.yaml | 8 +- stable/vikunja/{9.0.29 => 9.0.30}/README.md | 0 stable/vikunja/9.0.30/app-changelog.md | 9 + .../vikunja/{9.0.29 => 9.0.30}/app-readme.md | 0 .../vikunja/9.0.30/charts/common-14.5.0.tgz | Bin 0 -> 74411 bytes .../charts/redis-6.0.66.tgz | Bin .../vikunja/{9.0.29 => 9.0.30}/ix_values.yaml | 2 +- .../vikunja/{9.0.29 => 9.0.30}/questions.yaml | 0 stable/vikunja/9.0.30/templates/NOTES.txt | 1 + .../{9.0.29 => 9.0.30}/templates/_secrets.tpl | 0 .../{9.0.29 => 9.0.30}/templates/common.yaml | 0 stable/vikunja/9.0.30/values.yaml | 0 stable/ztcuui-aio/5.0.14/app-changelog.md | 10 - .../{5.0.14 => 5.0.15}/CHANGELOG.md | 70 +- .../ztcuui-aio/{5.0.14 => 5.0.15}/Chart.yaml | 14 +- .../ztcuui-aio/{5.0.14 => 5.0.15}/README.md | 0 stable/ztcuui-aio/5.0.15/app-changelog.md | 4 + .../{5.0.14 => 5.0.15}/app-readme.md | 0 .../5.0.15/charts/common-16.0.0.tgz | Bin 0 -> 92778 bytes .../{5.0.14 => 5.0.15}/ix_values.yaml | 72 +- .../{5.0.14 => 5.0.15}/questions.yaml | 295 +- stable/ztcuui-aio/5.0.15/templates/NOTES.txt | 1 + .../ztcuui-aio/5.0.15/templates/common.yaml | 1 + stable/ztcuui-aio/5.0.15/values.yaml | 0 158 files changed, 11167 insertions(+), 779 deletions(-) delete mode 100644 enterprise/velero/2.0.1/CHANGELOG.md delete mode 100644 enterprise/velero/2.0.1/app-changelog.md create mode 100644 enterprise/velero/2.0.2/CHANGELOG.md rename enterprise/velero/{2.0.1 => 2.0.2}/Chart.yaml (94%) rename enterprise/velero/{2.0.1 => 2.0.2}/LICENSE (100%) rename enterprise/velero/{2.0.1 => 2.0.2}/README.md (100%) create mode 100644 enterprise/velero/2.0.2/app-changelog.md rename enterprise/velero/{2.0.1 => 2.0.2}/app-readme.md (100%) rename enterprise/velero/{2.0.1 => 2.0.2}/charts/common-16.2.7.tgz (100%) rename enterprise/velero/{2.0.1 => 2.0.2}/charts/velero-5.2.0.tgz (100%) rename enterprise/velero/{2.0.1 => 2.0.2}/ix_values.yaml (95%) rename enterprise/velero/{2.0.1 => 2.0.2}/questions.yaml (100%) rename enterprise/velero/{2.0.1 => 2.0.2}/templates/NOTES.txt (100%) rename enterprise/velero/{2.0.1 => 2.0.2}/templates/common.yaml (100%) rename enterprise/velero/{2.0.1 => 2.0.2}/values.yaml (100%) create mode 100644 incubator/pushbits-server/0.0.1/CHANGELOG.md create mode 100644 incubator/pushbits-server/0.0.1/Chart.yaml create mode 100644 incubator/pushbits-server/0.0.1/README.md create mode 100644 incubator/pushbits-server/0.0.1/app-changelog.md create mode 100644 incubator/pushbits-server/0.0.1/app-readme.md rename incubator/{teamspeak3/8.0.4 => pushbits-server/0.0.1}/charts/common-16.2.7.tgz (100%) create mode 100644 incubator/pushbits-server/0.0.1/ix_values.yaml create mode 100644 incubator/pushbits-server/0.0.1/questions.yaml rename {operators/cert-manager/1.1.9 => incubator/pushbits-server/0.0.1}/templates/NOTES.txt (100%) rename incubator/{teamspeak3/8.0.4 => pushbits-server/0.0.1}/templates/common.yaml (100%) rename incubator/{teamspeak3/8.0.4 => pushbits-server/0.0.1}/values.yaml (100%) create mode 100644 incubator/pushbits-server/item.yaml delete mode 100644 incubator/teamspeak3/8.0.4/CHANGELOG.md delete mode 100644 incubator/teamspeak3/8.0.4/app-changelog.md create mode 100644 incubator/teamspeak3/8.1.0/CHANGELOG.md rename incubator/teamspeak3/{8.0.4 => 8.1.0}/Chart.yaml (93%) rename incubator/teamspeak3/{8.0.4 => 8.1.0}/README.md (100%) create mode 100644 incubator/teamspeak3/8.1.0/app-changelog.md rename incubator/teamspeak3/{8.0.4 => 8.1.0}/app-readme.md (100%) create mode 100644 incubator/teamspeak3/8.1.0/charts/common-16.2.7.tgz rename incubator/teamspeak3/{8.0.4 => 8.1.0}/ix_values.yaml (77%) rename incubator/teamspeak3/{8.0.4 => 8.1.0}/questions.yaml (90%) rename {stable/minecraft-java/5.1.4 => incubator/teamspeak3/8.1.0}/templates/common.yaml (100%) rename {operators/cert-manager/1.1.9 => incubator/teamspeak3/8.1.0}/values.yaml (100%) create mode 100644 operators/cert-manager/1.1.10/CHANGELOG.md rename operators/cert-manager/{1.1.9 => 1.1.10}/Chart.yaml (94%) rename operators/cert-manager/{1.1.9 => 1.1.10}/LICENSE (100%) rename operators/cert-manager/{1.1.9 => 1.1.10}/README.md (100%) create mode 100644 operators/cert-manager/1.1.10/app-changelog.md rename operators/cert-manager/{1.1.9 => 1.1.10}/app-readme.md (100%) rename operators/cert-manager/{1.1.9 => 1.1.10}/charts/cert-manager-v1.13.3.tgz (100%) rename operators/cert-manager/{1.1.9 => 1.1.10}/charts/common-14.5.0.tgz (100%) rename operators/cert-manager/{1.1.9 => 1.1.10}/ix_values.yaml (87%) rename operators/cert-manager/{1.1.9 => 1.1.10}/questions.yaml (100%) rename operators/{cloudnative-pg/3.0.2 => cert-manager/1.1.10}/templates/NOTES.txt (100%) rename operators/cert-manager/{1.1.9 => 1.1.10}/templates/common.yaml (100%) rename operators/cert-manager/{1.1.9 => 1.1.10}/templates/crds.yaml (100%) rename operators/{cloudnative-pg/3.0.2 => cert-manager/1.1.10}/values.yaml (100%) delete mode 100644 operators/cert-manager/1.1.9/CHANGELOG.md delete mode 100644 operators/cert-manager/1.1.9/app-changelog.md delete mode 100644 operators/cloudnative-pg/3.0.2/CHANGELOG.md delete mode 100644 operators/cloudnative-pg/3.0.2/app-changelog.md create mode 100644 operators/cloudnative-pg/3.0.3/CHANGELOG.md rename operators/cloudnative-pg/{3.0.2 => 3.0.3}/Chart.yaml (94%) rename operators/cloudnative-pg/{3.0.2 => 3.0.3}/LICENSE (100%) rename operators/cloudnative-pg/{3.0.2 => 3.0.3}/README.md (100%) create mode 100644 operators/cloudnative-pg/3.0.3/app-changelog.md rename operators/cloudnative-pg/{3.0.2 => 3.0.3}/app-readme.md (100%) rename operators/cloudnative-pg/{3.0.2 => 3.0.3}/charts/cloudnative-pg-0.19.1.tgz (100%) rename operators/cloudnative-pg/{3.0.2 => 3.0.3}/charts/common-14.5.0.tgz (100%) rename operators/cloudnative-pg/{3.0.2 => 3.0.3}/ix_values.yaml (77%) rename operators/cloudnative-pg/{3.0.2 => 3.0.3}/questions.yaml (100%) rename {stable/minecraft-java/5.1.4 => operators/cloudnative-pg/3.0.3}/templates/NOTES.txt (100%) rename operators/cloudnative-pg/{3.0.2 => 3.0.3}/templates/common.yaml (100%) rename {stable/minecraft-java/5.1.4 => operators/cloudnative-pg/3.0.3}/values.yaml (100%) create mode 100644 operators/metallb/11.0.3/CHANGELOG.md create mode 100644 operators/metallb/11.0.3/Chart.yaml create mode 100644 operators/metallb/11.0.3/LICENSE create mode 100644 operators/metallb/11.0.3/README.md create mode 100644 operators/metallb/11.0.3/app-changelog.md create mode 100644 operators/metallb/11.0.3/app-readme.md rename {stable/minecraft-java/5.1.4 => operators/metallb/11.0.3}/charts/common-14.5.0.tgz (100%) create mode 100644 operators/metallb/11.0.3/charts/metallb-0.13.12.tgz create mode 100644 operators/metallb/11.0.3/ix_values.yaml create mode 100644 operators/metallb/11.0.3/questions.yaml rename {stable/qbitmanage/5.0.14 => operators/metallb/11.0.3}/templates/NOTES.txt (100%) create mode 100644 operators/metallb/11.0.3/templates/common.yaml rename {stable/qbitmanage/5.0.14 => operators/metallb/11.0.3}/values.yaml (100%) create mode 100644 stable/bazarr/15.2.0/CHANGELOG.md create mode 100644 stable/bazarr/15.2.0/Chart.yaml rename stable/{minecraft-java/5.1.4 => bazarr/15.2.0}/README.md (93%) create mode 100644 stable/bazarr/15.2.0/app-changelog.md create mode 100644 stable/bazarr/15.2.0/app-readme.md rename stable/{qbitmanage/5.0.14 => bazarr/15.2.0}/charts/common-14.5.0.tgz (100%) create mode 100644 stable/bazarr/15.2.0/ix_values.yaml create mode 100644 stable/bazarr/15.2.0/questions.yaml rename stable/{vikunja/9.0.29 => bazarr/15.2.0}/templates/NOTES.txt (100%) rename stable/{ztcuui-aio/5.0.14 => bazarr/15.2.0}/templates/common.yaml (100%) rename stable/{vikunja/9.0.29 => bazarr/15.2.0}/values.yaml (100%) delete mode 100644 stable/minecraft-java/5.1.4/app-changelog.md rename stable/minecraft-java/{5.1.4 => 5.2.0}/CHANGELOG.md (73%) rename stable/minecraft-java/{5.1.4 => 5.2.0}/Chart.yaml (89%) create mode 100644 stable/minecraft-java/5.2.0/README.md create mode 100644 stable/minecraft-java/5.2.0/app-changelog.md rename stable/minecraft-java/{5.1.4 => 5.2.0}/app-readme.md (100%) rename stable/{vikunja/9.0.29 => minecraft-java/5.2.0}/charts/common-14.5.0.tgz (100%) rename stable/minecraft-java/{5.1.4 => 5.2.0}/ix_values.yaml (73%) rename stable/minecraft-java/{5.1.4 => 5.2.0}/questions.yaml (90%) rename stable/{ztcuui-aio/5.0.14 => minecraft-java/5.2.0}/templates/NOTES.txt (100%) create mode 100644 stable/minecraft-java/5.2.0/templates/common.yaml rename stable/{ztcuui-aio/5.0.14 => minecraft-java/5.2.0}/values.yaml (100%) delete mode 100644 stable/qbitmanage/5.0.14/app-changelog.md rename stable/qbitmanage/{5.0.14 => 5.0.15}/CHANGELOG.md (60%) rename stable/qbitmanage/{5.0.14 => 5.0.15}/Chart.yaml (73%) rename stable/qbitmanage/{5.0.14 => 5.0.15}/README.md (100%) create mode 100644 stable/qbitmanage/5.0.15/app-changelog.md rename stable/qbitmanage/{5.0.14 => 5.0.15}/app-readme.md (100%) rename stable/{ztcuui-aio/5.0.14 => qbitmanage/5.0.15}/charts/common-14.5.0.tgz (100%) rename stable/qbitmanage/{5.0.14 => 5.0.15}/ix_values.yaml (88%) rename stable/qbitmanage/{5.0.14 => 5.0.15}/questions.yaml (98%) create mode 100644 stable/qbitmanage/5.0.15/templates/NOTES.txt rename stable/qbitmanage/{5.0.14 => 5.0.15}/templates/common.yaml (100%) create mode 100644 stable/qbitmanage/5.0.15/values.yaml create mode 100644 stable/radicale/3.0.5/CHANGELOG.md create mode 100644 stable/radicale/3.0.5/Chart.yaml create mode 100644 stable/radicale/3.0.5/README.md create mode 100644 stable/radicale/3.0.5/app-changelog.md create mode 100644 stable/radicale/3.0.5/app-readme.md create mode 100644 stable/radicale/3.0.5/charts/common-16.2.7.tgz create mode 100644 stable/radicale/3.0.5/ix_values.yaml create mode 100644 stable/radicale/3.0.5/questions.yaml create mode 100644 stable/radicale/3.0.5/templates/NOTES.txt create mode 100644 stable/radicale/3.0.5/templates/_configmap.tpl create mode 100644 stable/radicale/3.0.5/templates/common.yaml create mode 100644 stable/radicale/3.0.5/values.yaml create mode 100644 stable/radicale/item.yaml delete mode 100644 stable/vikunja/9.0.29/CHANGELOG.md delete mode 100644 stable/vikunja/9.0.29/app-changelog.md create mode 100644 stable/vikunja/9.0.30/CHANGELOG.md rename stable/vikunja/{9.0.29 => 9.0.30}/Chart.yaml (90%) rename stable/vikunja/{9.0.29 => 9.0.30}/README.md (100%) create mode 100644 stable/vikunja/9.0.30/app-changelog.md rename stable/vikunja/{9.0.29 => 9.0.30}/app-readme.md (100%) create mode 100644 stable/vikunja/9.0.30/charts/common-14.5.0.tgz rename stable/vikunja/{9.0.29 => 9.0.30}/charts/redis-6.0.66.tgz (100%) rename stable/vikunja/{9.0.29 => 9.0.30}/ix_values.yaml (98%) rename stable/vikunja/{9.0.29 => 9.0.30}/questions.yaml (100%) create mode 100644 stable/vikunja/9.0.30/templates/NOTES.txt rename stable/vikunja/{9.0.29 => 9.0.30}/templates/_secrets.tpl (100%) rename stable/vikunja/{9.0.29 => 9.0.30}/templates/common.yaml (100%) create mode 100644 stable/vikunja/9.0.30/values.yaml delete mode 100644 stable/ztcuui-aio/5.0.14/app-changelog.md rename stable/ztcuui-aio/{5.0.14 => 5.0.15}/CHANGELOG.md (60%) rename stable/ztcuui-aio/{5.0.14 => 5.0.15}/Chart.yaml (76%) rename stable/ztcuui-aio/{5.0.14 => 5.0.15}/README.md (100%) create mode 100644 stable/ztcuui-aio/5.0.15/app-changelog.md rename stable/ztcuui-aio/{5.0.14 => 5.0.15}/app-readme.md (100%) create mode 100644 stable/ztcuui-aio/5.0.15/charts/common-16.0.0.tgz rename stable/ztcuui-aio/{5.0.14 => 5.0.15}/ix_values.yaml (79%) rename stable/ztcuui-aio/{5.0.14 => 5.0.15}/questions.yaml (91%) create mode 100644 stable/ztcuui-aio/5.0.15/templates/NOTES.txt create mode 100644 stable/ztcuui-aio/5.0.15/templates/common.yaml create mode 100644 stable/ztcuui-aio/5.0.15/values.yaml diff --git a/enterprise/velero/2.0.1/CHANGELOG.md b/enterprise/velero/2.0.1/CHANGELOG.md deleted file mode 100644 index a3292f4779..0000000000 --- a/enterprise/velero/2.0.1/CHANGELOG.md +++ /dev/null @@ -1,99 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [velero-2.0.1](https://github.com/truecharts/charts/compare/velero-2.0.0...velero-2.0.1) (2023-12-17) - -### Chore - -- update helm chart common to 16.2.7 by renovate ([#16207](https://github.com/truecharts/charts/issues/16207)) - - - - -## [velero-2.0.0](https://github.com/truecharts/charts/compare/velero-1.0.7...velero-2.0.0) (2023-12-16) - -### Chore - -- update container image openebs/velero-plugin to v3.6.0 ([#16138](https://github.com/truecharts/charts/issues/16138)) - - - - -## [velero-1.0.7](https://github.com/truecharts/charts/compare/velero-1.0.0...velero-1.0.7) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - Add a lot of working incubator charts to stable - - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) - - update container image velero/velero-plugin-for-csi to v0.6.2[@f0a6f54](https://github.com/f0a6f54) ([#16134](https://github.com/truecharts/charts/issues/16134)) - - update container image velero/velero-plugin-for-aws to v1.8.2[@edfb144](https://github.com/edfb144) ([#16133](https://github.com/truecharts/charts/issues/16133)) - - - - -## [velero-1.0.7](https://github.com/truecharts/charts/compare/velero-1.0.0...velero-1.0.7) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - Add a lot of working incubator charts to stable - - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) - - update container image velero/velero-plugin-for-csi to v0.6.2[@f0a6f54](https://github.com/f0a6f54) ([#16134](https://github.com/truecharts/charts/issues/16134)) - - update container image velero/velero-plugin-for-aws to v1.8.2[@edfb144](https://github.com/edfb144) ([#16133](https://github.com/truecharts/charts/issues/16133)) - - - - -## [velero-1.0.6](https://github.com/truecharts/charts/compare/velero-1.0.0...velero-1.0.6) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - Add a lot of working incubator charts to stable - - update container image velero/velero-plugin-for-csi to v0.6.2[@f0a6f54](https://github.com/f0a6f54) ([#16134](https://github.com/truecharts/charts/issues/16134)) - - update container image velero/velero-plugin-for-aws to v1.8.2[@edfb144](https://github.com/edfb144) ([#16133](https://github.com/truecharts/charts/issues/16133)) - - - - -## [velero-1.0.5](https://github.com/truecharts/charts/compare/velero-1.0.0...velero-1.0.5) (2023-12-16) - -### Chore - -- Add a lot of working incubator charts to stable - - update container image velero/velero-plugin-for-csi to v0.6.2[@f0a6f54](https://github.com/f0a6f54) ([#16134](https://github.com/truecharts/charts/issues/16134)) - - update container image velero/velero-plugin-for-aws to v1.8.2[@edfb144](https://github.com/edfb144) ([#16133](https://github.com/truecharts/charts/issues/16133)) - - - - -## [velero-1.0.4](https://github.com/truecharts/charts/compare/velero-1.0.0...velero-1.0.4) (2023-12-16) - -### Chore - -- Add a lot of working incubator charts to stable - - update container image velero/velero-plugin-for-aws to v1.8.2[@edfb144](https://github.com/edfb144) ([#16133](https://github.com/truecharts/charts/issues/16133)) - - - - -## [velero-1.0.4](https://github.com/truecharts/charts/compare/velero-1.0.0...velero-1.0.4) (2023-12-16) - -### Chore - -- Add a lot of working incubator charts to stable - - update container image velero/velero-plugin-for-aws to v1.8.2[@edfb144](https://github.com/edfb144) ([#16133](https://github.com/truecharts/charts/issues/16133)) - - - - -## [velero-1.0.3](https://github.com/truecharts/charts/compare/velero-1.0.0...velero-1.0.3) (2023-12-16) - -### Chore - -- Add a lot of working incubator charts to stable - diff --git a/enterprise/velero/2.0.1/app-changelog.md b/enterprise/velero/2.0.1/app-changelog.md deleted file mode 100644 index 8d2c73a694..0000000000 --- a/enterprise/velero/2.0.1/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [velero-2.0.1](https://github.com/truecharts/charts/compare/velero-2.0.0...velero-2.0.1) (2023-12-17) - -### Chore - -- update helm chart common to 16.2.7 by renovate ([#16207](https://github.com/truecharts/charts/issues/16207)) - - \ No newline at end of file diff --git a/enterprise/velero/2.0.2/CHANGELOG.md b/enterprise/velero/2.0.2/CHANGELOG.md new file mode 100644 index 0000000000..fa3f8562e6 --- /dev/null +++ b/enterprise/velero/2.0.2/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [velero-2.0.2](https://github.com/truecharts/charts/compare/velero-2.0.1...velero-2.0.2) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [velero-2.0.2](https://github.com/truecharts/charts/compare/velero-2.0.1...velero-2.0.2) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [velero-2.0.2](https://github.com/truecharts/charts/compare/velero-2.0.1...velero-2.0.2) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [velero-2.0.2](https://github.com/truecharts/charts/compare/velero-2.0.1...velero-2.0.2) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [velero-2.0.2](https://github.com/truecharts/charts/compare/velero-2.0.1...velero-2.0.2) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [velero-2.0.2](https://github.com/truecharts/charts/compare/velero-2.0.1...velero-2.0.2) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [velero-2.0.2](https://github.com/truecharts/charts/compare/velero-2.0.1...velero-2.0.2) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [velero-2.0.2](https://github.com/truecharts/charts/compare/velero-2.0.1...velero-2.0.2) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [velero-2.0.2](https://github.com/truecharts/charts/compare/velero-2.0.1...velero-2.0.2) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [velero-2.0.2](https://github.com/truecharts/charts/compare/velero-2.0.1...velero-2.0.2) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [velero-2.0.1](https://github.com/truecharts/charts/compare/velero-2.0.0...velero-2.0.1) (2023-12-17) + +### Chore diff --git a/enterprise/velero/2.0.1/Chart.yaml b/enterprise/velero/2.0.2/Chart.yaml similarity index 94% rename from enterprise/velero/2.0.1/Chart.yaml rename to enterprise/velero/2.0.2/Chart.yaml index 202cf38128..ad856666a8 100644 --- a/enterprise/velero/2.0.1/Chart.yaml +++ b/enterprise/velero/2.0.2/Chart.yaml @@ -1,15 +1,15 @@ kubeVersion: ">=1.24.0-0" apiVersion: v2 name: velero -version: 2.0.1 +version: 2.0.2 appVersion: latest description: Velero is a kubernetes-native backup solution home: https://truecharts.org/charts/incubator/velero icon: https://truecharts.org/img/hotlink-ok/chart-icons/velero.png deprecated: false sources: - - https://cert-manager.io/ - https://github.com/cert-manager + - https://cert-manager.io/ - https://github.com/truecharts/charts/tree/master/charts/incubator/velero - https://github.com/truecharts/containers/tree/master/mirroralpine maintainers: @@ -35,8 +35,8 @@ dependencies: tags: [] import-values: [] annotations: - max_scale_version: 23.10.1 - min_scale_version: 22.12.4 + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 truecharts.org/SCALE-support: "true" truecharts.org/category: operators truecharts.org/max_helm_version: "3.13" diff --git a/enterprise/velero/2.0.1/LICENSE b/enterprise/velero/2.0.2/LICENSE similarity index 100% rename from enterprise/velero/2.0.1/LICENSE rename to enterprise/velero/2.0.2/LICENSE diff --git a/enterprise/velero/2.0.1/README.md b/enterprise/velero/2.0.2/README.md similarity index 100% rename from enterprise/velero/2.0.1/README.md rename to enterprise/velero/2.0.2/README.md diff --git a/enterprise/velero/2.0.2/app-changelog.md b/enterprise/velero/2.0.2/app-changelog.md new file mode 100644 index 0000000000..5968dd8a55 --- /dev/null +++ b/enterprise/velero/2.0.2/app-changelog.md @@ -0,0 +1,9 @@ + + +## [velero-2.0.2](https://github.com/truecharts/charts/compare/velero-2.0.1...velero-2.0.2) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + \ No newline at end of file diff --git a/enterprise/velero/2.0.1/app-readme.md b/enterprise/velero/2.0.2/app-readme.md similarity index 100% rename from enterprise/velero/2.0.1/app-readme.md rename to enterprise/velero/2.0.2/app-readme.md diff --git a/enterprise/velero/2.0.1/charts/common-16.2.7.tgz b/enterprise/velero/2.0.2/charts/common-16.2.7.tgz similarity index 100% rename from enterprise/velero/2.0.1/charts/common-16.2.7.tgz rename to enterprise/velero/2.0.2/charts/common-16.2.7.tgz diff --git a/enterprise/velero/2.0.1/charts/velero-5.2.0.tgz b/enterprise/velero/2.0.2/charts/velero-5.2.0.tgz similarity index 100% rename from enterprise/velero/2.0.1/charts/velero-5.2.0.tgz rename to enterprise/velero/2.0.2/charts/velero-5.2.0.tgz diff --git a/enterprise/velero/2.0.1/ix_values.yaml b/enterprise/velero/2.0.2/ix_values.yaml similarity index 95% rename from enterprise/velero/2.0.1/ix_values.yaml rename to enterprise/velero/2.0.2/ix_values.yaml index f72443a5ca..97402bff4a 100644 --- a/enterprise/velero/2.0.1/ix_values.yaml +++ b/enterprise/velero/2.0.2/ix_values.yaml @@ -2,7 +2,7 @@ backupStorageLocation: [] image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/alpine - tag: latest@sha256:17cd77e25d3fa829d168caec4db7bb5b52ceeb935d8ca0d1180de6f615553dc4 + tag: latest@sha256:51c4ca9a8213d3f4026bd560e8aa2de365d275d6cd0298eff2ae20671fef34e9 manifestManager: enabled: false operator: diff --git a/enterprise/velero/2.0.1/questions.yaml b/enterprise/velero/2.0.2/questions.yaml similarity index 100% rename from enterprise/velero/2.0.1/questions.yaml rename to enterprise/velero/2.0.2/questions.yaml diff --git a/enterprise/velero/2.0.1/templates/NOTES.txt b/enterprise/velero/2.0.2/templates/NOTES.txt similarity index 100% rename from enterprise/velero/2.0.1/templates/NOTES.txt rename to enterprise/velero/2.0.2/templates/NOTES.txt diff --git a/enterprise/velero/2.0.1/templates/common.yaml b/enterprise/velero/2.0.2/templates/common.yaml similarity index 100% rename from enterprise/velero/2.0.1/templates/common.yaml rename to enterprise/velero/2.0.2/templates/common.yaml diff --git a/enterprise/velero/2.0.1/values.yaml b/enterprise/velero/2.0.2/values.yaml similarity index 100% rename from enterprise/velero/2.0.1/values.yaml rename to enterprise/velero/2.0.2/values.yaml diff --git a/incubator/pushbits-server/0.0.1/CHANGELOG.md b/incubator/pushbits-server/0.0.1/CHANGELOG.md new file mode 100644 index 0000000000..0f8f528368 --- /dev/null +++ b/incubator/pushbits-server/0.0.1/CHANGELOG.md @@ -0,0 +1,18 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [pushbits-server-0.0.1]pushbits-server-0.0.1 (2023-12-20) + + + + +## [pushbits-server-0.0.1]pushbits-server-0.0.1 (2023-12-20) + + + + +## [pushbits-server-0.0.1]pushbits-server-0.0.1 (2023-12-20) + diff --git a/incubator/pushbits-server/0.0.1/Chart.yaml b/incubator/pushbits-server/0.0.1/Chart.yaml new file mode 100644 index 0000000000..25504704c8 --- /dev/null +++ b/incubator/pushbits-server/0.0.1/Chart.yaml @@ -0,0 +1,40 @@ +kubeVersion: ">=1.24.0-0" +apiVersion: v2 +name: pushbits-server +version: 0.0.1 +appVersion: 0.10.1@sha256:6020128d995a0054b7104f5a383408a773c5914dbc2d073a71501524f8b79b87 +description: Send push notifications via a simple web API, and delivers them to your users. +home: https://truecharts.org/charts/incubator/pushbits-server +icon: https://truecharts.org/img/hotlink-ok/chart-icons/pushbits-server.png +deprecated: false +sources: + - https://github.com/pushbits/server + - https://github.com/truecharts/charts/tree/master/charts/incubator/pushbits-server + - https://github.com/truecharts/containers/tree/master/mirrorpushbits-server +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +keywords: + - pushbits-server + - notifications + - matrix +dependencies: + - name: common + version: 16.2.7 + repository: https://library-charts.truecharts.org + condition: "" + alias: "" + tags: [] + import-values: [] +annotations: + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 + truecharts.org/SCALE-support: "true" + truecharts.org/catagories: | + - notifications + truecharts.org/category: unsorted + truecharts.org/max_helm_version: "3.13" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: incubator +type: application diff --git a/incubator/pushbits-server/0.0.1/README.md b/incubator/pushbits-server/0.0.1/README.md new file mode 100644 index 0000000000..61235445d0 --- /dev/null +++ b/incubator/pushbits-server/0.0.1/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/incubator/pushbits-server) + +**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/incubator/pushbits-server/0.0.1/app-changelog.md b/incubator/pushbits-server/0.0.1/app-changelog.md new file mode 100644 index 0000000000..f3c21990b8 --- /dev/null +++ b/incubator/pushbits-server/0.0.1/app-changelog.md @@ -0,0 +1,4 @@ + + +## [pushbits-server-0.0.1]pushbits-server-0.0.1 (2023-12-20) + diff --git a/incubator/pushbits-server/0.0.1/app-readme.md b/incubator/pushbits-server/0.0.1/app-readme.md new file mode 100644 index 0000000000..88f81313e7 --- /dev/null +++ b/incubator/pushbits-server/0.0.1/app-readme.md @@ -0,0 +1,8 @@ +Send push notifications via a simple web API, and delivers them to your users. + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/pushbits-server](https://truecharts.org/charts/incubator/pushbits-server) + +--- + +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/incubator/teamspeak3/8.0.4/charts/common-16.2.7.tgz b/incubator/pushbits-server/0.0.1/charts/common-16.2.7.tgz similarity index 100% rename from incubator/teamspeak3/8.0.4/charts/common-16.2.7.tgz rename to incubator/pushbits-server/0.0.1/charts/common-16.2.7.tgz diff --git a/incubator/pushbits-server/0.0.1/ix_values.yaml b/incubator/pushbits-server/0.0.1/ix_values.yaml new file mode 100644 index 0000000000..071aab58de --- /dev/null +++ b/incubator/pushbits-server/0.0.1/ix_values.yaml @@ -0,0 +1,65 @@ +image: + repository: tccr.io/truecharts/pushbits-server + pullPolicy: IfNotPresent + tag: v0.10.1@sha256:6020128d995a0054b7104f5a383408a773c5914dbc2d073a71501524f8b79b87 + +service: + main: + ports: + main: + protocol: http + port: 8080 + +pushbits: + admin: + id: "" + password: "" + matrix: + user: "" + password: "" + +workload: + main: + podSpec: + containers: + main: + probes: + liveness: + path: "/health" + readiness: + path: "/health" + startup: + path: "/health" + env: + PUSHBITS_HTTP_PORT: "{{ .Values.service.main.ports.main.port }}" + PUSHBITS_DATABASE_DIALECT: "postgres" + PUSHBITS_DATABASE_CONNECTION: + secretKeyRef: + name: cnpg-main-urls + key: std + POSTGRES_PASSWORD: + secretKeyRef: + name: cnpg-main-user + key: password + POSTGRES_USER: "{{ .Values.cnpg.main.user }}" + POSTGRES_DB: "{{ .Values.cnpg.main.database }}" + PUSHBITS_ADMIN_MATRIXID: "{{ .Values.pushbits.admin.id }}" + PUSHBITS_ADMIN_PASSWORD: "{{ .Values.pushbits.admin.password }}" + PUSHBITS_MATRIX_USERNAME: "{{ .Values.pushbits.matrix.user }}" + PUSHBITS_MATRIX_PASSWORD: "{{ .Values.pushbits.matrix.password }}" + +persistence: + data: + enabled: true + mountPath: "/data" + +# Enabled postgres +cnpg: + main: + enabled: true + user: pushbits + database: pushbits + +portal: + open: + enabled: false diff --git a/incubator/pushbits-server/0.0.1/questions.yaml b/incubator/pushbits-server/0.0.1/questions.yaml new file mode 100644 index 0000000000..f0861e45fa --- /dev/null +++ b/incubator/pushbits-server/0.0.1/questions.yaml @@ -0,0 +1,2679 @@ +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: {} +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: pushbits + group: App Configuration + label: PushBits Server + schema: + additional_attrs: true + type: dict + attrs: + - variable: admin + label: Admin Credentials + schema: + additional_attrs: true + type: dict + attrs: + - variable: id + label: Admin Id + description: The Matrix account on which the admin will receive their notifications. + schema: + type: string + default: "" + - variable: password + label: Admin Password + description: The login password of the admin account. + schema: + type: string + private: true + default: "" + - variable: matrix + label: Matrix Credentials + schema: + additional_attrs: true + type: dict + attrs: + - variable: user + label: Matrix User + description: The Matrix account from which notifications are sent to all users. + schema: + type: string + default: "" + - variable: password + label: Matrix Password + description: The login password of the Matrix account. + schema: + type: string + private: true + default: "" + + - 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: 8080 + 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: data + label: "App Data Storage" + description: "Stores the Application Data." + 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: 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: integration + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - 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: 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: 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: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + show_if: [["advanced", "=", true]] + default: false + - 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: certificateIssuer + label: certificateIssuer + 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: 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: integration + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - 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: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - 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: 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: 568 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID of the user running the application" + schema: + type: int + default: 568 + # 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/operators/cert-manager/1.1.9/templates/NOTES.txt b/incubator/pushbits-server/0.0.1/templates/NOTES.txt similarity index 100% rename from operators/cert-manager/1.1.9/templates/NOTES.txt rename to incubator/pushbits-server/0.0.1/templates/NOTES.txt diff --git a/incubator/teamspeak3/8.0.4/templates/common.yaml b/incubator/pushbits-server/0.0.1/templates/common.yaml similarity index 100% rename from incubator/teamspeak3/8.0.4/templates/common.yaml rename to incubator/pushbits-server/0.0.1/templates/common.yaml diff --git a/incubator/teamspeak3/8.0.4/values.yaml b/incubator/pushbits-server/0.0.1/values.yaml similarity index 100% rename from incubator/teamspeak3/8.0.4/values.yaml rename to incubator/pushbits-server/0.0.1/values.yaml diff --git a/incubator/pushbits-server/item.yaml b/incubator/pushbits-server/item.yaml new file mode 100644 index 0000000000..90e469cde6 --- /dev/null +++ b/incubator/pushbits-server/item.yaml @@ -0,0 +1,4 @@ +icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/pushbits-server.png +categories: +- unsorted +screenshots: [] diff --git a/incubator/teamspeak3/8.0.4/CHANGELOG.md b/incubator/teamspeak3/8.0.4/CHANGELOG.md deleted file mode 100644 index 9269ba2b05..0000000000 --- a/incubator/teamspeak3/8.0.4/CHANGELOG.md +++ /dev/null @@ -1,99 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [teamspeak3-8.0.4](https://github.com/truecharts/charts/compare/teamspeak3-8.0.3...teamspeak3-8.0.4) (2023-12-17) - -### Chore - -- update helm chart common to 16.2.7 by renovate ([#16207](https://github.com/truecharts/charts/issues/16207)) - - - - -## [teamspeak3-8.0.3](https://github.com/truecharts/charts/compare/teamspeak3-7.0.3...teamspeak3-8.0.3) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - make things work with new common part 3 ([#15994](https://github.com/truecharts/charts/issues/15994)) - - BREAKING CHANGE move to latest common ([#15841](https://github.com/truecharts/charts/issues/15841)) - - - - -## [teamspeak3-8.0.3](https://github.com/truecharts/charts/compare/teamspeak3-7.0.3...teamspeak3-8.0.3) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - make things work with new common part 3 ([#15994](https://github.com/truecharts/charts/issues/15994)) - - BREAKING CHANGE move to latest common ([#15841](https://github.com/truecharts/charts/issues/15841)) - - - - -## [teamspeak3-8.0.3](https://github.com/truecharts/charts/compare/teamspeak3-7.0.3...teamspeak3-8.0.3) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - make things work with new common part 3 ([#15994](https://github.com/truecharts/charts/issues/15994)) - - BREAKING CHANGE move to latest common ([#15841](https://github.com/truecharts/charts/issues/15841)) - - - - -## [teamspeak3-8.0.2](https://github.com/truecharts/charts/compare/teamspeak3-7.0.3...teamspeak3-8.0.2) (2023-12-16) - -### Chore - -- make things work with new common part 3 ([#15994](https://github.com/truecharts/charts/issues/15994)) - - BREAKING CHANGE move to latest common ([#15841](https://github.com/truecharts/charts/issues/15841)) - - - - -## [teamspeak3-8.0.2](https://github.com/truecharts/charts/compare/teamspeak3-7.0.3...teamspeak3-8.0.2) (2023-12-16) - -### Chore - -- make things work with new common part 3 ([#15994](https://github.com/truecharts/charts/issues/15994)) - - BREAKING CHANGE move to latest common ([#15841](https://github.com/truecharts/charts/issues/15841)) - - - - -## [teamspeak3-8.0.2](https://github.com/truecharts/charts/compare/teamspeak3-7.0.3...teamspeak3-8.0.2) (2023-12-16) - -### Chore - -- make things work with new common part 3 ([#15994](https://github.com/truecharts/charts/issues/15994)) - - BREAKING CHANGE move to latest common ([#15841](https://github.com/truecharts/charts/issues/15841)) - - - - -## [teamspeak3-8.0.2](https://github.com/truecharts/charts/compare/teamspeak3-7.0.3...teamspeak3-8.0.2) (2023-12-16) - -### Chore - -- make things work with new common part 3 ([#15994](https://github.com/truecharts/charts/issues/15994)) - - BREAKING CHANGE move to latest common ([#15841](https://github.com/truecharts/charts/issues/15841)) - - - - -## [teamspeak3-8.0.2](https://github.com/truecharts/charts/compare/teamspeak3-7.0.3...teamspeak3-8.0.2) (2023-12-16) - -### Chore - -- make things work with new common part 3 ([#15994](https://github.com/truecharts/charts/issues/15994)) - - BREAKING CHANGE move to latest common ([#15841](https://github.com/truecharts/charts/issues/15841)) - - - - -## [teamspeak3-8.0.2](https://github.com/truecharts/charts/compare/teamspeak3-7.0.3...teamspeak3-8.0.2) (2023-12-15) diff --git a/incubator/teamspeak3/8.0.4/app-changelog.md b/incubator/teamspeak3/8.0.4/app-changelog.md deleted file mode 100644 index 37707aa1e1..0000000000 --- a/incubator/teamspeak3/8.0.4/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [teamspeak3-8.0.4](https://github.com/truecharts/charts/compare/teamspeak3-8.0.3...teamspeak3-8.0.4) (2023-12-17) - -### Chore - -- update helm chart common to 16.2.7 by renovate ([#16207](https://github.com/truecharts/charts/issues/16207)) - - \ No newline at end of file diff --git a/incubator/teamspeak3/8.1.0/CHANGELOG.md b/incubator/teamspeak3/8.1.0/CHANGELOG.md new file mode 100644 index 0000000000..58a774fc1a --- /dev/null +++ b/incubator/teamspeak3/8.1.0/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [teamspeak3-8.1.0](https://github.com/truecharts/charts/compare/teamspeak3-8.0.4...teamspeak3-8.1.0) (2023-12-20) + +### Fix + +- Fix mountpath + other things ([#16322](https://github.com/truecharts/charts/issues/16322)) + + + + +## [teamspeak3-8.1.0](https://github.com/truecharts/charts/compare/teamspeak3-8.0.4...teamspeak3-8.1.0) (2023-12-20) + +### Fix + +- Fix mountpath + other things ([#16322](https://github.com/truecharts/charts/issues/16322)) + + + + +## [teamspeak3-8.1.0](https://github.com/truecharts/charts/compare/teamspeak3-8.0.4...teamspeak3-8.1.0) (2023-12-20) + +### Fix + +- Fix mountpath + other things ([#16322](https://github.com/truecharts/charts/issues/16322)) + + + + +## [teamspeak3-8.1.0](https://github.com/truecharts/charts/compare/teamspeak3-8.0.4...teamspeak3-8.1.0) (2023-12-20) + +### Fix + +- Fix mountpath + other things ([#16322](https://github.com/truecharts/charts/issues/16322)) + + + + +## [teamspeak3-8.1.0](https://github.com/truecharts/charts/compare/teamspeak3-8.0.4...teamspeak3-8.1.0) (2023-12-20) + +### Fix + +- Fix mountpath + other things ([#16322](https://github.com/truecharts/charts/issues/16322)) + + + + +## [teamspeak3-8.1.0](https://github.com/truecharts/charts/compare/teamspeak3-8.0.4...teamspeak3-8.1.0) (2023-12-20) + +### Fix + +- Fix mountpath + other things ([#16322](https://github.com/truecharts/charts/issues/16322)) + + + + +## [teamspeak3-8.1.0](https://github.com/truecharts/charts/compare/teamspeak3-8.0.4...teamspeak3-8.1.0) (2023-12-20) + +### Fix + +- Fix mountpath + other things ([#16322](https://github.com/truecharts/charts/issues/16322)) + + + + +## [teamspeak3-8.0.4](https://github.com/truecharts/charts/compare/teamspeak3-8.0.3...teamspeak3-8.0.4) (2023-12-17) + +### Chore + +- update helm chart common to 16.2.7 by renovate ([#16207](https://github.com/truecharts/charts/issues/16207)) + + + + +## [teamspeak3-8.0.3](https://github.com/truecharts/charts/compare/teamspeak3-7.0.3...teamspeak3-8.0.3) (2023-12-16) + +### Chore + +- fix move mistake and cleanup metadata + - make things work with new common part 3 ([#15994](https://github.com/truecharts/charts/issues/15994)) + - BREAKING CHANGE move to latest common ([#15841](https://github.com/truecharts/charts/issues/15841)) + + + + +## [teamspeak3-8.0.3](https://github.com/truecharts/charts/compare/teamspeak3-7.0.3...teamspeak3-8.0.3) (2023-12-16) + +### Chore + +- fix move mistake and cleanup metadata + - make things work with new common part 3 ([#15994](https://github.com/truecharts/charts/issues/15994)) + - BREAKING CHANGE move to latest common ([#15841](https://github.com/truecharts/charts/issues/15841)) + + + diff --git a/incubator/teamspeak3/8.0.4/Chart.yaml b/incubator/teamspeak3/8.1.0/Chart.yaml similarity index 93% rename from incubator/teamspeak3/8.0.4/Chart.yaml rename to incubator/teamspeak3/8.1.0/Chart.yaml index 924c5eb757..132d61b4f8 100644 --- a/incubator/teamspeak3/8.0.4/Chart.yaml +++ b/incubator/teamspeak3/8.1.0/Chart.yaml @@ -1,7 +1,7 @@ kubeVersion: ">=1.24.0-0" apiVersion: v2 name: teamspeak3 -version: 8.0.4 +version: 8.1.0 appVersion: 3.13.7 description: TeamSpeak is software for quality voice communication via the Internet. home: https://truecharts.org/charts/incubator/teamspeak3 @@ -29,8 +29,8 @@ dependencies: tags: [] import-values: [] annotations: - max_scale_version: 23.10.1 - min_scale_version: 22.12.4 + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 truecharts.org/SCALE-support: "true" truecharts.org/category: voice truecharts.org/max_helm_version: "3.13" diff --git a/incubator/teamspeak3/8.0.4/README.md b/incubator/teamspeak3/8.1.0/README.md similarity index 100% rename from incubator/teamspeak3/8.0.4/README.md rename to incubator/teamspeak3/8.1.0/README.md diff --git a/incubator/teamspeak3/8.1.0/app-changelog.md b/incubator/teamspeak3/8.1.0/app-changelog.md new file mode 100644 index 0000000000..610d5e5212 --- /dev/null +++ b/incubator/teamspeak3/8.1.0/app-changelog.md @@ -0,0 +1,9 @@ + + +## [teamspeak3-8.1.0](https://github.com/truecharts/charts/compare/teamspeak3-8.0.4...teamspeak3-8.1.0) (2023-12-20) + +### Fix + +- Fix mountpath + other things ([#16322](https://github.com/truecharts/charts/issues/16322)) + + \ No newline at end of file diff --git a/incubator/teamspeak3/8.0.4/app-readme.md b/incubator/teamspeak3/8.1.0/app-readme.md similarity index 100% rename from incubator/teamspeak3/8.0.4/app-readme.md rename to incubator/teamspeak3/8.1.0/app-readme.md diff --git a/incubator/teamspeak3/8.1.0/charts/common-16.2.7.tgz b/incubator/teamspeak3/8.1.0/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/incubator/teamspeak3/8.0.4/ix_values.yaml b/incubator/teamspeak3/8.1.0/ix_values.yaml similarity index 77% rename from incubator/teamspeak3/8.0.4/ix_values.yaml rename to incubator/teamspeak3/8.1.0/ix_values.yaml index 10948f6fbc..832263671a 100644 --- a/incubator/teamspeak3/8.0.4/ix_values.yaml +++ b/incubator/teamspeak3/8.1.0/ix_values.yaml @@ -6,14 +6,15 @@ persistence: data: enabled: true mountPath: /var/ts3server + config: + enabled: true + mountPath: /var/run/ts3server portal: open: enabled: false securityContext: container: readOnlyRootFilesystem: false - runAsGroup: 0 - runAsUser: 0 service: files: enabled: true @@ -40,5 +41,12 @@ workload: podSpec: containers: main: + probes: + liveness: + type: tcp + readiness: + type: tcp + startup: + type: tcp env: TS3SERVER_LICENSE: accept diff --git a/incubator/teamspeak3/8.0.4/questions.yaml b/incubator/teamspeak3/8.1.0/questions.yaml similarity index 90% rename from incubator/teamspeak3/8.0.4/questions.yaml rename to incubator/teamspeak3/8.1.0/questions.yaml index 3fdbfd0ca4..f1dc7e4648 100644 --- a/incubator/teamspeak3/8.0.4/questions.yaml +++ b/incubator/teamspeak3/8.1.0/questions.yaml @@ -644,8 +644,281 @@ questions: type: dict attrs: - variable: data - label: "App Config Storage" - description: "Stores the Application Configuration." + label: App Storage + description: Main App 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: config + label: App Config Storage + description: Stores the Application Configuration. schema: additional_attrs: true type: dict @@ -1225,13 +1498,13 @@ questions: description: "The UserID of the user running the application" schema: type: int - default: 0 + default: 568 - variable: runAsGroup label: "runAsGroup" description: "The groupID of the user running the application" schema: type: int - default: 0 + default: 568 # Settings from questions.yaml get appended here on a per-app basis - variable: PUID label: Process User ID - PUID diff --git a/stable/minecraft-java/5.1.4/templates/common.yaml b/incubator/teamspeak3/8.1.0/templates/common.yaml similarity index 100% rename from stable/minecraft-java/5.1.4/templates/common.yaml rename to incubator/teamspeak3/8.1.0/templates/common.yaml diff --git a/operators/cert-manager/1.1.9/values.yaml b/incubator/teamspeak3/8.1.0/values.yaml similarity index 100% rename from operators/cert-manager/1.1.9/values.yaml rename to incubator/teamspeak3/8.1.0/values.yaml diff --git a/operators/cert-manager/1.1.10/CHANGELOG.md b/operators/cert-manager/1.1.10/CHANGELOG.md new file mode 100644 index 0000000000..b419a4d57d --- /dev/null +++ b/operators/cert-manager/1.1.10/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [cert-manager-1.1.10](https://github.com/truecharts/charts/compare/cert-manager-1.1.9...cert-manager-1.1.10) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cert-manager-1.1.10](https://github.com/truecharts/charts/compare/cert-manager-1.1.9...cert-manager-1.1.10) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cert-manager-1.1.10](https://github.com/truecharts/charts/compare/cert-manager-1.1.9...cert-manager-1.1.10) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cert-manager-1.1.10](https://github.com/truecharts/charts/compare/cert-manager-1.1.9...cert-manager-1.1.10) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cert-manager-1.1.10](https://github.com/truecharts/charts/compare/cert-manager-1.1.9...cert-manager-1.1.10) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cert-manager-1.1.10](https://github.com/truecharts/charts/compare/cert-manager-1.1.9...cert-manager-1.1.10) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cert-manager-1.1.10](https://github.com/truecharts/charts/compare/cert-manager-1.1.9...cert-manager-1.1.10) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cert-manager-1.1.10](https://github.com/truecharts/charts/compare/cert-manager-1.1.9...cert-manager-1.1.10) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cert-manager-1.1.10](https://github.com/truecharts/charts/compare/cert-manager-1.1.9...cert-manager-1.1.10) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cert-manager-1.1.10](https://github.com/truecharts/charts/compare/cert-manager-1.1.9...cert-manager-1.1.10) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cert-manager-1.1.9](https://github.com/truecharts/charts/compare/cert-manager-1.1.7...cert-manager-1.1.9) (2023-12-16) + +### Chore diff --git a/operators/cert-manager/1.1.9/Chart.yaml b/operators/cert-manager/1.1.10/Chart.yaml similarity index 94% rename from operators/cert-manager/1.1.9/Chart.yaml rename to operators/cert-manager/1.1.10/Chart.yaml index c54bb07376..90a11c95f9 100644 --- a/operators/cert-manager/1.1.9/Chart.yaml +++ b/operators/cert-manager/1.1.10/Chart.yaml @@ -1,17 +1,17 @@ kubeVersion: ">=1.24.0-0" apiVersion: v2 name: cert-manager -version: 1.1.9 +version: 1.1.10 appVersion: latest description: Cert-Manager is a kubernetes-aware certificate manager home: https://truecharts.org/charts/operators/cert-manager icon: https://truecharts.org/img/hotlink-ok/chart-icons/cert-manager.png deprecated: false sources: - - https://github.com/truecharts/containers/tree/master/mirroralpine - - https://cert-manager.io/ - https://github.com/cert-manager - https://github.com/truecharts/charts/tree/master/charts/operators/cert-manager + - https://github.com/truecharts/containers/tree/master/mirroralpine + - https://cert-manager.io/ maintainers: - name: TrueCharts email: info@truecharts.org @@ -36,8 +36,8 @@ dependencies: tags: [] import-values: [] annotations: - max_scale_version: 23.10.1 - min_scale_version: 22.12.4 + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 truecharts.org/SCALE-support: "true" truecharts.org/category: operators truecharts.org/max_helm_version: "3.13" diff --git a/operators/cert-manager/1.1.9/LICENSE b/operators/cert-manager/1.1.10/LICENSE similarity index 100% rename from operators/cert-manager/1.1.9/LICENSE rename to operators/cert-manager/1.1.10/LICENSE diff --git a/operators/cert-manager/1.1.9/README.md b/operators/cert-manager/1.1.10/README.md similarity index 100% rename from operators/cert-manager/1.1.9/README.md rename to operators/cert-manager/1.1.10/README.md diff --git a/operators/cert-manager/1.1.10/app-changelog.md b/operators/cert-manager/1.1.10/app-changelog.md new file mode 100644 index 0000000000..7e6bd87f02 --- /dev/null +++ b/operators/cert-manager/1.1.10/app-changelog.md @@ -0,0 +1,9 @@ + + +## [cert-manager-1.1.10](https://github.com/truecharts/charts/compare/cert-manager-1.1.9...cert-manager-1.1.10) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + \ No newline at end of file diff --git a/operators/cert-manager/1.1.9/app-readme.md b/operators/cert-manager/1.1.10/app-readme.md similarity index 100% rename from operators/cert-manager/1.1.9/app-readme.md rename to operators/cert-manager/1.1.10/app-readme.md diff --git a/operators/cert-manager/1.1.9/charts/cert-manager-v1.13.3.tgz b/operators/cert-manager/1.1.10/charts/cert-manager-v1.13.3.tgz similarity index 100% rename from operators/cert-manager/1.1.9/charts/cert-manager-v1.13.3.tgz rename to operators/cert-manager/1.1.10/charts/cert-manager-v1.13.3.tgz diff --git a/operators/cert-manager/1.1.9/charts/common-14.5.0.tgz b/operators/cert-manager/1.1.10/charts/common-14.5.0.tgz similarity index 100% rename from operators/cert-manager/1.1.9/charts/common-14.5.0.tgz rename to operators/cert-manager/1.1.10/charts/common-14.5.0.tgz diff --git a/operators/cert-manager/1.1.9/ix_values.yaml b/operators/cert-manager/1.1.10/ix_values.yaml similarity index 87% rename from operators/cert-manager/1.1.9/ix_values.yaml rename to operators/cert-manager/1.1.10/ix_values.yaml index 4655a8d80d..9c35540ecd 100644 --- a/operators/cert-manager/1.1.9/ix_values.yaml +++ b/operators/cert-manager/1.1.10/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: tccr.io/truecharts/alpine pullPolicy: IfNotPresent - tag: latest@sha256:17cd77e25d3fa829d168caec4db7bb5b52ceeb935d8ca0d1180de6f615553dc4 + tag: latest@sha256:51c4ca9a8213d3f4026bd560e8aa2de365d275d6cd0298eff2ae20671fef34e9 service: main: diff --git a/operators/cert-manager/1.1.9/questions.yaml b/operators/cert-manager/1.1.10/questions.yaml similarity index 100% rename from operators/cert-manager/1.1.9/questions.yaml rename to operators/cert-manager/1.1.10/questions.yaml diff --git a/operators/cloudnative-pg/3.0.2/templates/NOTES.txt b/operators/cert-manager/1.1.10/templates/NOTES.txt similarity index 100% rename from operators/cloudnative-pg/3.0.2/templates/NOTES.txt rename to operators/cert-manager/1.1.10/templates/NOTES.txt diff --git a/operators/cert-manager/1.1.9/templates/common.yaml b/operators/cert-manager/1.1.10/templates/common.yaml similarity index 100% rename from operators/cert-manager/1.1.9/templates/common.yaml rename to operators/cert-manager/1.1.10/templates/common.yaml diff --git a/operators/cert-manager/1.1.9/templates/crds.yaml b/operators/cert-manager/1.1.10/templates/crds.yaml similarity index 100% rename from operators/cert-manager/1.1.9/templates/crds.yaml rename to operators/cert-manager/1.1.10/templates/crds.yaml diff --git a/operators/cloudnative-pg/3.0.2/values.yaml b/operators/cert-manager/1.1.10/values.yaml similarity index 100% rename from operators/cloudnative-pg/3.0.2/values.yaml rename to operators/cert-manager/1.1.10/values.yaml diff --git a/operators/cert-manager/1.1.9/CHANGELOG.md b/operators/cert-manager/1.1.9/CHANGELOG.md deleted file mode 100644 index 746d48b00e..0000000000 --- a/operators/cert-manager/1.1.9/CHANGELOG.md +++ /dev/null @@ -1,99 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [cert-manager-1.1.9](https://github.com/truecharts/charts/compare/cert-manager-1.1.7...cert-manager-1.1.9) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - fix annotations again - - update annotations - - cleanup chart.yaml and add min-max scale version - - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) - - - - -## [cert-manager-1.1.9](https://github.com/truecharts/charts/compare/cert-manager-1.1.7...cert-manager-1.1.9) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - fix annotations again - - update annotations - - cleanup chart.yaml and add min-max scale version - - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) - - - - -## [cert-manager-1.1.8](https://github.com/truecharts/charts/compare/cert-manager-1.1.7...cert-manager-1.1.8) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - fix annotations again - - update annotations - - cleanup chart.yaml and add min-max scale version - - - - - - - - - - - - -## [cert-manager-1.1.7](https://github.com/truecharts/charts/compare/cert-manager-1.1.6...cert-manager-1.1.7) (2023-11-08) - - - - -## [cert-manager-1.1.6](https://github.com/truecharts/charts/compare/cert-manager-1.1.5...cert-manager-1.1.6) (2023-11-08) - - - - -## [cert-manager-1.1.5](https://github.com/truecharts/charts/compare/cert-manager-1.1.4...cert-manager-1.1.5) (2023-11-08) - -### Chore - -- update helm general non-major ([#14454](https://github.com/truecharts/charts/issues/14454)) - - - - -## [cert-manager-1.1.4](https://github.com/truecharts/charts/compare/cert-manager-1.1.3...cert-manager-1.1.4) (2023-11-06) - -### Fix - -- actually install crds - - - - -## [cert-manager-1.1.3](https://github.com/truecharts/charts/compare/cert-manager-1.1.2...cert-manager-1.1.3) (2023-11-05) - -### Chore - -- update helm general non-major ([#14365](https://github.com/truecharts/charts/issues/14365)) - - - - -## [cert-manager-1.1.2](https://github.com/truecharts/charts/compare/cert-manager-1.1.1...cert-manager-1.1.2) (2023-11-03) - -### Chore - -- update helm general non-major ([#14287](https://github.com/truecharts/charts/issues/14287)) - - - - -## [cert-manager-1.1.1](https://github.com/truecharts/charts/compare/cert-manager-1.1.0...cert-manager-1.1.1) (2023-10-31) diff --git a/operators/cert-manager/1.1.9/app-changelog.md b/operators/cert-manager/1.1.9/app-changelog.md deleted file mode 100644 index 6e80fc5e2f..0000000000 --- a/operators/cert-manager/1.1.9/app-changelog.md +++ /dev/null @@ -1,13 +0,0 @@ - - -## [cert-manager-1.1.9](https://github.com/truecharts/charts/compare/cert-manager-1.1.7...cert-manager-1.1.9) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - fix annotations again - - update annotations - - cleanup chart.yaml and add min-max scale version - - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) - - \ No newline at end of file diff --git a/operators/cloudnative-pg/3.0.2/CHANGELOG.md b/operators/cloudnative-pg/3.0.2/CHANGELOG.md deleted file mode 100644 index ed03a2041e..0000000000 --- a/operators/cloudnative-pg/3.0.2/CHANGELOG.md +++ /dev/null @@ -1,99 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [cloudnative-pg-3.0.2](https://github.com/truecharts/charts/compare/cloudnative-pg-3.0.0...cloudnative-pg-3.0.2) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - fix annotations again - - update annotations - - cleanup chart.yaml and add min-max scale version - - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) - - - - -## [cloudnative-pg-3.0.2](https://github.com/truecharts/charts/compare/cloudnative-pg-3.0.0...cloudnative-pg-3.0.2) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - fix annotations again - - update annotations - - cleanup chart.yaml and add min-max scale version - - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) - - - - -## [cloudnative-pg-3.0.1](https://github.com/truecharts/charts/compare/cloudnative-pg-3.0.0...cloudnative-pg-3.0.1) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - fix annotations again - - update annotations - - cleanup chart.yaml and add min-max scale version - - - - - - - - - - - - -## [cloudnative-pg-3.0.0](https://github.com/truecharts/charts/compare/cloudnative-pg-2.0.12...cloudnative-pg-3.0.0) (2023-11-15) - - - - -## [cloudnative-pg-2.0.12](https://github.com/truecharts/charts/compare/cloudnative-pg-2.0.11...cloudnative-pg-2.0.12) (2023-11-08) - - - - -## [cloudnative-pg-2.0.11](https://github.com/truecharts/charts/compare/cloudnative-pg-2.0.10...cloudnative-pg-2.0.11) (2023-11-08) - - - - -## [cloudnative-pg-2.0.10](https://github.com/truecharts/charts/compare/cloudnative-pg-2.0.9...cloudnative-pg-2.0.10) (2023-11-08) - -### Chore - -- update helm general non-major ([#14454](https://github.com/truecharts/charts/issues/14454)) - - - - -## [cloudnative-pg-2.0.9](https://github.com/truecharts/charts/compare/cloudnative-pg-2.0.8...cloudnative-pg-2.0.9) (2023-11-07) - -### Fix - -- update cnpg helm chart for recent cnpg changes ([#14425](https://github.com/truecharts/charts/issues/14425)) - - - - -## [cloudnative-pg-2.0.8](https://github.com/truecharts/charts/compare/cloudnative-pg-2.0.7...cloudnative-pg-2.0.8) (2023-11-07) - - - - -## [cloudnative-pg-2.0.7](https://github.com/truecharts/charts/compare/cloudnative-pg-2.0.6...cloudnative-pg-2.0.7) (2023-11-06) - -### Chore - -- update container image tccr.io/truecharts/cloudnative-pg to v1.21.1 ([#13655](https://github.com/truecharts/charts/issues/13655)) - - - - diff --git a/operators/cloudnative-pg/3.0.2/app-changelog.md b/operators/cloudnative-pg/3.0.2/app-changelog.md deleted file mode 100644 index 37cada35eb..0000000000 --- a/operators/cloudnative-pg/3.0.2/app-changelog.md +++ /dev/null @@ -1,13 +0,0 @@ - - -## [cloudnative-pg-3.0.2](https://github.com/truecharts/charts/compare/cloudnative-pg-3.0.0...cloudnative-pg-3.0.2) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - fix annotations again - - update annotations - - cleanup chart.yaml and add min-max scale version - - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) - - \ No newline at end of file diff --git a/operators/cloudnative-pg/3.0.3/CHANGELOG.md b/operators/cloudnative-pg/3.0.3/CHANGELOG.md new file mode 100644 index 0000000000..2042e468a5 --- /dev/null +++ b/operators/cloudnative-pg/3.0.3/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [cloudnative-pg-3.0.3](https://github.com/truecharts/charts/compare/cloudnative-pg-3.0.2...cloudnative-pg-3.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cloudnative-pg-3.0.3](https://github.com/truecharts/charts/compare/cloudnative-pg-3.0.2...cloudnative-pg-3.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cloudnative-pg-3.0.3](https://github.com/truecharts/charts/compare/cloudnative-pg-3.0.2...cloudnative-pg-3.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cloudnative-pg-3.0.3](https://github.com/truecharts/charts/compare/cloudnative-pg-3.0.2...cloudnative-pg-3.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cloudnative-pg-3.0.3](https://github.com/truecharts/charts/compare/cloudnative-pg-3.0.2...cloudnative-pg-3.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cloudnative-pg-3.0.3](https://github.com/truecharts/charts/compare/cloudnative-pg-3.0.2...cloudnative-pg-3.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cloudnative-pg-3.0.3](https://github.com/truecharts/charts/compare/cloudnative-pg-3.0.2...cloudnative-pg-3.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cloudnative-pg-3.0.3](https://github.com/truecharts/charts/compare/cloudnative-pg-3.0.2...cloudnative-pg-3.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cloudnative-pg-3.0.3](https://github.com/truecharts/charts/compare/cloudnative-pg-3.0.2...cloudnative-pg-3.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cloudnative-pg-3.0.3](https://github.com/truecharts/charts/compare/cloudnative-pg-3.0.2...cloudnative-pg-3.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [cloudnative-pg-3.0.2](https://github.com/truecharts/charts/compare/cloudnative-pg-3.0.0...cloudnative-pg-3.0.2) (2023-12-16) + +### Chore diff --git a/operators/cloudnative-pg/3.0.2/Chart.yaml b/operators/cloudnative-pg/3.0.3/Chart.yaml similarity index 94% rename from operators/cloudnative-pg/3.0.2/Chart.yaml rename to operators/cloudnative-pg/3.0.3/Chart.yaml index 32b4ff905e..b65233c31d 100644 --- a/operators/cloudnative-pg/3.0.2/Chart.yaml +++ b/operators/cloudnative-pg/3.0.3/Chart.yaml @@ -1,17 +1,17 @@ kubeVersion: ">=1.24.0-0" apiVersion: v2 name: cloudnative-pg -version: 3.0.2 +version: 3.0.3 appVersion: latest description: CloudNativePG is a clustered postgresql database operator home: https://truecharts.org/charts/operators/cloudnative-pg icon: https://truecharts.org/img/hotlink-ok/chart-icons/cloudnative-pg.png deprecated: false sources: - - https://github.com/truecharts/containers/tree/master/mirroralpine - https://github.com/cloudnative-pg - https://cloudnative-pg.io/ - https://github.com/truecharts/charts/tree/master/charts/operators/cloudnative-pg + - https://github.com/truecharts/containers/tree/master/mirroralpine maintainers: - name: TrueCharts email: info@truecharts.org @@ -36,8 +36,8 @@ dependencies: tags: [] import-values: [] annotations: - max_scale_version: 23.10.1 - min_scale_version: 22.12.4 + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 truecharts.org/SCALE-support: "true" truecharts.org/category: operators truecharts.org/max_helm_version: "3.13" diff --git a/operators/cloudnative-pg/3.0.2/LICENSE b/operators/cloudnative-pg/3.0.3/LICENSE similarity index 100% rename from operators/cloudnative-pg/3.0.2/LICENSE rename to operators/cloudnative-pg/3.0.3/LICENSE diff --git a/operators/cloudnative-pg/3.0.2/README.md b/operators/cloudnative-pg/3.0.3/README.md similarity index 100% rename from operators/cloudnative-pg/3.0.2/README.md rename to operators/cloudnative-pg/3.0.3/README.md diff --git a/operators/cloudnative-pg/3.0.3/app-changelog.md b/operators/cloudnative-pg/3.0.3/app-changelog.md new file mode 100644 index 0000000000..8ad91c30ed --- /dev/null +++ b/operators/cloudnative-pg/3.0.3/app-changelog.md @@ -0,0 +1,9 @@ + + +## [cloudnative-pg-3.0.3](https://github.com/truecharts/charts/compare/cloudnative-pg-3.0.2...cloudnative-pg-3.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + \ No newline at end of file diff --git a/operators/cloudnative-pg/3.0.2/app-readme.md b/operators/cloudnative-pg/3.0.3/app-readme.md similarity index 100% rename from operators/cloudnative-pg/3.0.2/app-readme.md rename to operators/cloudnative-pg/3.0.3/app-readme.md diff --git a/operators/cloudnative-pg/3.0.2/charts/cloudnative-pg-0.19.1.tgz b/operators/cloudnative-pg/3.0.3/charts/cloudnative-pg-0.19.1.tgz similarity index 100% rename from operators/cloudnative-pg/3.0.2/charts/cloudnative-pg-0.19.1.tgz rename to operators/cloudnative-pg/3.0.3/charts/cloudnative-pg-0.19.1.tgz diff --git a/operators/cloudnative-pg/3.0.2/charts/common-14.5.0.tgz b/operators/cloudnative-pg/3.0.3/charts/common-14.5.0.tgz similarity index 100% rename from operators/cloudnative-pg/3.0.2/charts/common-14.5.0.tgz rename to operators/cloudnative-pg/3.0.3/charts/common-14.5.0.tgz diff --git a/operators/cloudnative-pg/3.0.2/ix_values.yaml b/operators/cloudnative-pg/3.0.3/ix_values.yaml similarity index 77% rename from operators/cloudnative-pg/3.0.2/ix_values.yaml rename to operators/cloudnative-pg/3.0.3/ix_values.yaml index 168cb3d850..c788a793a9 100644 --- a/operators/cloudnative-pg/3.0.2/ix_values.yaml +++ b/operators/cloudnative-pg/3.0.3/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: tccr.io/truecharts/alpine pullPolicy: IfNotPresent - tag: latest@sha256:17cd77e25d3fa829d168caec4db7bb5b52ceeb935d8ca0d1180de6f615553dc4 + tag: latest@sha256:51c4ca9a8213d3f4026bd560e8aa2de365d275d6cd0298eff2ae20671fef34e9 service: main: diff --git a/operators/cloudnative-pg/3.0.2/questions.yaml b/operators/cloudnative-pg/3.0.3/questions.yaml similarity index 100% rename from operators/cloudnative-pg/3.0.2/questions.yaml rename to operators/cloudnative-pg/3.0.3/questions.yaml diff --git a/stable/minecraft-java/5.1.4/templates/NOTES.txt b/operators/cloudnative-pg/3.0.3/templates/NOTES.txt similarity index 100% rename from stable/minecraft-java/5.1.4/templates/NOTES.txt rename to operators/cloudnative-pg/3.0.3/templates/NOTES.txt diff --git a/operators/cloudnative-pg/3.0.2/templates/common.yaml b/operators/cloudnative-pg/3.0.3/templates/common.yaml similarity index 100% rename from operators/cloudnative-pg/3.0.2/templates/common.yaml rename to operators/cloudnative-pg/3.0.3/templates/common.yaml diff --git a/stable/minecraft-java/5.1.4/values.yaml b/operators/cloudnative-pg/3.0.3/values.yaml similarity index 100% rename from stable/minecraft-java/5.1.4/values.yaml rename to operators/cloudnative-pg/3.0.3/values.yaml diff --git a/operators/metallb/11.0.3/CHANGELOG.md b/operators/metallb/11.0.3/CHANGELOG.md new file mode 100644 index 0000000000..4fb4bc2ec4 --- /dev/null +++ b/operators/metallb/11.0.3/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [metallb-11.0.3](https://github.com/truecharts/charts/compare/metallb-11.0.2...metallb-11.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [metallb-11.0.3](https://github.com/truecharts/charts/compare/metallb-11.0.2...metallb-11.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [metallb-11.0.3](https://github.com/truecharts/charts/compare/metallb-11.0.2...metallb-11.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [metallb-11.0.3](https://github.com/truecharts/charts/compare/metallb-11.0.2...metallb-11.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [metallb-11.0.3](https://github.com/truecharts/charts/compare/metallb-11.0.2...metallb-11.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [metallb-11.0.3](https://github.com/truecharts/charts/compare/metallb-11.0.2...metallb-11.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [metallb-11.0.3](https://github.com/truecharts/charts/compare/metallb-11.0.2...metallb-11.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [metallb-11.0.3](https://github.com/truecharts/charts/compare/metallb-11.0.2...metallb-11.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [metallb-11.0.3](https://github.com/truecharts/charts/compare/metallb-11.0.2...metallb-11.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [metallb-11.0.3](https://github.com/truecharts/charts/compare/metallb-11.0.2...metallb-11.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + + + +## [metallb-11.0.2](https://github.com/truecharts/charts/compare/metallb-11.0.0...metallb-11.0.2) (2023-12-16) + +### Chore diff --git a/operators/metallb/11.0.3/Chart.yaml b/operators/metallb/11.0.3/Chart.yaml new file mode 100644 index 0000000000..d0f653b2b2 --- /dev/null +++ b/operators/metallb/11.0.3/Chart.yaml @@ -0,0 +1,45 @@ +kubeVersion: ">=1.24.0-0" +apiVersion: v2 +name: metallb +version: 11.0.3 +appVersion: latest +description: A network load-balancer implementation for Kubernetes using standard routing protocols +home: https://truecharts.org/charts/operators/metallb +icon: https://truecharts.org/img/hotlink-ok/chart-icons/metallb.png +deprecated: false +sources: + - https://metallb.universe.tf + - https://github.com/metallb/metallb + - https://github.com/truecharts/charts/tree/master/charts/operators/metallb + - https://github.com/truecharts/containers/tree/master/mirroralpine +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +keywords: + - metallb + - loadbalancer +dependencies: + - name: common + version: 14.5.0 + repository: https://library-charts.truecharts.org + condition: "" + alias: "" + tags: [] + import-values: [] + - name: metallb + version: 0.13.12 + repository: https://metallb.github.io/metallb + condition: "" + alias: metallb + tags: [] + import-values: [] +annotations: + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 + truecharts.org/SCALE-support: "true" + truecharts.org/category: operators + truecharts.org/max_helm_version: "3.13" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: operators +type: application diff --git a/operators/metallb/11.0.3/LICENSE b/operators/metallb/11.0.3/LICENSE new file mode 100644 index 0000000000..4dfe12ac30 --- /dev/null +++ b/operators/metallb/11.0.3/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 "MetalLB" 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/operators/metallb/11.0.3/README.md b/operators/metallb/11.0.3/README.md new file mode 100644 index 0000000000..705f5d6c8b --- /dev/null +++ b/operators/metallb/11.0.3/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/operators/metallb) + +**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/operators/metallb/11.0.3/app-changelog.md b/operators/metallb/11.0.3/app-changelog.md new file mode 100644 index 0000000000..9e4b4854ec --- /dev/null +++ b/operators/metallb/11.0.3/app-changelog.md @@ -0,0 +1,9 @@ + + +## [metallb-11.0.3](https://github.com/truecharts/charts/compare/metallb-11.0.2...metallb-11.0.3) (2023-12-20) + +### Chore + +- update container image tccr.io/truecharts/alpine to latest[@51c4ca9](https://github.com/51c4ca9) by renovate ([#15476](https://github.com/truecharts/charts/issues/15476)) + + \ No newline at end of file diff --git a/operators/metallb/11.0.3/app-readme.md b/operators/metallb/11.0.3/app-readme.md new file mode 100644 index 0000000000..ef8e745914 --- /dev/null +++ b/operators/metallb/11.0.3/app-readme.md @@ -0,0 +1,8 @@ +A network load-balancer implementation for Kubernetes using standard routing protocols + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/operators/metallb](https://truecharts.org/charts/operators/metallb) + +--- + +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/minecraft-java/5.1.4/charts/common-14.5.0.tgz b/operators/metallb/11.0.3/charts/common-14.5.0.tgz similarity index 100% rename from stable/minecraft-java/5.1.4/charts/common-14.5.0.tgz rename to operators/metallb/11.0.3/charts/common-14.5.0.tgz diff --git a/operators/metallb/11.0.3/charts/metallb-0.13.12.tgz b/operators/metallb/11.0.3/charts/metallb-0.13.12.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9e8367bda3002b90ae0b2eb0c933d89e731da9f0 GIT binary patch literal 24427 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 C0eS-f literal 0 HcmV?d00001 diff --git a/operators/metallb/11.0.3/ix_values.yaml b/operators/metallb/11.0.3/ix_values.yaml new file mode 100644 index 0000000000..c788a793a9 --- /dev/null +++ b/operators/metallb/11.0.3/ix_values.yaml @@ -0,0 +1,25 @@ +image: + repository: tccr.io/truecharts/alpine + pullPolicy: IfNotPresent + tag: latest@sha256:51c4ca9a8213d3f4026bd560e8aa2de365d275d6cd0298eff2ae20671fef34e9 + +service: + main: + enabled: false + ports: + main: + enabled: false + +workload: + main: + enabled: false + +portal: + open: + enabled: false + +operator: + register: true + +manifestManager: + enabled: false diff --git a/operators/metallb/11.0.3/questions.yaml b/operators/metallb/11.0.3/questions.yaml new file mode 100644 index 0000000000..e4653ab8c3 --- /dev/null +++ b/operators/metallb/11.0.3/questions.yaml @@ -0,0 +1,45 @@ +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 +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 diff --git a/stable/qbitmanage/5.0.14/templates/NOTES.txt b/operators/metallb/11.0.3/templates/NOTES.txt similarity index 100% rename from stable/qbitmanage/5.0.14/templates/NOTES.txt rename to operators/metallb/11.0.3/templates/NOTES.txt diff --git a/operators/metallb/11.0.3/templates/common.yaml b/operators/metallb/11.0.3/templates/common.yaml new file mode 100644 index 0000000000..995efb03eb --- /dev/null +++ b/operators/metallb/11.0.3/templates/common.yaml @@ -0,0 +1,5 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.v1.common.loader.init" . }} + +{{/* Render the templates */}} +{{ include "tc.v1.common.loader.apply" . }} diff --git a/stable/qbitmanage/5.0.14/values.yaml b/operators/metallb/11.0.3/values.yaml similarity index 100% rename from stable/qbitmanage/5.0.14/values.yaml rename to operators/metallb/11.0.3/values.yaml diff --git a/stable/bazarr/15.2.0/CHANGELOG.md b/stable/bazarr/15.2.0/CHANGELOG.md new file mode 100644 index 0000000000..de7222fccb --- /dev/null +++ b/stable/bazarr/15.2.0/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [bazarr-15.2.0](https://github.com/truecharts/charts/compare/bazarr-15.1.3...bazarr-15.2.0) (2023-12-20) + + + + +## [bazarr-15.2.0](https://github.com/truecharts/charts/compare/bazarr-15.1.3...bazarr-15.2.0) (2023-12-20) + + + + +## [bazarr-15.2.0](https://github.com/truecharts/charts/compare/bazarr-15.1.3...bazarr-15.2.0) (2023-12-20) + + + + +## [bazarr-15.1.3](https://github.com/truecharts/charts/compare/bazarr-15.1.1...bazarr-15.1.3) (2023-12-16) + +### Chore + +- fix move mistake and cleanup metadata + - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) + + + + +## [bazarr-15.1.3](https://github.com/truecharts/charts/compare/bazarr-15.1.1...bazarr-15.1.3) (2023-12-16) + +### Chore + +- fix move mistake and cleanup metadata + - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) + + + + +## [bazarr-15.1.2](https://github.com/truecharts/charts/compare/bazarr-15.1.1...bazarr-15.1.2) (2023-12-16) + +### Chore + +- fix move mistake and cleanup metadata + + + + +## [bazarr-15.1.1](https://github.com/truecharts/charts/compare/bazarr-15.1.0...bazarr-15.1.1) (2023-12-03) + +### Chore + +- bump everything to ensure catalog has latest versions + - fix annotations again + - update annotations + + + + + + + + + + + + +## [bazarr-15.1.0](https://github.com/truecharts/charts/compare/bazarr-15.0.20...bazarr-15.1.0) (2023-11-30) + +### Chore + +- update container image ghcr.io/onedr0p/bazarr to v1.4.0[@c81c4d9](https://github.com/c81c4d9) ([#15477](https://github.com/truecharts/charts/issues/15477)) + + + + +## [bazarr-15.0.20](https://github.com/truecharts/charts/compare/bazarr-15.0.19...bazarr-15.0.20) (2023-11-17) + + + + +## [bazarr-15.0.19](https://github.com/truecharts/charts/compare/bazarr-15.0.18...bazarr-15.0.19) (2023-11-08) + +### Chore + +- update helm general non-major ([#14465](https://github.com/truecharts/charts/issues/14465)) + + + + +## [bazarr-15.0.18](https://github.com/truecharts/charts/compare/bazarr-15.0.17...bazarr-15.0.18) (2023-11-08) + +### Chore + +- update helm general non-major ([#14454](https://github.com/truecharts/charts/issues/14454)) + + diff --git a/stable/bazarr/15.2.0/Chart.yaml b/stable/bazarr/15.2.0/Chart.yaml new file mode 100644 index 0000000000..70ac83f1b5 --- /dev/null +++ b/stable/bazarr/15.2.0/Chart.yaml @@ -0,0 +1,41 @@ +kubeVersion: ">=1.24.0-0" +apiVersion: v2 +name: bazarr +version: 15.2.0 +appVersion: 1.4.0 +description: Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements +home: https://truecharts.org/charts/stable/bazarr +icon: https://truecharts.org/img/hotlink-ok/chart-icons/bazarr.png +deprecated: false +sources: + - https://github.com/truecharts/containers/tree/master/mirrorexportarr + - https://github.com/morpheus65535/bazarr + - https://github.com/truecharts/charts/tree/master/charts/stable/bazarr +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +keywords: + - bazarr + - radarr + - sonarr + - subtitles + - usenet + - torrent +dependencies: + - name: common + version: 14.5.0 + repository: https://library-charts.truecharts.org + condition: "" + 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/minecraft-java/5.1.4/README.md b/stable/bazarr/15.2.0/README.md similarity index 93% rename from stable/minecraft-java/5.1.4/README.md rename to stable/bazarr/15.2.0/README.md index e0a9b8fa8d..2e40bef66e 100644 --- a/stable/minecraft-java/5.1.4/README.md +++ b/stable/bazarr/15.2.0/README.md @@ -5,7 +5,7 @@ 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/) +For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/stable/bazarr) **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)** diff --git a/stable/bazarr/15.2.0/app-changelog.md b/stable/bazarr/15.2.0/app-changelog.md new file mode 100644 index 0000000000..19f0ce09ab --- /dev/null +++ b/stable/bazarr/15.2.0/app-changelog.md @@ -0,0 +1,4 @@ + + +## [bazarr-15.2.0](https://github.com/truecharts/charts/compare/bazarr-15.1.3...bazarr-15.2.0) (2023-12-20) + diff --git a/stable/bazarr/15.2.0/app-readme.md b/stable/bazarr/15.2.0/app-readme.md new file mode 100644 index 0000000000..90f6859f27 --- /dev/null +++ b/stable/bazarr/15.2.0/app-readme.md @@ -0,0 +1,8 @@ +Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/bazarr](https://truecharts.org/charts/stable/bazarr) + +--- + +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/qbitmanage/5.0.14/charts/common-14.5.0.tgz b/stable/bazarr/15.2.0/charts/common-14.5.0.tgz similarity index 100% rename from stable/qbitmanage/5.0.14/charts/common-14.5.0.tgz rename to stable/bazarr/15.2.0/charts/common-14.5.0.tgz diff --git a/stable/bazarr/15.2.0/ix_values.yaml b/stable/bazarr/15.2.0/ix_values.yaml new file mode 100644 index 0000000000..1a02d2a2e6 --- /dev/null +++ b/stable/bazarr/15.2.0/ix_values.yaml @@ -0,0 +1,86 @@ +image: + repository: ghcr.io/onedr0p/bazarr + pullPolicy: IfNotPresent + tag: 1.4.0@sha256:c81c4d9cbec093d5a999cfa3cd1af01d3f00d6292d6f5c33608510cef0ed83c7 +exportarrImage: + repository: tccr.io/truecharts/exportarr + pullPolicy: IfNotPresent + tag: v1.6.0@sha256:ee118701a2ebe8ccb5c25e1003fbed9ef7ce217d4e4b8b6df30cc2a0def818f8 +service: + main: + ports: + main: + port: 6767 + protocol: http + targetPort: 6767 + metrics: + enabled: true + type: ClusterIP + targetSelector: exportarr + ports: + metrics: + enabled: true + port: 7879 + targetSelector: exportarr + +workload: + exportarr: + enabled: "{{ .Values.metrics.main.enabled }}" + type: Deployment + strategy: RollingUpdate + replicas: 1 + podSpec: + containers: + exportarr: + primary: true + enabled: true + imageSelector: exportarrImage + args: + - bazarr + probes: + liveness: + enabled: true + type: http + path: /healthz + port: "{{ .Values.service.metrics.ports.metrics.port }}" + readiness: + enabled: true + type: http + path: /healthz + port: "{{ .Values.service.metrics.ports.metrics.port }}" + startup: + enabled: true + type: http + path: /healthz + port: "{{ .Values.service.metrics.ports.metrics.port }}" + env: + INTERFACE: 0.0.0.0 + PORT: "{{ .Values.service.metrics.ports.metrics.port }}" + URL: '{{ printf "http://%v:%v" (include "tc.v1.common.lib.chart.names.fullname" $) .Values.service.main.ports.main.port }}' + APIKEY: "{{ .Values.metrics.main.apiKey }}" + +persistence: + config: + enabled: true + targetSelector: + main: + main: + mountPath: /config + exportarr: + exportarr: + mountPath: /config + readOnly: true + +metrics: + main: + enabled: true + type: "servicemonitor" + endpoints: + - port: metrics + path: /metrics + targetSelector: metrics + apiKey: "" + +portal: + open: + enabled: true diff --git a/stable/bazarr/15.2.0/questions.yaml b/stable/bazarr/15.2.0/questions.yaml new file mode 100644 index 0000000000..abf9c23638 --- /dev/null +++ b/stable/bazarr/15.2.0/questions.yaml @@ -0,0 +1,2681 @@ +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: 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: 6767 + 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: config + label: "App Config Storage" + description: "Stores the Application Configuration." + 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: 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: integration + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - 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: 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: 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: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + show_if: [["advanced", "=", true]] + default: false + - 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: certificateIssuer + label: certificateIssuer + 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: 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: integration + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - 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: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - 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: 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: 568 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID this App of the user running the application" + schema: + type: int + default: 568 + # 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: metrics + group: Metrics + label: Prometheus Metrics + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: Main Metrics + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + description: Enable Prometheus Metrics + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: apiKey + label: "Bazarr API key" + description: "Can be found in the Bazarr settings" + schema: + type: string + default: "" + required: true + - variable: prometheusRule + label: PrometheusRule + description: Enable and configure Prometheus Rules for the App. + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + description: Enable Prometheus Metrics + schema: + type: boolean + default: false + # TODO: Rule List section +# - 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/vikunja/9.0.29/templates/NOTES.txt b/stable/bazarr/15.2.0/templates/NOTES.txt similarity index 100% rename from stable/vikunja/9.0.29/templates/NOTES.txt rename to stable/bazarr/15.2.0/templates/NOTES.txt diff --git a/stable/ztcuui-aio/5.0.14/templates/common.yaml b/stable/bazarr/15.2.0/templates/common.yaml similarity index 100% rename from stable/ztcuui-aio/5.0.14/templates/common.yaml rename to stable/bazarr/15.2.0/templates/common.yaml diff --git a/stable/vikunja/9.0.29/values.yaml b/stable/bazarr/15.2.0/values.yaml similarity index 100% rename from stable/vikunja/9.0.29/values.yaml rename to stable/bazarr/15.2.0/values.yaml diff --git a/stable/minecraft-java/5.1.4/app-changelog.md b/stable/minecraft-java/5.1.4/app-changelog.md deleted file mode 100644 index 6f593f5506..0000000000 --- a/stable/minecraft-java/5.1.4/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [minecraft-java-5.1.4](https://github.com/truecharts/charts/compare/minecraft-java-5.1.3...minecraft-java-5.1.4) (2023-12-16) - -### Chore - -- update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) - - \ No newline at end of file diff --git a/stable/minecraft-java/5.1.4/CHANGELOG.md b/stable/minecraft-java/5.2.0/CHANGELOG.md similarity index 73% rename from stable/minecraft-java/5.1.4/CHANGELOG.md rename to stable/minecraft-java/5.2.0/CHANGELOG.md index fc264999cd..6ed639acba 100644 --- a/stable/minecraft-java/5.1.4/CHANGELOG.md +++ b/stable/minecraft-java/5.2.0/CHANGELOG.md @@ -4,6 +4,31 @@ +## [minecraft-java-5.2.0](https://github.com/truecharts/charts/compare/minecraft-java-5.1.4...minecraft-java-5.2.0) (2023-12-20) + + + + +## [minecraft-java-5.2.0](https://github.com/truecharts/charts/compare/minecraft-java-5.1.4...minecraft-java-5.2.0) (2023-12-20) + + + + +## [minecraft-java-5.2.0](https://github.com/truecharts/charts/compare/minecraft-java-5.1.4...minecraft-java-5.2.0) (2023-12-20) + + + + +## [minecraft-java-5.2.0](https://github.com/truecharts/charts/compare/minecraft-java-5.1.4...minecraft-java-5.2.0) (2023-12-20) + + + + +## [minecraft-java-5.2.0](https://github.com/truecharts/charts/compare/minecraft-java-5.1.4...minecraft-java-5.2.0) (2023-12-20) + + + + ## [minecraft-java-5.1.4](https://github.com/truecharts/charts/compare/minecraft-java-5.1.3...minecraft-java-5.1.4) (2023-12-16) ### Chore @@ -72,28 +97,3 @@ - update helm general non-major ([#14465](https://github.com/truecharts/charts/issues/14465)) - - -## [minecraft-java-5.0.8](https://github.com/truecharts/charts/compare/minecraft-java-5.0.7...minecraft-java-5.0.8) (2023-11-08) - -### Chore - -- update helm general non-major ([#14454](https://github.com/truecharts/charts/issues/14454)) - - - - -## [minecraft-java-5.0.7](https://github.com/truecharts/charts/compare/minecraft-java-5.0.6...minecraft-java-5.0.7) (2023-11-05) - -### Chore - -- update helm general non-major ([#14365](https://github.com/truecharts/charts/issues/14365)) - - - - -## [minecraft-java-5.0.6](https://github.com/truecharts/charts/compare/minecraft-java-5.0.5...minecraft-java-5.0.6) (2023-11-03) - -### Chore - -- update helm general non-major ([#14287](https://github.com/truecharts/charts/issues/14287)) diff --git a/stable/minecraft-java/5.1.4/Chart.yaml b/stable/minecraft-java/5.2.0/Chart.yaml similarity index 89% rename from stable/minecraft-java/5.1.4/Chart.yaml rename to stable/minecraft-java/5.2.0/Chart.yaml index 8b683e2b43..66a86bb911 100644 --- a/stable/minecraft-java/5.1.4/Chart.yaml +++ b/stable/minecraft-java/5.2.0/Chart.yaml @@ -1,16 +1,16 @@ -kubeVersion: ">=1.24.0" +kubeVersion: ">=1.24.0-0" apiVersion: v2 name: minecraft-java -version: 5.1.4 +version: 5.2.0 appVersion: 2023.11.1 description: Minecraft Java Dedicated Server home: https://truecharts.org/charts/stable/minecraft-java icon: https://truecharts.org/img/hotlink-ok/chart-icons/minecraft-java.png deprecated: false sources: + - https://github.com/itzg/docker-minecraft-server - https://github.com/truecharts/charts/tree/master/charts/stable/minecraft-java - https://hub.docker.com/r/itzg/minecraft-server - - https://github.com/itzg/docker-minecraft-server maintainers: - name: TrueCharts email: info@truecharts.org @@ -27,10 +27,11 @@ dependencies: tags: [] import-values: [] annotations: - max_scale_version: 23.10.1 - min_scale_version: 22.12.4 + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 truecharts.org/SCALE-support: "true" truecharts.org/category: games truecharts.org/max_helm_version: "3.13" truecharts.org/min_helm_version: "3.12" truecharts.org/train: stable +type: application diff --git a/stable/minecraft-java/5.2.0/README.md b/stable/minecraft-java/5.2.0/README.md new file mode 100644 index 0000000000..ccdadf11ca --- /dev/null +++ b/stable/minecraft-java/5.2.0/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/minecraft-java) + +**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/minecraft-java/5.2.0/app-changelog.md b/stable/minecraft-java/5.2.0/app-changelog.md new file mode 100644 index 0000000000..85de190deb --- /dev/null +++ b/stable/minecraft-java/5.2.0/app-changelog.md @@ -0,0 +1,4 @@ + + +## [minecraft-java-5.2.0](https://github.com/truecharts/charts/compare/minecraft-java-5.1.4...minecraft-java-5.2.0) (2023-12-20) + diff --git a/stable/minecraft-java/5.1.4/app-readme.md b/stable/minecraft-java/5.2.0/app-readme.md similarity index 100% rename from stable/minecraft-java/5.1.4/app-readme.md rename to stable/minecraft-java/5.2.0/app-readme.md diff --git a/stable/vikunja/9.0.29/charts/common-14.5.0.tgz b/stable/minecraft-java/5.2.0/charts/common-14.5.0.tgz similarity index 100% rename from stable/vikunja/9.0.29/charts/common-14.5.0.tgz rename to stable/minecraft-java/5.2.0/charts/common-14.5.0.tgz diff --git a/stable/minecraft-java/5.1.4/ix_values.yaml b/stable/minecraft-java/5.2.0/ix_values.yaml similarity index 73% rename from stable/minecraft-java/5.1.4/ix_values.yaml rename to stable/minecraft-java/5.2.0/ix_values.yaml index 2fd770125d..4f88f42954 100644 --- a/stable/minecraft-java/5.1.4/ix_values.yaml +++ b/stable/minecraft-java/5.2.0/ix_values.yaml @@ -58,6 +58,10 @@ j8j9Image: repository: itzg/minecraft-server tag: 2023.11.1-java8-openj9@sha256:076c6a872b241df47580064171e67ff6d9b1826134169fe4201c5cedd3456f58 pullPolicy: Always +mcBackupImage: + repository: itzg/mc-backup + tag: latest@sha256:13d66ffdc2d120308b55a4a10a992fe75bbb6295f6fd88bd53658c02423e4e80 + pullPolicy: Always service: main: @@ -78,6 +82,27 @@ service: enabled: true port: 25575 +mcbackup: + enabled: true + initial_delay: 2m + backup_interval: 24hr + player_online_check_interval: 5m + prune_backups_days: 7 + pause_if_no_players: false + link_latest: false + # values gzip,bzip2,zstd + tar_compress_method: gzip + # White spaced separated list + zstd_params: + - --long=25 + - --single-thread + # comma separated list + excludes: + - "*.jar" + - "cache" + - "logs" + - "*.tmp" + workload: main: podSpec: @@ -187,10 +212,55 @@ workload: # CF_OVERRIDES_SKIP_EXISTING # CF_PARALLEL_DOWNLOADS # CF_SET_LEVEL_FROM + mcbackup: + enabled: true + type: Deployment + podSpec: + containers: + mcbackup: + primary: true + enabled: true + imageSelector: mcBackupImage + probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + env: + BACKUP_METHOD: "tar" + DEST_DIR: "{{.Values.persistence.backups.mountPath }}" + SRC_DIR: "{{.Values.persistence.data.mountPath }}" + SERVER_PORT: "{{ .Values.service.main.ports.main.port }}" + RCON_HOST: '{{ include "tc.v1.common.lib.chart.names.fullname" $ }}' + RCON_PORT: "{{ .Values.service.rcon.ports.rcon.port }}" + RCON_PASSWORD: "{{ .Values.workload.main.podSpec.containers.main.env.RCON_PASSWORD }}" + INITIAL_DELAY: "{{ .Values.mcbackup.initial_delay }}" + BACKUP_INTERVAL: "{{ .Values.mcbackup.backup_interval }}" + PRUNE_BACKUPS_DAYS: "{{ .Values.mcbackup.prune_backups_days }}" + PAUSE_IF_NO_PLAYERS: "{{ .Values.mcbackup.pause_if_no_players }}" + PLAYERS_ONLINE_CHECK_INTERVAL: "{{ .Values.mcbackup.player_online_check_interval }}" + LINK_LATEST: "{{ .Values.mcbackup.link_latest }}" + TAR_COMPRESS_METHOD: "{{ .Values.mcbackup.tar_compress_method }}" + ZSTD_PARAMETERS: '{{ join " " .Values.mcbackup.zstd_params }}' + EXCLUDES: '{{ join "," .Values.mcbackup.excludes }}' + persistence: data: enabled: true - mountPath: "/data" + targetSelector: + main: + main: + mountPath: /data + mcbackup: + mcbackup: + mountPath: /data + readOnly: true + backups: + enabled: true + mountPath: /backups + portal: open: enabled: false diff --git a/stable/minecraft-java/5.1.4/questions.yaml b/stable/minecraft-java/5.2.0/questions.yaml similarity index 90% rename from stable/minecraft-java/5.1.4/questions.yaml rename to stable/minecraft-java/5.2.0/questions.yaml index 17b8566b1e..4f91c3844f 100644 --- a/stable/minecraft-java/5.1.4/questions.yaml +++ b/stable/minecraft-java/5.2.0/questions.yaml @@ -138,7 +138,7 @@ questions: type: dict attrs: - variable: RCON_PASSWORD - label: RCON_PASSWORD + label: Rcon Password description: This will only have effect in the first installation or always if OVERRIDE_SERVER_PROPERTIES is enabled schema: type: string @@ -296,6 +296,12 @@ questions: type: string default: "" show_if: [[TYPE, "=", "FABRIC"]] + - variable: PACKWIZ_URL + label: Packwiz URL + schema: + type: string + default: "" + show_if: [[TYPE, "=", "FABRIC"]] - variable: SPIGOT_DOWNLOAD_URL label: Spigot Download URL schema: @@ -326,12 +332,6 @@ questions: type: string default: "" show_if: [[TYPE, "=", "PAPER"]] - - variable: PACKWIZ_URL - label: Packwiz URL - schema: - type: string - default: "" - show_if: [[TYPE, "=", "PAPER"]] - variable: AIRPLANE_BUILD label: Airplane Build schema: @@ -715,6 +715,7 @@ questions: schema: type: string default: "" + - 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..." @@ -764,6 +765,99 @@ questions: label: Param schema: type: string + + - variable: mcbackup + group: App Configuration + label: MC Backup Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable MC Backup Container + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: initial_delay + label: Initial Delay + schema: + type: string + default: 2m + - variable: backup_interval + label: Backup Interval + schema: + type: string + default: 24hr + - variable: player_online_check_interval + label: Player Online Check Interval + schema: + type: string + default: 5m + - variable: prune_backups_days + label: Prune Backups Days + schema: + type: int + default: 7 + - variable: pause_if_no_players + label: Pause If No Players + schema: + type: boolean + default: false + - variable: link_latest + label: Link Latest + description: Creates a symbolic link to the latest backup. + schema: + type: boolean + default: false + - variable: tar_compress_method + label: Tar Compress Method + schema: + type: string + default: gzip + enum: + - value: gzip + description: Gzip + - value: bzip2 + description: Bzip2 + - value: zstd + description: Zstd + - variable: zstd_params + label: ZSTD Params + schema: + type: list + empty: false + default: + - --long=25 + - --single-thread + required: true + items: + - variable: param + label: Param + schema: + type: string + required: true + default: "" + - variable: excludes + label: Excludes + schema: + type: list + empty: false + default: + - "*.jar" + - "cache" + - "logs" + - "*.tmp" + required: true + items: + - variable: exclude + label: Exclude + schema: + type: string + required: true + default: "" + - variable: TZ label: Timezone group: "General Settings" @@ -1499,6 +1593,279 @@ questions: schema: type: string default: "" + - variable: backups + label: App Backups Storage + description: Stores the Application Backups. + 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 diff --git a/stable/ztcuui-aio/5.0.14/templates/NOTES.txt b/stable/minecraft-java/5.2.0/templates/NOTES.txt similarity index 100% rename from stable/ztcuui-aio/5.0.14/templates/NOTES.txt rename to stable/minecraft-java/5.2.0/templates/NOTES.txt diff --git a/stable/minecraft-java/5.2.0/templates/common.yaml b/stable/minecraft-java/5.2.0/templates/common.yaml new file mode 100644 index 0000000000..9e1f2f3bf4 --- /dev/null +++ b/stable/minecraft-java/5.2.0/templates/common.yaml @@ -0,0 +1,10 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.v1.common.loader.init" . -}} + +{{/* Disable [mcbackup] if requested */}} +{{- if not .Values.mcbackup.enabled -}} + {{- $_ := set .Values.workload.mcbackup "enabled" false -}} +{{- end -}} + +{{/* Render the templates */}} +{{- include "tc.v1.common.loader.apply" . -}} diff --git a/stable/ztcuui-aio/5.0.14/values.yaml b/stable/minecraft-java/5.2.0/values.yaml similarity index 100% rename from stable/ztcuui-aio/5.0.14/values.yaml rename to stable/minecraft-java/5.2.0/values.yaml diff --git a/stable/qbitmanage/5.0.14/app-changelog.md b/stable/qbitmanage/5.0.14/app-changelog.md deleted file mode 100644 index 911370ed1a..0000000000 --- a/stable/qbitmanage/5.0.14/app-changelog.md +++ /dev/null @@ -1,10 +0,0 @@ - - -## [qbitmanage-5.0.14](https://github.com/truecharts/charts/compare/qbitmanage-5.0.12...qbitmanage-5.0.14) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) - - \ No newline at end of file diff --git a/stable/qbitmanage/5.0.14/CHANGELOG.md b/stable/qbitmanage/5.0.15/CHANGELOG.md similarity index 60% rename from stable/qbitmanage/5.0.14/CHANGELOG.md rename to stable/qbitmanage/5.0.15/CHANGELOG.md index b2026336f1..9cd6bef833 100644 --- a/stable/qbitmanage/5.0.14/CHANGELOG.md +++ b/stable/qbitmanage/5.0.15/CHANGELOG.md @@ -4,6 +4,42 @@ +## [qbitmanage-5.0.15](https://github.com/truecharts/charts/compare/qbitmanage-5.0.14...qbitmanage-5.0.15) (2023-12-20) + +### Chore + +- update questions.yaml with new/changed env vars ([#15877](https://github.com/truecharts/charts/issues/15877)) + + + + +## [qbitmanage-5.0.15](https://github.com/truecharts/charts/compare/qbitmanage-5.0.14...qbitmanage-5.0.15) (2023-12-20) + +### Chore + +- update questions.yaml with new/changed env vars ([#15877](https://github.com/truecharts/charts/issues/15877)) + + + + +## [qbitmanage-5.0.15](https://github.com/truecharts/charts/compare/qbitmanage-5.0.14...qbitmanage-5.0.15) (2023-12-20) + +### Chore + +- update questions.yaml with new/changed env vars ([#15877](https://github.com/truecharts/charts/issues/15877)) + + + + +## [qbitmanage-5.0.15](https://github.com/truecharts/charts/compare/qbitmanage-5.0.14...qbitmanage-5.0.15) (2023-12-20) + +### Chore + +- update questions.yaml with new/changed env vars ([#15877](https://github.com/truecharts/charts/issues/15877)) + + + + ## [qbitmanage-5.0.14](https://github.com/truecharts/charts/compare/qbitmanage-5.0.12...qbitmanage-5.0.14) (2023-12-16) ### Chore @@ -61,39 +97,3 @@ ## [qbitmanage-5.0.10](https://github.com/truecharts/charts/compare/qbitmanage-5.0.9...qbitmanage-5.0.10) (2023-11-08) ### Chore - -- update helm general non-major ([#14465](https://github.com/truecharts/charts/issues/14465)) - - - - -## [qbitmanage-5.0.9](https://github.com/truecharts/charts/compare/qbitmanage-5.0.8...qbitmanage-5.0.9) (2023-11-08) - -### Chore - -- update helm general non-major ([#14454](https://github.com/truecharts/charts/issues/14454)) - - - - -## [qbitmanage-5.0.8](https://github.com/truecharts/charts/compare/qbitmanage-5.0.7...qbitmanage-5.0.8) (2023-11-05) - -### Chore - -- update helm general non-major ([#14365](https://github.com/truecharts/charts/issues/14365)) - - - - -## [qbitmanage-5.0.7](https://github.com/truecharts/charts/compare/qbitmanage-5.0.6...qbitmanage-5.0.7) (2023-11-03) - -### Chore - -- update helm general non-major ([#14287](https://github.com/truecharts/charts/issues/14287)) - - - - -## [qbitmanage-5.0.6](https://github.com/truecharts/charts/compare/qbitmanage-5.0.5...qbitmanage-5.0.6) (2023-10-29) - -### Chore diff --git a/stable/qbitmanage/5.0.14/Chart.yaml b/stable/qbitmanage/5.0.15/Chart.yaml similarity index 73% rename from stable/qbitmanage/5.0.14/Chart.yaml rename to stable/qbitmanage/5.0.15/Chart.yaml index 992c6f62b6..da551d34b0 100644 --- a/stable/qbitmanage/5.0.14/Chart.yaml +++ b/stable/qbitmanage/5.0.15/Chart.yaml @@ -1,12 +1,9 @@ kubeVersion: ">=1.24.0-0" apiVersion: v2 name: qbitmanage -version: 5.0.14 -appVersion: 4.0.6 -description: - This tool will help manage tedious tasks in qBittorrent and automate - them. Tag, categorize, remove orphaned data, remove unregistered torrents and much - much more. +version: 5.0.15 +appVersion: 4.0.6@sha256:50d20cee30fe38db71ecd56776a5d3e049d56bdeb1e81877af317b7c71e9a752 +description: This tool will help manage tedious tasks in qBittorrent and automate them. Tag, categorize, remove orphaned data, remove unregistered torrents and much much more. home: https://truecharts.org/charts/stable/qbitmanage icon: https://truecharts.org/img/hotlink-ok/chart-icons/qbitmanage.png deprecated: false @@ -31,8 +28,8 @@ dependencies: tags: [] import-values: [] annotations: - max_scale_version: 23.10.1 - min_scale_version: 22.12.4 + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 truecharts.org/SCALE-support: "true" truecharts.org/category: Downloaders truecharts.org/max_helm_version: "3.13" diff --git a/stable/qbitmanage/5.0.14/README.md b/stable/qbitmanage/5.0.15/README.md similarity index 100% rename from stable/qbitmanage/5.0.14/README.md rename to stable/qbitmanage/5.0.15/README.md diff --git a/stable/qbitmanage/5.0.15/app-changelog.md b/stable/qbitmanage/5.0.15/app-changelog.md new file mode 100644 index 0000000000..412df8e6d7 --- /dev/null +++ b/stable/qbitmanage/5.0.15/app-changelog.md @@ -0,0 +1,9 @@ + + +## [qbitmanage-5.0.15](https://github.com/truecharts/charts/compare/qbitmanage-5.0.14...qbitmanage-5.0.15) (2023-12-20) + +### Chore + +- update questions.yaml with new/changed env vars ([#15877](https://github.com/truecharts/charts/issues/15877)) + + \ No newline at end of file diff --git a/stable/qbitmanage/5.0.14/app-readme.md b/stable/qbitmanage/5.0.15/app-readme.md similarity index 100% rename from stable/qbitmanage/5.0.14/app-readme.md rename to stable/qbitmanage/5.0.15/app-readme.md diff --git a/stable/ztcuui-aio/5.0.14/charts/common-14.5.0.tgz b/stable/qbitmanage/5.0.15/charts/common-14.5.0.tgz similarity index 100% rename from stable/ztcuui-aio/5.0.14/charts/common-14.5.0.tgz rename to stable/qbitmanage/5.0.15/charts/common-14.5.0.tgz diff --git a/stable/qbitmanage/5.0.14/ix_values.yaml b/stable/qbitmanage/5.0.15/ix_values.yaml similarity index 88% rename from stable/qbitmanage/5.0.14/ix_values.yaml rename to stable/qbitmanage/5.0.15/ix_values.yaml index a4edacedb9..fcb285faf7 100644 --- a/stable/qbitmanage/5.0.14/ix_values.yaml +++ b/stable/qbitmanage/5.0.15/ix_values.yaml @@ -44,9 +44,12 @@ workload: QBT_CAT_UPDATE: false QBT_TAG_UPDATE: false QBT_REM_UNREGISTERED: false + QBT_TAG_TRACKER_ERROR: false QBT_REM_ORPHANED: false QBT_TAG_NOHARDLINKS: false - QBT_SKIP_RECYCLE: false + QBT_SHARE_LIMITS: false + QBT_SKIP_CLEANUP: false + QBT_SKIP_QB_VERSION_CHECK: false QBT_DRY_RUN: false QBT_LOG_LEVEL: INFO QBT_DIVIDER: "=" diff --git a/stable/qbitmanage/5.0.14/questions.yaml b/stable/qbitmanage/5.0.15/questions.yaml similarity index 98% rename from stable/qbitmanage/5.0.14/questions.yaml rename to stable/qbitmanage/5.0.15/questions.yaml index 8450956f58..232baa62f6 100644 --- a/stable/qbitmanage/5.0.14/questions.yaml +++ b/stable/qbitmanage/5.0.15/questions.yaml @@ -144,6 +144,12 @@ questions: schema: type: boolean default: false + - variable: QBT_TAG_TRACKER_ERROR + label: QBT_TAG_TRACKER_ERROR + description: Use this to tag any torrents with tracker errors, such as unregistered torrents or unreachable trackers. + schema: + type: boolean + default: false - variable: QBT_REM_ORPHANED label: QBT_REM_ORPHANED description: Use this if you would like to remove orphaned files from your root_dir directory that are not referenced by any torrents. It will scan your root_dir directory and compare it with what is in qBittorrent. Any data not referenced in qBittorrent will be moved into /data/torrents/orphaned_data folder for you to review/delete. @@ -156,9 +162,21 @@ questions: schema: type: boolean default: false - - variable: QBT_SKIP_RECYCLE - label: QBT_SKIP_RECYCLE - description: Use this to skip emptying the Recycle Bin folder (/root_dir/.RecycleBin). + - variable: QBT_SHARE_LIMITS + label: QBT_SHARE_LIMITS + description: Control how torrent share limits are set depending on the priority of your grouping. This can apply a max ratio, seed time limits to your torrents or limit your torrent upload speed as well. Each torrent will be matched with the share limit group with the highest priority that meets the group filter criteria. Each torrent can only be matched with one share limit group. + schema: + type: boolean + default: false + - variable: QBT_SKIP_CLEANUP + label: QBT_SKIP_CLEANUP + description: Use this to skip emptying the Recycle Bin folder (/root_dir/.RecycleBin) and Orphaned directory. (/root_dir/orphaned_data) + schema: + type: boolean + default: false + - variable: QBT_SKIP_QB_VERSION_CHECK + label: QBT_SKIP_QB_VERSION_CHECK + description: Use this to bypass qBittorrent/libtorrent version compatibility check. You run the risk of undesirable behavior and will receive no support. schema: type: boolean default: false diff --git a/stable/qbitmanage/5.0.15/templates/NOTES.txt b/stable/qbitmanage/5.0.15/templates/NOTES.txt new file mode 100644 index 0000000000..efcb74cb77 --- /dev/null +++ b/stable/qbitmanage/5.0.15/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/qbitmanage/5.0.14/templates/common.yaml b/stable/qbitmanage/5.0.15/templates/common.yaml similarity index 100% rename from stable/qbitmanage/5.0.14/templates/common.yaml rename to stable/qbitmanage/5.0.15/templates/common.yaml diff --git a/stable/qbitmanage/5.0.15/values.yaml b/stable/qbitmanage/5.0.15/values.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/stable/radicale/3.0.5/CHANGELOG.md b/stable/radicale/3.0.5/CHANGELOG.md new file mode 100644 index 0000000000..ec859d71e3 --- /dev/null +++ b/stable/radicale/3.0.5/CHANGELOG.md @@ -0,0 +1,22 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [radicale-3.0.5](https://github.com/truecharts/charts/compare/radicale-3.0.4...radicale-3.0.5) (2023-12-20) + +### Fix + +- fixup radicale and move to stable ([#16323](https://github.com/truecharts/charts/issues/16323)) + + + + +## [radicale-3.0.5](https://github.com/truecharts/charts/compare/radicale-3.0.4...radicale-3.0.5) (2023-12-20) + +### Fix + +- fixup radicale and move to stable ([#16323](https://github.com/truecharts/charts/issues/16323)) + + \ No newline at end of file diff --git a/stable/radicale/3.0.5/Chart.yaml b/stable/radicale/3.0.5/Chart.yaml new file mode 100644 index 0000000000..e832f47dcb --- /dev/null +++ b/stable/radicale/3.0.5/Chart.yaml @@ -0,0 +1,44 @@ +kubeVersion: ">=1.24.0-0" +apiVersion: v2 +name: radicale +version: 3.0.5 +appVersion: 3.1.8.3 +description: Radicale is a small but powerful CalDAV (calendars, to-do lists) and CardDAV (contacts) server. +home: https://truecharts.org/charts/incubator/radicale +icon: https://truecharts.org/img/hotlink-ok/chart-icons/radicale.png +deprecated: false +sources: + - https://github.com/tomsquest/docker-radicale + - https://radicale.org/ + - https://github.com/Kozea/Radicale + - https://github.com/truecharts/charts/tree/master/charts/incubator/radicale + - https://hub.docker.com/r/tomsquest/docker-radicale +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +keywords: + - radicale + - CalDAV + - CardDAV + - calendars + - contacts + - tasks + - to-do +dependencies: + - name: common + version: 16.2.7 + repository: https://library-charts.truecharts.org + condition: "" + 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: radicale + truecharts.org/max_helm_version: "3.13" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: incubator +type: application diff --git a/stable/radicale/3.0.5/README.md b/stable/radicale/3.0.5/README.md new file mode 100644 index 0000000000..6e08106a34 --- /dev/null +++ b/stable/radicale/3.0.5/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/incubator/radicale) + +**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/radicale/3.0.5/app-changelog.md b/stable/radicale/3.0.5/app-changelog.md new file mode 100644 index 0000000000..6b9a022e9c --- /dev/null +++ b/stable/radicale/3.0.5/app-changelog.md @@ -0,0 +1,9 @@ + + +## [radicale-3.0.5](https://github.com/truecharts/charts/compare/radicale-3.0.4...radicale-3.0.5) (2023-12-20) + +### Fix + +- fixup radicale and move to stable ([#16323](https://github.com/truecharts/charts/issues/16323)) + + \ No newline at end of file diff --git a/stable/radicale/3.0.5/app-readme.md b/stable/radicale/3.0.5/app-readme.md new file mode 100644 index 0000000000..9b3fc02043 --- /dev/null +++ b/stable/radicale/3.0.5/app-readme.md @@ -0,0 +1,8 @@ +Radicale is a small but powerful CalDAV (calendars, to-do lists) and CardDAV (contacts) server. + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/radicale](https://truecharts.org/charts/stable/radicale) + +--- + +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/radicale/3.0.5/charts/common-16.2.7.tgz b/stable/radicale/3.0.5/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/radicale/3.0.5/ix_values.yaml b/stable/radicale/3.0.5/ix_values.yaml new file mode 100644 index 0000000000..8ea5b8196b --- /dev/null +++ b/stable/radicale/3.0.5/ix_values.yaml @@ -0,0 +1,80 @@ +image: + pullPolicy: IfNotPresent + repository: tomsquest/docker-radicale + tag: 3.1.8.3@sha256:1ce814412ee895c80a2faf109cc7e9c948f5eeef4cfbb5688375fc2d8706789a + +securityContext: + container: + capabilities: + add: + - SETUID + - SETGID + - KILL + drop: + - ALL + runAsUser: 2999 + runAsGroup: 2999 + pod: + fsGroup: 2999 + +service: + main: + ports: + main: + port: 5232 + protocol: http + +radicale: + auth: + delay: 1 + realm: Radicale - Password Required + type: htpasswd + users: [] + encoding: + request: utf-8 + stock: utf-8 + logging: + level: warning + mask_passwords: true + rights: + type: owner_only + server: + max_connections: 8 + max_content_length: 100000000 + timeout: 30 + storage: + max_sync_token_age: 2592000 + type: multifilesystem + web: + type: internal + +workload: + main: + podSpec: + containers: + main: + env: + TAKE_FILE_OWNERSHIP: false + +persistence: + config-file: + enabled: true + type: configmap + objectName: radicale-config + mountPath: /etc/radicale/config + subPath: config + readOnly: false + users: + enabled: true + type: configmap + objectName: radicale-users + mountPath: /etc/radicale/users + subPath: users + readOnly: false + data: + enabled: true + mountPath: /data + +portal: + open: + enabled: true diff --git a/stable/radicale/3.0.5/questions.yaml b/stable/radicale/3.0.5/questions.yaml new file mode 100644 index 0000000000..890b8a2cbb --- /dev/null +++ b/stable/radicale/3.0.5/questions.yaml @@ -0,0 +1,2848 @@ +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: radicale + group: App Configuration + label: Radicale Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: server + label: Server Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: max_connections + label: max_connections + description: The maximum number of parallel connections. Set to 0 to disable the limit. + schema: + type: int + default: 8 + required: true + - variable: max_content_length + label: max_content_length + description: The maximum size of the request body. (bytes) + schema: + type: int + default: 100000000 + required: true + - variable: timeout + label: timeout + description: Socket timeout. (seconds) + schema: + type: int + default: 30 + required: true + - variable: encoding + label: Encoding Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: request + label: request + description: Encoding for responding requests. + schema: + type: string + default: utf-8 + required: true + - variable: stock + label: stock + description: Encoding for storing local collections. + schema: + type: string + default: utf-8 + required: true + - variable: auth + label: Auth Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: type + description: The method to verify usernames and passwords. + schema: + type: string + default: htpasswd + required: true + enum: + - value: none + description: none + - value: htpasswd + description: htpasswd + - value: http_x_remote_user + description: http_x_remote_user + - variable: delay + label: delay + description: Average delay after failed login attempts in seconds. + schema: + type: int + default: 1 + required: true + - variable: realm + label: realm + description: Message displayed in the client when a password is needed. + schema: + type: string + default: Radicale - Password Required + required: true + - variable: users + label: Basic Authentication Users (htpasswd) + schema: + type: list + default: [] + items: + - variable: usersEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: username + label: "Username" + schema: + type: string + required: true + default: "" + - variable: password + label: "Password" + schema: + type: string + required: true + private: true + default: "" + - variable: rights + label: Rights Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: type + description: The backend that is used to check the access rights of collections. + schema: + type: string + default: owner_only + required: true + enum: + - value: authenticated + description: authenticated + - value: owner_only + description: owner_only + - value: owner_write + description: owner_write + - variable: storage + label: Storage Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: type + description: The backend that is used to store data. + schema: + type: string + default: multifilesystem + required: true + enum: + - value: multifilesystem + description: multifilesystem + - value: multifilesystem_nolock + description: multifilesystem_nolock + - variable: max_sync_token_age + label: max_sync_token_age + description: Delete sync token that are older (seconds) + schema: + type: int + default: 2592000 + required: true + - variable: web + label: Web Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: type + description: The backend that provides the web interface of Radicale. + schema: + type: string + default: internal + required: true + enum: + - value: none + description: none + - value: internal + description: internal + - variable: logging + label: Logging Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: level + label: level + description: Set the logging level. + schema: + type: string + default: warning + required: true + enum: + - value: debug + description: debug + - value: info + description: info + - value: warning + description: warning + - value: error + description: error + - value: critical + description: critical + - variable: mask_passwords + label: mask_passwords + description: Don't include passwords in logs. + 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: 10255 + 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: data + label: "App Data Storage" + description: "Stores the Application Data." + 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: 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: integration + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - 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: 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: 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: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + show_if: [["advanced", "=", true]] + default: false + - 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: certificateIssuer + label: certificateIssuer + 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: 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: integration + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - 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: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - 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: 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: 2999 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID of the user running the application" + schema: + type: int + default: 2999 + # 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: 2999 + + - 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/radicale/3.0.5/templates/NOTES.txt b/stable/radicale/3.0.5/templates/NOTES.txt new file mode 100644 index 0000000000..efcb74cb77 --- /dev/null +++ b/stable/radicale/3.0.5/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/radicale/3.0.5/templates/_configmap.tpl b/stable/radicale/3.0.5/templates/_configmap.tpl new file mode 100644 index 0000000000..9f496e136f --- /dev/null +++ b/stable/radicale/3.0.5/templates/_configmap.tpl @@ -0,0 +1,161 @@ +{{/* Define the configmap */}} +{{- define "radicale.configmaps" -}} +{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} + +radicale-config: + enabled: true + data: + config: |- + # -*- mode: conf -*- + # vim:ft=cfg + + # Config file for Radicale - A simple calendar server + # + # Place it into /etc/radicale/config (global) + # or ~/.config/radicale/config (user) + # + # The current values are the default ones + + + [server] + + # CalDAV server hostnames separated by a comma + # IPv4 syntax: address:port + # IPv6 syntax: [address]:port + # For example: 0.0.0.0:9999, [::]:9999 + #hosts = localhost:5232 + hosts = "0.0.0.0:{{ .Values.service.main.ports.main.port }}" + + # Max parallel connections + #max_connections = 8 + max_connections = {{ .Values.radicale.server.max_connections }} + + # Max size of request body (bytes) + #max_content_length = 100000000 + {{- /* + Multiply by 1, so large integers aren't rendered in scientific notation + See: https://github.com/helm/helm/issues/1707#issuecomment-1167860346 + */}} + max_content_length = {{ mul .Values.radicale.server.max_content_length 1 }} + + # Socket timeout (seconds) + #timeout = 30 + timeout = {{ .Values.radicale.server.timeout }} + + # SSL flag, enable HTTPS protocol + #ssl = False + + # SSL certificate path + #certificate = /etc/ssl/radicale.cert.pem + + # SSL private key + #key = /etc/ssl/radicale.key.pem + + # CA certificate for validating clients. This can be used to secure + # TCP traffic between Radicale and a reverse proxy + #certificate_authority = + + + [encoding] + + # Encoding for responding requests + #request = utf-8 + request = {{ .Values.radicale.encoding.request }} + + # Encoding for storing local collections + #stock = utf-8 + stock = {{ .Values.radicale.encoding.stock }} + + + [auth] + + # Authentication method + # Value: none | htpasswd | remote_user | http_x_remote_user + #type = none + type = {{ .Values.radicale.auth.type }} + + # Htpasswd filename + #htpasswd_filename = /etc/radicale/users + + # Htpasswd encryption method + # Value: plain | bcrypt | md5 + # bcrypt requires the installation of radicale[bcrypt]. + #htpasswd_encryption = md5 + htpasswd_encryption = bcrypt + + # Incorrect authentication delay (seconds) + #delay = 1 + delay = {{ .Values.radicale.auth.delay }} + + # Message displayed in the client when a password is needed + #realm = Radicale - Password Required + realm = {{ .Values.radicale.auth.realm }} + + [rights] + + # Rights backend + # Value: none | authenticated | owner_only | owner_write | from_file + #type = owner_only + type = {{ .Values.radicale.rights.type }} + + # File for rights management from_file + #file = /etc/radicale/rights + + + [storage] + + # Storage backend + # Value: multifilesystem | multifilesystem_nolock + #type = multifilesystem + type = {{ .Values.radicale.storage.type }} + + # Folder for storing local collections, created if not present + #filesystem_folder = /var/lib/radicale/collections + filesystem_folder = /data/collections + + # Delete sync token that are older (seconds) + #max_sync_token_age = 2592000 + {{- /* + Multiply by 1, so large integers aren't rendered in scientific notation + See: https://github.com/helm/helm/issues/1707#issuecomment-1167860346 + */}} + max_sync_token_age = {{ mul .Values.radicale.storage.max_sync_token_age 1 }} + + # Command that is run after changes to storage + # Example: ([ -d .git ] || git init) && git add -A && (git diff --cached --quiet || git commit -m "Changes by "%(user)s) + #hook = + + + [web] + + # Web interface backend + # Value: none | internal + #type = internal + type = {{ .Values.radicale.web.type }} + + + [logging] + + # Threshold for the logger + # Value: debug | info | warning | error | critical + #level = warning + level = {{ .Values.radicale.logging.level }} + + # Don't include passwords in logs + #mask_passwords = True + mask_passwords = {{ .Values.radicale.logging.mask_passwords | ternary "True" "False" }} + + + [headers] + + # Additional HTTP headers + #Access-Control-Allow-Origin = * + +radicale-users: + enabled: true + data: + users: |- + {{- range .Values.radicale.auth.users }} + {{ htpasswd .username .password }} + {{- end }} +{{- end }} diff --git a/stable/radicale/3.0.5/templates/common.yaml b/stable/radicale/3.0.5/templates/common.yaml new file mode 100644 index 0000000000..cf181f9a73 --- /dev/null +++ b/stable/radicale/3.0.5/templates/common.yaml @@ -0,0 +1,11 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.v1.common.loader.init" . -}} + +{{/* Render configmaps for all pods */}} +{{- $configmaps := include "radicale.configmaps" . | fromYaml -}} +{{- if $configmaps -}} + {{- $_ := mustMergeOverwrite .Values.configmap $configmaps -}} +{{- end -}} + +{{/* Render the templates */}} +{{- include "tc.v1.common.loader.apply" . -}} diff --git a/stable/radicale/3.0.5/values.yaml b/stable/radicale/3.0.5/values.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/stable/radicale/item.yaml b/stable/radicale/item.yaml new file mode 100644 index 0000000000..e38684d257 --- /dev/null +++ b/stable/radicale/item.yaml @@ -0,0 +1,4 @@ +icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/radicale.png +categories: +- radicale +screenshots: [] diff --git a/stable/vikunja/9.0.29/CHANGELOG.md b/stable/vikunja/9.0.29/CHANGELOG.md deleted file mode 100644 index 2f23be29be..0000000000 --- a/stable/vikunja/9.0.29/CHANGELOG.md +++ /dev/null @@ -1,99 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [vikunja-9.0.29](https://github.com/truecharts/charts/compare/vikunja-9.0.27...vikunja-9.0.29) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) - - - - -## [vikunja-9.0.29](https://github.com/truecharts/charts/compare/vikunja-9.0.27...vikunja-9.0.29) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) - - - - -## [vikunja-9.0.28](https://github.com/truecharts/charts/compare/vikunja-9.0.27...vikunja-9.0.28) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - - - - - - - -## [vikunja-9.0.27](https://github.com/truecharts/charts/compare/vikunja-9.0.26...vikunja-9.0.27) (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 - - - - - - - -## [vikunja-9.0.26](https://github.com/truecharts/charts/compare/vikunja-9.0.25...vikunja-9.0.26) (2023-11-24) - -### Chore - -- update container image nginx to 1.25.3[@10d1f5b](https://github.com/10d1f5b) ([#15217](https://github.com/truecharts/charts/issues/15217)) - - - - -## [vikunja-9.0.25](https://github.com/truecharts/charts/compare/vikunja-9.0.24...vikunja-9.0.25) (2023-11-18) - - - - -## [vikunja-9.0.24](https://github.com/truecharts/charts/compare/vikunja-9.0.23...vikunja-9.0.24) (2023-11-17) - - - - -## [vikunja-9.0.23](https://github.com/truecharts/charts/compare/vikunja-9.0.22...vikunja-9.0.23) (2023-11-08) - -### Chore - -- update helm general non-major ([#14465](https://github.com/truecharts/charts/issues/14465)) - - - - -## [vikunja-9.0.22](https://github.com/truecharts/charts/compare/vikunja-9.0.21...vikunja-9.0.22) (2023-11-08) - -### Chore - -- update helm general non-major ([#14454](https://github.com/truecharts/charts/issues/14454)) - - - - -## [vikunja-9.0.21](https://github.com/truecharts/charts/compare/vikunja-9.0.20...vikunja-9.0.21) (2023-11-05) - -### Chore - -- update helm general non-major ([#14365](https://github.com/truecharts/charts/issues/14365)) - - - diff --git a/stable/vikunja/9.0.29/app-changelog.md b/stable/vikunja/9.0.29/app-changelog.md deleted file mode 100644 index b11f8e39d8..0000000000 --- a/stable/vikunja/9.0.29/app-changelog.md +++ /dev/null @@ -1,10 +0,0 @@ - - -## [vikunja-9.0.29](https://github.com/truecharts/charts/compare/vikunja-9.0.27...vikunja-9.0.29) (2023-12-16) - -### Chore - -- fix move mistake and cleanup metadata - - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) - - \ No newline at end of file diff --git a/stable/vikunja/9.0.30/CHANGELOG.md b/stable/vikunja/9.0.30/CHANGELOG.md new file mode 100644 index 0000000000..aee149a46e --- /dev/null +++ b/stable/vikunja/9.0.30/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [vikunja-9.0.30](https://github.com/truecharts/charts/compare/vikunja-9.0.29...vikunja-9.0.30) (2023-12-20) + +### Chore + +- update container image nginx to 1.25.3[@5040a25](https://github.com/5040a25) by renovate ([#15999](https://github.com/truecharts/charts/issues/15999)) + + + + +## [vikunja-9.0.30](https://github.com/truecharts/charts/compare/vikunja-9.0.29...vikunja-9.0.30) (2023-12-20) + +### Chore + +- update container image nginx to 1.25.3[@5040a25](https://github.com/5040a25) by renovate ([#15999](https://github.com/truecharts/charts/issues/15999)) + + + + +## [vikunja-9.0.30](https://github.com/truecharts/charts/compare/vikunja-9.0.29...vikunja-9.0.30) (2023-12-20) + +### Chore + +- update container image nginx to 1.25.3[@5040a25](https://github.com/5040a25) by renovate ([#15999](https://github.com/truecharts/charts/issues/15999)) + + + + +## [vikunja-9.0.30](https://github.com/truecharts/charts/compare/vikunja-9.0.29...vikunja-9.0.30) (2023-12-20) + +### Chore + +- update container image nginx to 1.25.3[@5040a25](https://github.com/5040a25) by renovate ([#15999](https://github.com/truecharts/charts/issues/15999)) + + + + +## [vikunja-9.0.30](https://github.com/truecharts/charts/compare/vikunja-9.0.29...vikunja-9.0.30) (2023-12-20) + +### Chore + +- update container image nginx to 1.25.3[@5040a25](https://github.com/5040a25) by renovate ([#15999](https://github.com/truecharts/charts/issues/15999)) + + + + +## [vikunja-9.0.30](https://github.com/truecharts/charts/compare/vikunja-9.0.29...vikunja-9.0.30) (2023-12-20) + +### Chore + +- update container image nginx to 1.25.3[@5040a25](https://github.com/5040a25) by renovate ([#15999](https://github.com/truecharts/charts/issues/15999)) + + + + +## [vikunja-9.0.30](https://github.com/truecharts/charts/compare/vikunja-9.0.29...vikunja-9.0.30) (2023-12-20) + +### Chore + +- update container image nginx to 1.25.3[@5040a25](https://github.com/5040a25) by renovate ([#15999](https://github.com/truecharts/charts/issues/15999)) + + + + +## [vikunja-9.0.30](https://github.com/truecharts/charts/compare/vikunja-9.0.29...vikunja-9.0.30) (2023-12-20) + +### Chore + +- update container image nginx to 1.25.3[@5040a25](https://github.com/5040a25) by renovate ([#15999](https://github.com/truecharts/charts/issues/15999)) + + + + +## [vikunja-9.0.30](https://github.com/truecharts/charts/compare/vikunja-9.0.29...vikunja-9.0.30) (2023-12-20) + +### Chore + +- update container image nginx to 1.25.3[@5040a25](https://github.com/5040a25) by renovate ([#15999](https://github.com/truecharts/charts/issues/15999)) + + + + +## [vikunja-9.0.30](https://github.com/truecharts/charts/compare/vikunja-9.0.29...vikunja-9.0.30) (2023-12-20) + +### Chore + +- update container image nginx to 1.25.3[@5040a25](https://github.com/5040a25) by renovate ([#15999](https://github.com/truecharts/charts/issues/15999)) + + + + +## [vikunja-9.0.30](https://github.com/truecharts/charts/compare/vikunja-9.0.29...vikunja-9.0.30) (2023-12-20) + +### Chore diff --git a/stable/vikunja/9.0.29/Chart.yaml b/stable/vikunja/9.0.30/Chart.yaml similarity index 90% rename from stable/vikunja/9.0.29/Chart.yaml rename to stable/vikunja/9.0.30/Chart.yaml index a7187a0630..74792deca8 100644 --- a/stable/vikunja/9.0.29/Chart.yaml +++ b/stable/vikunja/9.0.30/Chart.yaml @@ -1,7 +1,7 @@ kubeVersion: ">=1.24.0-0" apiVersion: v2 name: vikunja -version: 9.0.29 +version: 9.0.30 appVersion: 0.21.0 description: The to-do app to organize your life. home: https://truecharts.org/charts/stable/vikunja @@ -10,7 +10,7 @@ deprecated: false sources: - https://vikunja.io/docs - https://github.com/truecharts/charts/tree/master/charts/stable/vikunja - - https://hub.docker.com/r/vikunja/api + - https://hub.docker.com/_/nginx maintainers: - name: TrueCharts email: info@truecharts.org @@ -33,8 +33,8 @@ dependencies: tags: [] import-values: [] annotations: - max_scale_version: 23.10.1 - min_scale_version: 22.12.4 + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 truecharts.org/SCALE-support: "true" truecharts.org/category: productivity truecharts.org/max_helm_version: "3.13" diff --git a/stable/vikunja/9.0.29/README.md b/stable/vikunja/9.0.30/README.md similarity index 100% rename from stable/vikunja/9.0.29/README.md rename to stable/vikunja/9.0.30/README.md diff --git a/stable/vikunja/9.0.30/app-changelog.md b/stable/vikunja/9.0.30/app-changelog.md new file mode 100644 index 0000000000..5abec0e95e --- /dev/null +++ b/stable/vikunja/9.0.30/app-changelog.md @@ -0,0 +1,9 @@ + + +## [vikunja-9.0.30](https://github.com/truecharts/charts/compare/vikunja-9.0.29...vikunja-9.0.30) (2023-12-20) + +### Chore + +- update container image nginx to 1.25.3[@5040a25](https://github.com/5040a25) by renovate ([#15999](https://github.com/truecharts/charts/issues/15999)) + + \ No newline at end of file diff --git a/stable/vikunja/9.0.29/app-readme.md b/stable/vikunja/9.0.30/app-readme.md similarity index 100% rename from stable/vikunja/9.0.29/app-readme.md rename to stable/vikunja/9.0.30/app-readme.md diff --git a/stable/vikunja/9.0.30/charts/common-14.5.0.tgz b/stable/vikunja/9.0.30/charts/common-14.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..724185dc7b80b952cd847d355da36fc6d9a5b4e6 GIT binary patch literal 74411 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

E% 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.24.0-0" apiVersion: v2 name: ztcuui-aio -version: 5.0.14 -appVersion: 1.2.16 +version: 5.0.15 +appVersion: 2023.5.2-r1@sha256:d6aa0e1711596c74bb4401e19e33649b1534d41bdab1356f4e804884994fb74a description: ZeroTier network controller user interface in a Docker container home: https://truecharts.org/charts/stable/ztcuui-aio icon: https://truecharts.org/img/hotlink-ok/chart-icons/ztcuui-aio.png deprecated: false sources: - - https://github.com/key-networks/ztncui-aio + - https://github.com/kmahyyg/ztncui-aio - https://github.com/truecharts/charts/tree/master/charts/stable/ztcuui-aio - - https://hub.docker.com/r/keynetworks/ztncui + - https://ghcr.io/kmahyyg/ztncui-aio maintainers: - name: TrueCharts email: info@truecharts.org @@ -19,15 +19,15 @@ keywords: - ztcuui-aio dependencies: - name: common - version: 14.5.0 + version: 16.0.0 repository: https://library-charts.truecharts.org condition: "" alias: "" tags: [] import-values: [] annotations: - max_scale_version: 23.10.1 - min_scale_version: 22.12.4 + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 truecharts.org/SCALE-support: "true" truecharts.org/category: network truecharts.org/max_helm_version: "3.13" diff --git a/stable/ztcuui-aio/5.0.14/README.md b/stable/ztcuui-aio/5.0.15/README.md similarity index 100% rename from stable/ztcuui-aio/5.0.14/README.md rename to stable/ztcuui-aio/5.0.15/README.md diff --git a/stable/ztcuui-aio/5.0.15/app-changelog.md b/stable/ztcuui-aio/5.0.15/app-changelog.md new file mode 100644 index 0000000000..8cdf1a5580 --- /dev/null +++ b/stable/ztcuui-aio/5.0.15/app-changelog.md @@ -0,0 +1,4 @@ + + +## [ztcuui-aio-5.0.15](https://github.com/truecharts/charts/compare/ztcuui-aio-5.0.14...ztcuui-aio-5.0.15) (2023-12-20) + diff --git a/stable/ztcuui-aio/5.0.14/app-readme.md b/stable/ztcuui-aio/5.0.15/app-readme.md similarity index 100% rename from stable/ztcuui-aio/5.0.14/app-readme.md rename to stable/ztcuui-aio/5.0.15/app-readme.md diff --git a/stable/ztcuui-aio/5.0.15/charts/common-16.0.0.tgz b/stable/ztcuui-aio/5.0.15/charts/common-16.0.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..fd9cb01b1ae0d265210b73ec8daa9cb63093dad1 GIT binary patch literal 92778 zcmV)ZK&!tWiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POwyavM34FpBrzdXtvXFaj9q;~6TS>h+k?wPaS zh6bzxNvw*6>H>-~+vAAy8t3)SlbpaEbt5T>lI?ER?zF`!AdyJiG81|6$ZST!{gWw- zS$zR#!4I2%8jVJy*Xf9V8;wTx-$t+9{Gr+Dw%e^%v(at-&}g`!akU{Dlm%7&j2z+S;a@xi*dxnyPuNK<9~qwk75`vz?j6~ zCQgu;K(sO?Gt>uD#vl> z(a%(n#T5o@5uv_DuQJ!Ta5UU5(xVKds*n%MU}7T6eJcyG{$$!A>GJArI6m^ z5YLhs2#JpdyaQq+DgexIc&Xm?!BL~p&^69NI0}$xiIE7*2xTB5J_RuJ0pB6z{snO8 z1&NQt3Gl*bB5L~tQ9&*F4FSqv=+|ICLL^{RfB5WzUL%GRbP_;HFX0RUHiZn_;~)Sd1QLpTaa6z{0E3SwRMbC#A^%9`D2|f= z`5;0u|0)qM;M~S|>mZ8B2m!u*R)G9*Beqh$>1N9g<__;)0W z^1u3^*=W4O*@7QWZgj!9$CeZvd_39bg^xWCQ3~D@Urt-`Q~crs06+~~Bk2DcV}`Cm zFNc^K6g)#D5$B*B81-9%2=E+*h^k)z;1DwmgHsg1#SnQU^eIPDeT`6ziJyP3+Atrw z>irnvAc@hSTjK&U0Y@Uw^|(WB7mmSEE=#irL-LZ6D< zXFf#%_ORG+#olc8RI!}-MhgUg14tMwD(M|pf;gYS3DRc^=0D7WmY-r25sDd!7Zu?A z;Oo+h>zKH_UZYN5D07N9f9!He_ z8i*f#a6Y~yY!D-gLRP5=R8KgU`ib$b9uEc|t}oOX6cPXA{PbG=qI1vus;CptOJd9x zKmn*w^}+!t3ZCdq9_SKc-$$RA*=X%KP`=%oG8JI|mh&%8!ejb@qPP#by+ixzT}+b5 zd555X6$XoILfB6@Ky*PFnwbL*a8$_sAjWeXpb0vo9t@zACiD)+Hw*RIci&Rvd1Mw1 zVlu`7(yK!9&DTlDXS&*c#3v6%aD)TQFfuC|`hFk$*MF;DeoV~b;yc>$#fAE{1Ad*N zP)u@0Bno=~s}l?+jLaaz9t?tosQ`T+ocw(C>*XF8p51&nKNbJJ*0s~e3tru@Jk_D*0#T@s18F!*qO zT0H7&jXMwk?1&1OAKo7ie|Zv60ih47jYg|w*slTc%O|YjK1!fR#Fq<5j^H>u5!H*6 zDGVn_FU_lv&&&6i&LH!qa#kf#6rdRj84N@XYGw#sP>%)jw_K0ch>|4coZQMj$GRxT zFTgXbk3BC+`k>QjG-l%G49&#$b|}u`82y$Ynkw4N6zn$M<4VOebQMV!vI4;6$Me(k z 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 literal 0 HcmV?d00001 diff --git a/stable/ztcuui-aio/5.0.14/ix_values.yaml b/stable/ztcuui-aio/5.0.15/ix_values.yaml similarity index 79% rename from stable/ztcuui-aio/5.0.14/ix_values.yaml rename to stable/ztcuui-aio/5.0.15/ix_values.yaml index f9cd8cbf16..a760e43ec7 100644 --- a/stable/ztcuui-aio/5.0.14/ix_values.yaml +++ b/stable/ztcuui-aio/5.0.15/ix_values.yaml @@ -1,43 +1,36 @@ image: - repository: keynetworks/ztncui - tag: 1.2.16@sha256:db32c0778b13f6fe10d03e2c3dad96f0b311a0f482cdc2002506f0d68c27b73a + repository: ghcr.io/kmahyyg/ztncui-aio + tag: v2023.5.2-r1@sha256:d6aa0e1711596c74bb4401e19e33649b1534d41bdab1356f4e804884994fb74a pullPolicy: IfNotPresent -service: - main: - ports: - main: - port: 10258 - other: - enabled: true - ports: - other: - enabled: true - port: 3180 - targetPort: 3180 - other2: - enabled: true - ports: - other2: - enabled: true - protocol: udp - port: 9993 - targetPort: 9993 -persistence: - config: - enabled: true - mountPath: /opt/key-networks/ztncui/etc - zerotier: - enabled: true - mountPath: /var/lib/zerotier-one -portal: - open: - enabled: true + securityContext: container: readOnlyRootFilesystem: false runAsNonRoot: false runAsUser: 0 runAsGroup: 0 + +service: + main: + ports: + main: + port: 10258 + server: + enabled: true + ports: + web: + enabled: true + port: 3180 + targetPort: 3180 + planet: + enabled: true + ports: + planet: + enabled: true + protocol: udp + port: 9993 + targetPort: 9993 + workload: main: podSpec: @@ -49,3 +42,18 @@ workload: NODE_ENV: "production" MYDOMAIN: "test.truecharts.org" ZTNCUI_PASSWD: "CHANGEME" + +persistence: + config: + enabled: true + mountPath: /opt/key-networks/ztncui/etc + zerotier: + enabled: true + mountPath: /var/lib/zerotier-one + mkworld: + enabled: true + mountPath: /etc/zt-mkworld + +portal: + open: + enabled: true diff --git a/stable/ztcuui-aio/5.0.14/questions.yaml b/stable/ztcuui-aio/5.0.15/questions.yaml similarity index 91% rename from stable/ztcuui-aio/5.0.14/questions.yaml rename to stable/ztcuui-aio/5.0.15/questions.yaml index 2aa8d2b1d6..d8a954d1da 100644 --- a/stable/ztcuui-aio/5.0.14/questions.yaml +++ b/stable/ztcuui-aio/5.0.15/questions.yaml @@ -342,9 +342,9 @@ questions: type: int default: 10257 required: true - - variable: other - label: "other Service" - description: "other service" + - variable: server + label: "Server Service" + description: "Server Service" schema: additional_attrs: true type: dict @@ -379,8 +379,8 @@ questions: additional_attrs: true type: dict attrs: - - variable: other - label: "other Service Port Configuration" + - variable: web + label: "Web Service Port Configuration" schema: additional_attrs: true type: dict @@ -392,9 +392,9 @@ questions: type: int default: 3180 required: true - - variable: other2 - label: "other Service" - description: "other service" + - variable: planet + label: "Planet Service" + description: "Planet Service" schema: additional_attrs: true type: dict @@ -671,7 +671,8 @@ questions: type: dict attrs: - variable: config - label: "config Storage" + label: App Config Storage + description: Stores the Application Config. schema: additional_attrs: true type: dict @@ -943,7 +944,281 @@ questions: type: string default: "" - variable: zerotier - label: "Zerotier Storage" + label: App Zerotier Storage + description: Stores the Application Zerotier. + 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: mkworld + label: App Mkworld Storage + description: Stores the Application Mkworld. schema: additional_attrs: true type: dict diff --git a/stable/ztcuui-aio/5.0.15/templates/NOTES.txt b/stable/ztcuui-aio/5.0.15/templates/NOTES.txt new file mode 100644 index 0000000000..efcb74cb77 --- /dev/null +++ b/stable/ztcuui-aio/5.0.15/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/ztcuui-aio/5.0.15/templates/common.yaml b/stable/ztcuui-aio/5.0.15/templates/common.yaml new file mode 100644 index 0000000000..b51394e00a --- /dev/null +++ b/stable/ztcuui-aio/5.0.15/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.v1.common.loader.all" . }} diff --git a/stable/ztcuui-aio/5.0.15/values.yaml b/stable/ztcuui-aio/5.0.15/values.yaml new file mode 100644 index 0000000000..e69de29bb2