From b92489e1c9bbc14d623ad2de1c2fd549316d153a Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Mon, 12 Feb 2024 01:08:24 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- enterprise/grafana/12.1.2/CHANGELOG.md | 99 + enterprise/grafana/12.1.2/Chart.yaml | 41 + enterprise/grafana/12.1.2/LICENSE | 106 + .../grafana/12.1.2}/README.md | 2 +- enterprise/grafana/12.1.2/app-changelog.md | 9 + enterprise/grafana/12.1.2/app-readme.md | 8 + .../grafana/12.1.2}/charts/common-17.2.30.tgz | Bin enterprise/grafana/12.1.2/ix_values.yaml | 328 ++ enterprise/grafana/12.1.2/questions.yaml | 2905 +++++++++++++++ .../grafana/12.1.2}/templates/NOTES.txt | 0 .../grafana/12.1.2}/templates/common.yaml | 0 .../grafana/12.1.2}/values.yaml | 0 stable/drawio/9.1.0/app-changelog.md | 9 - stable/drawio/{9.1.0 => 9.1.1}/CHANGELOG.md | 18 +- stable/drawio/{9.1.0 => 9.1.1}/Chart.yaml | 4 +- stable/drawio/{9.1.0 => 9.1.1}/README.md | 0 stable/drawio/9.1.1/app-changelog.md | 9 + stable/drawio/{9.1.0 => 9.1.1}/app-readme.md | 0 .../9.1.1}/charts/common-17.2.30.tgz | Bin stable/drawio/{9.1.0 => 9.1.1}/ix_values.yaml | 2 +- stable/drawio/{9.1.0 => 9.1.1}/questions.yaml | 2 + .../9.1.1}/templates/NOTES.txt | 0 .../9.1.1}/templates/common.yaml | 0 .../8.2.12 => drawio/9.1.1}/values.yaml | 0 stable/emulatorjs/8.2.12/app-changelog.md | 9 - .../{8.2.12 => 8.2.13}/CHANGELOG.md | 18 +- .../emulatorjs/{8.2.12 => 8.2.13}/Chart.yaml | 4 +- .../emulatorjs/{8.2.12 => 8.2.13}/README.md | 0 stable/emulatorjs/8.2.13/app-changelog.md | 9 + .../{8.2.12 => 8.2.13}/app-readme.md | 0 .../8.2.13}/charts/common-17.2.30.tgz | Bin .../{8.2.12 => 8.2.13}/ix_values.yaml | 2 +- .../{8.2.12 => 8.2.13}/questions.yaml | 2 + .../8.2.13}/templates/NOTES.txt | 0 .../8.2.13}/templates/common.yaml | 0 .../8.1.13 => emulatorjs/8.2.13}/values.yaml | 0 stable/kavita/8.1.13/app-changelog.md | 9 - stable/kavita/{8.1.13 => 8.1.14}/CHANGELOG.md | 18 +- stable/kavita/{8.1.13 => 8.1.14}/Chart.yaml | 4 +- stable/kavita/{8.1.13 => 8.1.14}/README.md | 0 stable/kavita/8.1.14/app-changelog.md | 9 + .../kavita/{8.1.13 => 8.1.14}/app-readme.md | 0 .../8.1.14}/charts/common-17.2.30.tgz | Bin .../kavita/{8.1.13 => 8.1.14}/ix_values.yaml | 2 +- .../kavita/{8.1.13 => 8.1.14}/questions.yaml | 2 + .../8.1.14}/templates/NOTES.txt | 0 .../8.1.14}/templates/common.yaml | 0 .../1.0.0 => kavita/8.1.14}/values.yaml | 0 stable/maintainerr/1.0.0/CHANGELOG.md | 10 - stable/maintainerr/1.0.0/app-changelog.md | 3 - stable/maintainerr/1.0.1/CHANGELOG.md | 19 + .../maintainerr/{1.0.0 => 1.0.1}/Chart.yaml | 4 +- stable/maintainerr/1.0.1/README.md | 28 + stable/maintainerr/1.0.1/app-changelog.md | 9 + .../{1.0.0 => 1.0.1}/app-readme.md | 0 .../charts/common-17.2.21.tgz | Bin .../{1.0.0 => 1.0.1}/ix_values.yaml | 2 +- .../{1.0.0 => 1.0.1}/questions.yaml | 0 .../1.0.1}/templates/NOTES.txt | 0 .../1.0.1}/templates/common.yaml | 0 .../2.1.14 => maintainerr/1.0.1}/values.yaml | 0 stable/metabase/2.1.14/app-changelog.md | 9 - .../metabase/{2.1.14 => 2.1.15}/CHANGELOG.md | 18 +- stable/metabase/{2.1.14 => 2.1.15}/Chart.yaml | 4 +- stable/metabase/{2.1.14 => 2.1.15}/README.md | 0 stable/metabase/2.1.15/app-changelog.md | 9 + .../metabase/{2.1.14 => 2.1.15}/app-readme.md | 0 .../2.1.15}/charts/common-17.2.30.tgz | Bin .../{2.1.14 => 2.1.15}/ix_values.yaml | 2 +- .../{2.1.14 => 2.1.15}/questions.yaml | 2 + .../2.1.15}/templates/NOTES.txt | 0 .../2.1.15}/templates/common.yaml | 0 .../8.1.11 => metabase/2.1.15}/values.yaml | 0 stable/minio/10.1.1/CHANGELOG.md | 99 + stable/minio/10.1.1/Chart.yaml | 38 + stable/minio/10.1.1/README.md | 28 + stable/minio/10.1.1/app-changelog.md | 9 + stable/minio/10.1.1/app-readme.md | 8 + .../10.1.1}/charts/common-17.2.30.tgz | Bin stable/minio/10.1.1/ix_values.yaml | 63 + stable/minio/10.1.1/questions.yaml | 3196 +++++++++++++++++ .../10.1.1}/templates/NOTES.txt | 0 .../10.1.1}/templates/common.yaml | 0 .../1.0.6 => minio/10.1.1}/values.yaml | 0 stable/netdata/8.1.11/app-changelog.md | 9 - .../netdata/{8.1.11 => 8.1.12}/CHANGELOG.md | 18 +- stable/netdata/{8.1.11 => 8.1.12}/Chart.yaml | 4 +- stable/netdata/{8.1.11 => 8.1.12}/README.md | 0 stable/netdata/8.1.12/app-changelog.md | 9 + .../netdata/{8.1.11 => 8.1.12}/app-readme.md | 0 .../8.1.12}/charts/common-17.2.30.tgz | Bin .../netdata/{8.1.11 => 8.1.12}/ix_values.yaml | 2 +- .../netdata/{8.1.11 => 8.1.12}/questions.yaml | 2 + .../8.1.12}/templates/NOTES.txt | 0 .../{8.1.11 => 8.1.12}/templates/common.yaml | 0 .../8.1.15 => netdata/8.1.12}/values.yaml | 0 stable/ollama/1.0.6/app-changelog.md | 3 - stable/ollama/{1.0.6 => 1.0.7}/CHANGELOG.md | 9 + stable/ollama/{1.0.6 => 1.0.7}/Chart.yaml | 4 +- stable/ollama/{1.0.6 => 1.0.7}/README.md | 0 stable/ollama/1.0.7/app-changelog.md | 9 + stable/ollama/{1.0.6 => 1.0.7}/app-readme.md | 0 .../1.0.7}/charts/common-17.2.30.tgz | Bin stable/ollama/{1.0.6 => 1.0.7}/ix_values.yaml | 2 +- stable/ollama/{1.0.6 => 1.0.7}/questions.yaml | 0 .../1.0.7}/templates/NOTES.txt | 0 .../1.0.7}/templates/common.yaml | 0 .../6.2.12 => ollama/1.0.7}/values.yaml | 0 .../openvscode-server/8.1.15/app-changelog.md | 9 - .../{8.1.15 => 8.1.16}/CHANGELOG.md | 18 +- .../{8.1.15 => 8.1.16}/Chart.yaml | 4 +- .../{8.1.15 => 8.1.16}/README.md | 0 .../openvscode-server/8.1.16/app-changelog.md | 9 + .../{8.1.15 => 8.1.16}/app-readme.md | 0 .../8.1.16}/charts/common-17.2.30.tgz | Bin .../{8.1.15 => 8.1.16}/ix_values.yaml | 2 +- .../{8.1.15 => 8.1.16}/questions.yaml | 2 + .../8.1.16}/templates/NOTES.txt | 0 .../8.1.16/templates/common.yaml | 1 + .../8.1.16}/values.yaml | 0 stable/plextraktsync/6.2.12/app-changelog.md | 9 - .../{6.2.12 => 6.2.13}/CHANGELOG.md | 18 +- .../{6.2.12 => 6.2.13}/Chart.yaml | 4 +- .../{6.2.12 => 6.2.13}/README.md | 0 stable/plextraktsync/6.2.13/app-changelog.md | 9 + .../{6.2.12 => 6.2.13}/app-readme.md | 0 .../6.2.13}/charts/common-17.2.30.tgz | Bin .../{6.2.12 => 6.2.13}/ix_values.yaml | 2 +- .../{6.2.12 => 6.2.13}/questions.yaml | 2 + .../6.2.13}/templates/NOTES.txt | 0 .../{6.2.12 => 6.2.13}/templates/_cronjob.tpl | 0 .../{6.2.12 => 6.2.13}/templates/common.yaml | 0 .../6.2.13}/values.yaml | 0 stable/prowlarr/14.3.5/CHANGELOG.md | 99 + stable/prowlarr/14.3.5/Chart.yaml | 40 + stable/prowlarr/14.3.5/README.md | 28 + stable/prowlarr/14.3.5/app-changelog.md | 9 + stable/prowlarr/14.3.5/app-readme.md | 8 + .../14.3.5}/charts/common-17.2.30.tgz | Bin stable/prowlarr/14.3.5/ix_values.yaml | 107 + stable/prowlarr/14.3.5/questions.yaml | 2887 +++++++++++++++ .../14.3.5}/templates/NOTES.txt | 0 stable/prowlarr/14.3.5/templates/common.yaml | 11 + .../9.0.7 => prowlarr/14.3.5}/values.yaml | 0 stable/qbitrr/3.2.8/app-changelog.md | 9 - stable/qbitrr/{3.2.8 => 3.2.9}/CHANGELOG.md | 18 +- stable/qbitrr/{3.2.8 => 3.2.9}/Chart.yaml | 4 +- stable/qbitrr/{3.2.8 => 3.2.9}/README.md | 0 stable/qbitrr/3.2.9/app-changelog.md | 9 + stable/qbitrr/{3.2.8 => 3.2.9}/app-readme.md | 0 stable/qbitrr/3.2.9/charts/common-17.2.30.tgz | Bin 0 -> 98054 bytes stable/qbitrr/{3.2.8 => 3.2.9}/ix_values.yaml | 2 +- stable/qbitrr/{3.2.8 => 3.2.9}/questions.yaml | 2 + stable/qbitrr/3.2.9/templates/NOTES.txt | 1 + .../{3.2.8 => 3.2.9}/templates/common.yaml | 0 stable/qbitrr/3.2.9/values.yaml | 0 stable/rdesktop/7.1.152/app-changelog.md | 9 - .../{7.1.152 => 7.1.176}/CHANGELOG.md | 18 +- .../rdesktop/{7.1.152 => 7.1.176}/Chart.yaml | 2 +- .../rdesktop/{7.1.152 => 7.1.176}/README.md | 0 stable/rdesktop/7.1.176/app-changelog.md | 9 + .../{7.1.152 => 7.1.176}/app-readme.md | 0 .../7.1.176/charts/common-17.2.30.tgz | Bin 0 -> 98054 bytes .../{7.1.152 => 7.1.176}/ix_values.yaml | 48 +- .../{7.1.152 => 7.1.176}/questions.yaml | 2 + stable/rdesktop/7.1.176/templates/NOTES.txt | 1 + .../templates/common.yaml | 0 stable/rdesktop/7.1.176/values.yaml | 0 stable/syncthing/17.1.13/CHANGELOG.md | 99 + stable/syncthing/17.1.13/Chart.yaml | 37 + stable/syncthing/17.1.13/README.md | 28 + stable/syncthing/17.1.13/app-changelog.md | 9 + stable/syncthing/17.1.13/app-readme.md | 8 + .../17.1.13/charts/common-17.2.30.tgz | Bin 0 -> 98054 bytes stable/syncthing/17.1.13/ix_values.yaml | 52 + stable/syncthing/17.1.13/questions.yaml | 2980 +++++++++++++++ stable/syncthing/17.1.13/templates/NOTES.txt | 1 + .../syncthing/17.1.13/templates/common.yaml | 1 + stable/syncthing/17.1.13/values.yaml | 0 .../tinymediamanager/9.0.7/app-changelog.md | 9 - .../{9.0.7 => 9.0.8}/CHANGELOG.md | 18 +- .../{9.0.7 => 9.0.8}/Chart.yaml | 4 +- .../{9.0.7 => 9.0.8}/README.md | 0 .../tinymediamanager/9.0.8/app-changelog.md | 9 + .../{9.0.7 => 9.0.8}/app-readme.md | 0 .../9.0.8/charts/common-17.2.30.tgz | Bin 0 -> 98054 bytes .../{9.0.7 => 9.0.8}/ix_values.yaml | 2 +- .../{9.0.7 => 9.0.8}/questions.yaml | 2 + .../9.0.8/templates/NOTES.txt | 1 + .../9.0.8/templates/common.yaml | 1 + stable/tinymediamanager/9.0.8/values.yaml | 0 stable/zigbee2mqtt/10.4.3/CHANGELOG.md | 99 + stable/zigbee2mqtt/10.4.3/Chart.yaml | 38 + stable/zigbee2mqtt/10.4.3/README.md | 28 + stable/zigbee2mqtt/10.4.3/SKIPINSTALL | 0 stable/zigbee2mqtt/10.4.3/app-changelog.md | 9 + stable/zigbee2mqtt/10.4.3/app-readme.md | 8 + .../10.4.3/charts/common-17.2.30.tgz | Bin 0 -> 98054 bytes stable/zigbee2mqtt/10.4.3/ix_values.yaml | 92 + stable/zigbee2mqtt/10.4.3/questions.yaml | 2901 +++++++++++++++ stable/zigbee2mqtt/10.4.3/templates/NOTES.txt | 1 + .../zigbee2mqtt/10.4.3/templates/common.yaml | 5 + stable/zigbee2mqtt/10.4.3/values.yaml | 0 203 files changed, 16860 insertions(+), 255 deletions(-) create mode 100644 enterprise/grafana/12.1.2/CHANGELOG.md create mode 100644 enterprise/grafana/12.1.2/Chart.yaml create mode 100644 enterprise/grafana/12.1.2/LICENSE rename {stable/maintainerr/1.0.0 => enterprise/grafana/12.1.2}/README.md (92%) create mode 100644 enterprise/grafana/12.1.2/app-changelog.md create mode 100644 enterprise/grafana/12.1.2/app-readme.md rename {stable/drawio/9.1.0 => enterprise/grafana/12.1.2}/charts/common-17.2.30.tgz (100%) create mode 100644 enterprise/grafana/12.1.2/ix_values.yaml create mode 100644 enterprise/grafana/12.1.2/questions.yaml rename {stable/drawio/9.1.0 => enterprise/grafana/12.1.2}/templates/NOTES.txt (100%) rename {stable/drawio/9.1.0 => enterprise/grafana/12.1.2}/templates/common.yaml (100%) rename {stable/drawio/9.1.0 => enterprise/grafana/12.1.2}/values.yaml (100%) delete mode 100644 stable/drawio/9.1.0/app-changelog.md rename stable/drawio/{9.1.0 => 9.1.1}/CHANGELOG.md (90%) rename stable/drawio/{9.1.0 => 9.1.1}/Chart.yaml (96%) rename stable/drawio/{9.1.0 => 9.1.1}/README.md (100%) create mode 100644 stable/drawio/9.1.1/app-changelog.md rename stable/drawio/{9.1.0 => 9.1.1}/app-readme.md (100%) rename stable/{emulatorjs/8.2.12 => drawio/9.1.1}/charts/common-17.2.30.tgz (100%) rename stable/drawio/{9.1.0 => 9.1.1}/ix_values.yaml (87%) rename stable/drawio/{9.1.0 => 9.1.1}/questions.yaml (99%) rename stable/{emulatorjs/8.2.12 => drawio/9.1.1}/templates/NOTES.txt (100%) rename stable/{emulatorjs/8.2.12 => drawio/9.1.1}/templates/common.yaml (100%) rename stable/{emulatorjs/8.2.12 => drawio/9.1.1}/values.yaml (100%) delete mode 100644 stable/emulatorjs/8.2.12/app-changelog.md rename stable/emulatorjs/{8.2.12 => 8.2.13}/CHANGELOG.md (92%) rename stable/emulatorjs/{8.2.12 => 8.2.13}/Chart.yaml (96%) rename stable/emulatorjs/{8.2.12 => 8.2.13}/README.md (100%) create mode 100644 stable/emulatorjs/8.2.13/app-changelog.md rename stable/emulatorjs/{8.2.12 => 8.2.13}/app-readme.md (100%) rename stable/{kavita/8.1.13 => emulatorjs/8.2.13}/charts/common-17.2.30.tgz (100%) rename stable/emulatorjs/{8.2.12 => 8.2.13}/ix_values.yaml (92%) rename stable/emulatorjs/{8.2.12 => 8.2.13}/questions.yaml (99%) rename stable/{kavita/8.1.13 => emulatorjs/8.2.13}/templates/NOTES.txt (100%) rename stable/{kavita/8.1.13 => emulatorjs/8.2.13}/templates/common.yaml (100%) rename stable/{kavita/8.1.13 => emulatorjs/8.2.13}/values.yaml (100%) delete mode 100644 stable/kavita/8.1.13/app-changelog.md rename stable/kavita/{8.1.13 => 8.1.14}/CHANGELOG.md (90%) rename stable/kavita/{8.1.13 => 8.1.14}/Chart.yaml (96%) rename stable/kavita/{8.1.13 => 8.1.14}/README.md (100%) create mode 100644 stable/kavita/8.1.14/app-changelog.md rename stable/kavita/{8.1.13 => 8.1.14}/app-readme.md (100%) rename stable/{metabase/2.1.14 => kavita/8.1.14}/charts/common-17.2.30.tgz (100%) rename stable/kavita/{8.1.13 => 8.1.14}/ix_values.yaml (84%) rename stable/kavita/{8.1.13 => 8.1.14}/questions.yaml (99%) rename stable/{maintainerr/1.0.0 => kavita/8.1.14}/templates/NOTES.txt (100%) rename stable/{maintainerr/1.0.0 => kavita/8.1.14}/templates/common.yaml (100%) rename stable/{maintainerr/1.0.0 => kavita/8.1.14}/values.yaml (100%) delete mode 100644 stable/maintainerr/1.0.0/CHANGELOG.md delete mode 100644 stable/maintainerr/1.0.0/app-changelog.md create mode 100644 stable/maintainerr/1.0.1/CHANGELOG.md rename stable/maintainerr/{1.0.0 => 1.0.1}/Chart.yaml (96%) create mode 100644 stable/maintainerr/1.0.1/README.md create mode 100644 stable/maintainerr/1.0.1/app-changelog.md rename stable/maintainerr/{1.0.0 => 1.0.1}/app-readme.md (100%) rename stable/maintainerr/{1.0.0 => 1.0.1}/charts/common-17.2.21.tgz (100%) rename stable/maintainerr/{1.0.0 => 1.0.1}/ix_values.yaml (81%) rename stable/maintainerr/{1.0.0 => 1.0.1}/questions.yaml (100%) rename stable/{metabase/2.1.14 => maintainerr/1.0.1}/templates/NOTES.txt (100%) rename stable/{metabase/2.1.14 => maintainerr/1.0.1}/templates/common.yaml (100%) rename stable/{metabase/2.1.14 => maintainerr/1.0.1}/values.yaml (100%) delete mode 100644 stable/metabase/2.1.14/app-changelog.md rename stable/metabase/{2.1.14 => 2.1.15}/CHANGELOG.md (90%) rename stable/metabase/{2.1.14 => 2.1.15}/Chart.yaml (96%) rename stable/metabase/{2.1.14 => 2.1.15}/README.md (100%) create mode 100644 stable/metabase/2.1.15/app-changelog.md rename stable/metabase/{2.1.14 => 2.1.15}/app-readme.md (100%) rename stable/{netdata/8.1.11 => metabase/2.1.15}/charts/common-17.2.30.tgz (100%) rename stable/metabase/{2.1.14 => 2.1.15}/ix_values.yaml (91%) rename stable/metabase/{2.1.14 => 2.1.15}/questions.yaml (99%) rename stable/{netdata/8.1.11 => metabase/2.1.15}/templates/NOTES.txt (100%) rename stable/{ollama/1.0.6 => metabase/2.1.15}/templates/common.yaml (100%) rename stable/{netdata/8.1.11 => metabase/2.1.15}/values.yaml (100%) create mode 100644 stable/minio/10.1.1/CHANGELOG.md create mode 100644 stable/minio/10.1.1/Chart.yaml create mode 100644 stable/minio/10.1.1/README.md create mode 100644 stable/minio/10.1.1/app-changelog.md create mode 100644 stable/minio/10.1.1/app-readme.md rename stable/{ollama/1.0.6 => minio/10.1.1}/charts/common-17.2.30.tgz (100%) create mode 100644 stable/minio/10.1.1/ix_values.yaml create mode 100644 stable/minio/10.1.1/questions.yaml rename stable/{ollama/1.0.6 => minio/10.1.1}/templates/NOTES.txt (100%) rename stable/{openvscode-server/8.1.15 => minio/10.1.1}/templates/common.yaml (100%) rename stable/{ollama/1.0.6 => minio/10.1.1}/values.yaml (100%) delete mode 100644 stable/netdata/8.1.11/app-changelog.md rename stable/netdata/{8.1.11 => 8.1.12}/CHANGELOG.md (84%) rename stable/netdata/{8.1.11 => 8.1.12}/Chart.yaml (96%) rename stable/netdata/{8.1.11 => 8.1.12}/README.md (100%) create mode 100644 stable/netdata/8.1.12/app-changelog.md rename stable/netdata/{8.1.11 => 8.1.12}/app-readme.md (100%) rename stable/{openvscode-server/8.1.15 => netdata/8.1.12}/charts/common-17.2.30.tgz (100%) rename stable/netdata/{8.1.11 => 8.1.12}/ix_values.yaml (98%) rename stable/netdata/{8.1.11 => 8.1.12}/questions.yaml (99%) rename stable/{openvscode-server/8.1.15 => netdata/8.1.12}/templates/NOTES.txt (100%) rename stable/netdata/{8.1.11 => 8.1.12}/templates/common.yaml (100%) rename stable/{openvscode-server/8.1.15 => netdata/8.1.12}/values.yaml (100%) delete mode 100644 stable/ollama/1.0.6/app-changelog.md rename stable/ollama/{1.0.6 => 1.0.7}/CHANGELOG.md (84%) rename stable/ollama/{1.0.6 => 1.0.7}/Chart.yaml (97%) rename stable/ollama/{1.0.6 => 1.0.7}/README.md (100%) create mode 100644 stable/ollama/1.0.7/app-changelog.md rename stable/ollama/{1.0.6 => 1.0.7}/app-readme.md (100%) rename stable/{plextraktsync/6.2.12 => ollama/1.0.7}/charts/common-17.2.30.tgz (100%) rename stable/ollama/{1.0.6 => 1.0.7}/ix_values.yaml (96%) rename stable/ollama/{1.0.6 => 1.0.7}/questions.yaml (100%) rename stable/{plextraktsync/6.2.12 => ollama/1.0.7}/templates/NOTES.txt (100%) rename stable/{tinymediamanager/9.0.7 => ollama/1.0.7}/templates/common.yaml (100%) rename stable/{plextraktsync/6.2.12 => ollama/1.0.7}/values.yaml (100%) delete mode 100644 stable/openvscode-server/8.1.15/app-changelog.md rename stable/openvscode-server/{8.1.15 => 8.1.16}/CHANGELOG.md (91%) rename stable/openvscode-server/{8.1.15 => 8.1.16}/Chart.yaml (96%) rename stable/openvscode-server/{8.1.15 => 8.1.16}/README.md (100%) create mode 100644 stable/openvscode-server/8.1.16/app-changelog.md rename stable/openvscode-server/{8.1.15 => 8.1.16}/app-readme.md (100%) rename stable/{qbitrr/3.2.8 => openvscode-server/8.1.16}/charts/common-17.2.30.tgz (100%) rename stable/openvscode-server/{8.1.15 => 8.1.16}/ix_values.yaml (85%) rename stable/openvscode-server/{8.1.15 => 8.1.16}/questions.yaml (99%) rename stable/{qbitrr/3.2.8 => openvscode-server/8.1.16}/templates/NOTES.txt (100%) create mode 100644 stable/openvscode-server/8.1.16/templates/common.yaml rename stable/{qbitrr/3.2.8 => openvscode-server/8.1.16}/values.yaml (100%) delete mode 100644 stable/plextraktsync/6.2.12/app-changelog.md rename stable/plextraktsync/{6.2.12 => 6.2.13}/CHANGELOG.md (90%) rename stable/plextraktsync/{6.2.12 => 6.2.13}/Chart.yaml (96%) rename stable/plextraktsync/{6.2.12 => 6.2.13}/README.md (100%) create mode 100644 stable/plextraktsync/6.2.13/app-changelog.md rename stable/plextraktsync/{6.2.12 => 6.2.13}/app-readme.md (100%) rename stable/{rdesktop/7.1.152 => plextraktsync/6.2.13}/charts/common-17.2.30.tgz (100%) rename stable/plextraktsync/{6.2.12 => 6.2.13}/ix_values.yaml (90%) rename stable/plextraktsync/{6.2.12 => 6.2.13}/questions.yaml (99%) rename stable/{rdesktop/7.1.152 => plextraktsync/6.2.13}/templates/NOTES.txt (100%) rename stable/plextraktsync/{6.2.12 => 6.2.13}/templates/_cronjob.tpl (100%) rename stable/plextraktsync/{6.2.12 => 6.2.13}/templates/common.yaml (100%) rename stable/{rdesktop/7.1.152 => plextraktsync/6.2.13}/values.yaml (100%) create mode 100644 stable/prowlarr/14.3.5/CHANGELOG.md create mode 100644 stable/prowlarr/14.3.5/Chart.yaml create mode 100644 stable/prowlarr/14.3.5/README.md create mode 100644 stable/prowlarr/14.3.5/app-changelog.md create mode 100644 stable/prowlarr/14.3.5/app-readme.md rename stable/{tinymediamanager/9.0.7 => prowlarr/14.3.5}/charts/common-17.2.30.tgz (100%) create mode 100644 stable/prowlarr/14.3.5/ix_values.yaml create mode 100644 stable/prowlarr/14.3.5/questions.yaml rename stable/{tinymediamanager/9.0.7 => prowlarr/14.3.5}/templates/NOTES.txt (100%) create mode 100644 stable/prowlarr/14.3.5/templates/common.yaml rename stable/{tinymediamanager/9.0.7 => prowlarr/14.3.5}/values.yaml (100%) delete mode 100644 stable/qbitrr/3.2.8/app-changelog.md rename stable/qbitrr/{3.2.8 => 3.2.9}/CHANGELOG.md (90%) rename stable/qbitrr/{3.2.8 => 3.2.9}/Chart.yaml (96%) rename stable/qbitrr/{3.2.8 => 3.2.9}/README.md (100%) create mode 100644 stable/qbitrr/3.2.9/app-changelog.md rename stable/qbitrr/{3.2.8 => 3.2.9}/app-readme.md (100%) create mode 100644 stable/qbitrr/3.2.9/charts/common-17.2.30.tgz rename stable/qbitrr/{3.2.8 => 3.2.9}/ix_values.yaml (94%) rename stable/qbitrr/{3.2.8 => 3.2.9}/questions.yaml (99%) create mode 100644 stable/qbitrr/3.2.9/templates/NOTES.txt rename stable/qbitrr/{3.2.8 => 3.2.9}/templates/common.yaml (100%) create mode 100644 stable/qbitrr/3.2.9/values.yaml delete mode 100644 stable/rdesktop/7.1.152/app-changelog.md rename stable/rdesktop/{7.1.152 => 7.1.176}/CHANGELOG.md (92%) rename stable/rdesktop/{7.1.152 => 7.1.176}/Chart.yaml (98%) rename stable/rdesktop/{7.1.152 => 7.1.176}/README.md (100%) create mode 100644 stable/rdesktop/7.1.176/app-changelog.md rename stable/rdesktop/{7.1.152 => 7.1.176}/app-readme.md (100%) create mode 100644 stable/rdesktop/7.1.176/charts/common-17.2.30.tgz rename stable/rdesktop/{7.1.152 => 7.1.176}/ix_values.yaml (52%) rename stable/rdesktop/{7.1.152 => 7.1.176}/questions.yaml (99%) create mode 100644 stable/rdesktop/7.1.176/templates/NOTES.txt rename stable/rdesktop/{7.1.152 => 7.1.176}/templates/common.yaml (100%) create mode 100644 stable/rdesktop/7.1.176/values.yaml create mode 100644 stable/syncthing/17.1.13/CHANGELOG.md create mode 100644 stable/syncthing/17.1.13/Chart.yaml create mode 100644 stable/syncthing/17.1.13/README.md create mode 100644 stable/syncthing/17.1.13/app-changelog.md create mode 100644 stable/syncthing/17.1.13/app-readme.md create mode 100644 stable/syncthing/17.1.13/charts/common-17.2.30.tgz create mode 100644 stable/syncthing/17.1.13/ix_values.yaml create mode 100644 stable/syncthing/17.1.13/questions.yaml create mode 100644 stable/syncthing/17.1.13/templates/NOTES.txt create mode 100644 stable/syncthing/17.1.13/templates/common.yaml create mode 100644 stable/syncthing/17.1.13/values.yaml delete mode 100644 stable/tinymediamanager/9.0.7/app-changelog.md rename stable/tinymediamanager/{9.0.7 => 9.0.8}/CHANGELOG.md (89%) rename stable/tinymediamanager/{9.0.7 => 9.0.8}/Chart.yaml (97%) rename stable/tinymediamanager/{9.0.7 => 9.0.8}/README.md (100%) create mode 100644 stable/tinymediamanager/9.0.8/app-changelog.md rename stable/tinymediamanager/{9.0.7 => 9.0.8}/app-readme.md (100%) create mode 100644 stable/tinymediamanager/9.0.8/charts/common-17.2.30.tgz rename stable/tinymediamanager/{9.0.7 => 9.0.8}/ix_values.yaml (87%) rename stable/tinymediamanager/{9.0.7 => 9.0.8}/questions.yaml (99%) create mode 100644 stable/tinymediamanager/9.0.8/templates/NOTES.txt create mode 100644 stable/tinymediamanager/9.0.8/templates/common.yaml create mode 100644 stable/tinymediamanager/9.0.8/values.yaml create mode 100644 stable/zigbee2mqtt/10.4.3/CHANGELOG.md create mode 100644 stable/zigbee2mqtt/10.4.3/Chart.yaml create mode 100644 stable/zigbee2mqtt/10.4.3/README.md create mode 100644 stable/zigbee2mqtt/10.4.3/SKIPINSTALL create mode 100644 stable/zigbee2mqtt/10.4.3/app-changelog.md create mode 100644 stable/zigbee2mqtt/10.4.3/app-readme.md create mode 100644 stable/zigbee2mqtt/10.4.3/charts/common-17.2.30.tgz create mode 100644 stable/zigbee2mqtt/10.4.3/ix_values.yaml create mode 100644 stable/zigbee2mqtt/10.4.3/questions.yaml create mode 100644 stable/zigbee2mqtt/10.4.3/templates/NOTES.txt create mode 100644 stable/zigbee2mqtt/10.4.3/templates/common.yaml create mode 100644 stable/zigbee2mqtt/10.4.3/values.yaml diff --git a/enterprise/grafana/12.1.2/CHANGELOG.md b/enterprise/grafana/12.1.2/CHANGELOG.md new file mode 100644 index 00000000000..76c723ba750 --- /dev/null +++ b/enterprise/grafana/12.1.2/CHANGELOG.md @@ -0,0 +1,99 @@ +--- +title: Changelog +--- + +**Important:** +*for the complete changelog, please refer to the website* + + + +## [grafana-12.1.2](https://github.com/truecharts/charts/compare/grafana-12.1.1...grafana-12.1.2) (2024-02-12) + +### Chore + + + +- update container image quay.io/kiwigrid/k8s-sidecar to v1.25.4[@cccfe4f](https://github.com/cccfe4f) by renovate ([#18147](https://github.com/truecharts/charts/issues/18147)) + + +## [grafana-12.1.1](https://github.com/truecharts/charts/compare/grafana-12.1.0...grafana-12.1.1) (2024-02-03) + +### Chore + + + +- update container image common to v17.2.30[@19ad5ec](https://github.com/19ad5ec) by renovate ([#17804](https://github.com/truecharts/charts/issues/17804)) + + +## [grafana-12.1.0](https://github.com/truecharts/charts/compare/grafana-12.0.9...grafana-12.1.0) (2024-01-27) + +### Chore + + + +- update container image grafana/grafana to v10.3.1[@7567a7c](https://github.com/7567a7c) by renovate ([#17551](https://github.com/truecharts/charts/issues/17551)) + + +## [grafana-12.0.9](https://github.com/truecharts/charts/compare/grafana-12.0.8...grafana-12.0.9) (2024-01-26) + +### Chore + + + +- update container image common to v17.2.29[@d7c41a3](https://github.com/d7c41a3) by renovate ([#17545](https://github.com/truecharts/charts/issues/17545)) + + +## [grafana-12.0.8](https://github.com/truecharts/charts/compare/grafana-12.0.7...grafana-12.0.8) (2024-01-21) + +### Chore + + + +- update container image common to v17.2.28[@918b4c5](https://github.com/918b4c5) by renovate ([#17478](https://github.com/truecharts/charts/issues/17478)) + + +## [grafana-12.0.7](https://github.com/truecharts/charts/compare/grafana-12.0.6...grafana-12.0.7) (2024-01-21) + +### Chore + + + +- update container image common to v17.2.26[@24c98f7](https://github.com/24c98f7) by renovate ([#17409](https://github.com/truecharts/charts/issues/17409)) + + +## [grafana-12.0.6](https://github.com/truecharts/charts/compare/grafana-12.0.5...grafana-12.0.6) (2024-01-21) + +### Chore + + + +- update metadata in chart.yaml ([#17457](https://github.com/truecharts/charts/issues/17457)) + + + + +## [grafana-12.0.5](https://github.com/truecharts/charts/compare/grafana-12.0.4...grafana-12.0.5) (2024-01-07) + +### Chore + + + +- bump + +### Fix + + + +- correct some paths + + +## [grafana-12.0.4](https://github.com/truecharts/charts/compare/grafana-12.0.3...grafana-12.0.4) (2024-01-07) + +### Chore + + + +- bump + +### Fix + diff --git a/enterprise/grafana/12.1.2/Chart.yaml b/enterprise/grafana/12.1.2/Chart.yaml new file mode 100644 index 00000000000..c86f4a9e3d1 --- /dev/null +++ b/enterprise/grafana/12.1.2/Chart.yaml @@ -0,0 +1,41 @@ +annotations: + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 + truecharts.org/SCALE-support: "true" + truecharts.org/category: metrics + truecharts.org/max_helm_version: "3.14" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: enterprise +apiVersion: v2 +appVersion: 10.3.1 +dependencies: + - name: common + version: 17.2.30 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: Grafana is an open source, feature rich metrics dashboard and graph editor for Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB. +home: https://truecharts.org/charts/enterprise/grafana +icon: https://truecharts.org/img/hotlink-ok/chart-icons/grafana.png +keywords: + - analytics + - monitoring + - metrics + - logs +kubeVersion: ">=1.24.0-0" +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: grafana +sources: + - https://grafana.com/ + - https://github.com/bitnami/bitnami-docker-grafana + - https://github.com/truecharts/charts/tree/master/charts/enterprise/grafana + - https://quay.io/kiwigrid/k8s-sidecar + - https://hub.docker.com/r/grafana/grafana +type: application +version: 12.1.2 diff --git a/enterprise/grafana/12.1.2/LICENSE b/enterprise/grafana/12.1.2/LICENSE new file mode 100644 index 00000000000..93c3f61c61e --- /dev/null +++ b/enterprise/grafana/12.1.2/LICENSE @@ -0,0 +1,106 @@ +Business Source License 1.1 + +Parameters + +Licensor: The TrueCharts Project, it's owner and it's contributors +Licensed Work: The TrueCharts "Grafana" Helm Chart +Additional Use Grant: You may use the licensed work in production, as long + as it is directly sourced from a TrueCharts provided + official repository, catalog or source. You may also make private + modification to the directly sourced licenced work, + when used in production. + + The following cases are, due to their nature, also + defined as 'production use' and explicitly prohibited: + - Bundling, including or displaying the licensed work + with(in) another work intended for production use, + with the apparent intend of facilitating and/or + promoting production use by third parties in + violation of this license. + +Change Date: 2050-01-01 + +Change License: 3-clause BSD license + +For information about alternative licensing arrangements for the Software, +please contact: legal@truecharts.org + +Notice + +The Business Source License (this document, or the “License”) is not an Open +Source license. However, the Licensed Work will eventually be made available +under an Open Source License, as stated in this License. + +License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. +“Business Source License” is a trademark of MariaDB Corporation Ab. + +----------------------------------------------------------------------------- + +Business Source License 1.1 + +Terms + +The Licensor hereby grants you the right to copy, modify, create derivative +works, redistribute, and make non-production use of the Licensed Work. The +Licensor may make an Additional Use Grant, above, permitting limited +production use. + +Effective on the Change Date, or the fourth anniversary of the first publicly +available distribution of a specific version of the Licensed Work under this +License, whichever comes first, the Licensor hereby grants you rights under +the terms of the Change License, and the rights granted in the paragraph +above terminate. + +If your use of the Licensed Work does not comply with the requirements +currently in effect as described in this License, you must purchase a +commercial license from the Licensor, its affiliated entities, or authorized +resellers, or you must refrain from using the Licensed Work. + +All copies of the original and modified Licensed Work, and derivative works +of the Licensed Work, are subject to this License. This License applies +separately for each version of the Licensed Work and the Change Date may vary +for each version of the Licensed Work released by Licensor. + +You must conspicuously display this License on each original or modified copy +of the Licensed Work. If you receive the Licensed Work in original or +modified form from a third party, the terms and conditions set forth in this +License apply to your use of that work. + +Any use of the Licensed Work in violation of this License will automatically +terminate your rights under this License for the current and all other +versions of the Licensed Work. + +This License does not grant you any right in any trademark or logo of +Licensor or its affiliates (provided that you may use a trademark or logo of +Licensor as expressly required by this License). + +TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON +AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, +EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND +TITLE. + +MariaDB hereby grants you permission to use this License’s text to license +your works, and to refer to it using the trademark “Business Source License”, +as long as you comply with the Covenants of Licensor below. + +Covenants of Licensor + +In consideration of the right to use this License’s text and the “Business +Source License” name and trademark, Licensor covenants to MariaDB, and to all +other recipients of the licensed work to be provided by Licensor: + +1. To specify as the Change License the GPL Version 2.0 or any later version, + or a license that is compatible with GPL Version 2.0 or a later version, + where “compatible” means that software provided under the Change License can + be included in a program with software provided under GPL Version 2.0 or a + later version. Licensor may specify additional Change Licenses without + limitation. + +2. To either: (a) specify an additional grant of rights to use that does not + impose any additional restriction on the right granted in this License, as + the Additional Use Grant; or (b) insert the text “None”. + +3. To specify a Change Date. + +4. Not to modify this License in any other way. diff --git a/stable/maintainerr/1.0.0/README.md b/enterprise/grafana/12.1.2/README.md similarity index 92% rename from stable/maintainerr/1.0.0/README.md rename to enterprise/grafana/12.1.2/README.md index 255b08eca9d..e0a51ac6c18 100644 --- a/stable/maintainerr/1.0.0/README.md +++ b/enterprise/grafana/12.1.2/README.md @@ -7,7 +7,7 @@ title: README 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/maintainerr) +For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/enterprise/grafana) **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/enterprise/grafana/12.1.2/app-changelog.md b/enterprise/grafana/12.1.2/app-changelog.md new file mode 100644 index 00000000000..b2192f4f22b --- /dev/null +++ b/enterprise/grafana/12.1.2/app-changelog.md @@ -0,0 +1,9 @@ + + +## [grafana-12.1.2](https://github.com/truecharts/charts/compare/grafana-12.1.1...grafana-12.1.2) (2024-02-12) + +### Chore + + + +- update container image quay.io/kiwigrid/k8s-sidecar to v1.25.4[@cccfe4f](https://github.com/cccfe4f) by renovate ([#18147](https://github.com/truecharts/charts/issues/18147)) \ No newline at end of file diff --git a/enterprise/grafana/12.1.2/app-readme.md b/enterprise/grafana/12.1.2/app-readme.md new file mode 100644 index 00000000000..c4893171943 --- /dev/null +++ b/enterprise/grafana/12.1.2/app-readme.md @@ -0,0 +1,8 @@ +Grafana is an open source, feature rich metrics dashboard and graph editor for Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB. + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/enterprise/grafana](https://truecharts.org/charts/enterprise/grafana) + +--- + +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/drawio/9.1.0/charts/common-17.2.30.tgz b/enterprise/grafana/12.1.2/charts/common-17.2.30.tgz similarity index 100% rename from stable/drawio/9.1.0/charts/common-17.2.30.tgz rename to enterprise/grafana/12.1.2/charts/common-17.2.30.tgz diff --git a/enterprise/grafana/12.1.2/ix_values.yaml b/enterprise/grafana/12.1.2/ix_values.yaml new file mode 100644 index 00000000000..21530ed2dbb --- /dev/null +++ b/enterprise/grafana/12.1.2/ix_values.yaml @@ -0,0 +1,328 @@ +image: + repository: grafana/grafana + pullPolicy: IfNotPresent + tag: 10.3.1@sha256:7567a7c70a3c1d75aeeedc968d1304174a16651e55a60d1fb132a05e1e63a054 + +sidecarImage: + repository: quay.io/kiwigrid/k8s-sidecar + tag: 1.25.4@sha256:cccfe4f9eaf2e2c63762e4ac261a3f353e38253da77027485178978e08df95d0 + +securityContext: + container: + readOnlyRootFilesystem: false +service: + main: + ports: + main: + protocol: http + targetPort: 3000 + port: 3000 +workload: + main: + replicas: 2 + strategy: RollingUpdate + podSpec: + containers: + main: + env: + GF_SECURITY_ADMIN_USER: "admin" + GF_SECURITY_ADMIN_PASSWORD: "testpassword" + GF_INSTALL_PLUGINS: "" + GF_AUTH_LDAP_ENABLED: "false" + GF_AUTH_LDAP_ALLOW_SIGN_UP: "false" + GF_SERVER_HTTP_PORT: 3000 + probes: + liveness: + path: "/api/health" + readiness: + path: "/api/health" + startup: + path: "/api/health" + dashboards: + enabled: true + imageSelector: sidecarImage + env: + IGNORE_ALREADY_PROCESSED: false + METHOD: WATCH + LABEL: grafana_dashboard + LABEL_VALUE: "1" + LOG_LEVEL: info + FOLDER: /tmp/dashboards + RESOURCE: both + NAMESPACE: "ALL" + UNIQUE_FILENAMES: false + # NAMESPACE: null + # FOLDER_ANNOTATION: null + # script: null + # WATCH_SERVER_TIMEOUT: 3600 + # WATCH_CLIENT_TIMEOUT: 3600 + SKIP_TLS_VERIFY: false + REQ_USERNAME: "{{ .Values.workload.main.podSpec.containers.main.env.GF_SECURITY_ADMIN_USER }}" + REQ_PASSWORD: "{{ .Values.workload.main.podSpec.containers.main.env.GF_SECURITY_ADMIN_PASSWORD }}" + REQ_URL: "http://localhost:3000/api/admin/provisioning/dashboards/reload" + REQ_METHOD: POST + probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + datasources: + enabled: true + imageSelector: sidecarImage + env: + IGNORE_ALREADY_PROCESSED: false + METHOD: WATCH + LABEL: grafana_datasources + LABEL_VALUE: "1" + LOG_LEVEL: info + FOLDER: /etc/grafana/provisioning/datasources + RESOURCE: both + NAMESPACE: "ALL" + UNIQUE_FILENAMES: false + # NAMESPACE: null + # FOLDER_ANNOTATION: null + # script: null + # WATCH_SERVER_TIMEOUT: 3600 + # WATCH_CLIENT_TIMEOUT: 3600 + SKIP_TLS_VERIFY: false + REQ_USERNAME: "{{ .Values.workload.main.podSpec.containers.main.env.GF_SECURITY_ADMIN_USER }}" + REQ_PASSWORD: "{{ .Values.workload.main.podSpec.containers.main.env.GF_SECURITY_ADMIN_PASSWORD }}" + REQ_URL: "http://localhost:3000/api/admin/provisioning/datasources/reload" + REQ_METHOD: POST + probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + alerts: + enabled: true + imageSelector: sidecarImage + env: + IGNORE_ALREADY_PROCESSED: false + METHOD: WATCH + LABEL: grafana_alerts + LABEL_VALUE: "1" + LOG_LEVEL: info + FOLDER: /etc/grafana/provisioning/alerts + RESOURCE: both + NAMESPACE: "ALL" + UNIQUE_FILENAMES: false + # NAMESPACE: null + # FOLDER_ANNOTATION: null + # script: null + # WATCH_SERVER_TIMEOUT: 3600 + # WATCH_CLIENT_TIMEOUT: 3600 + SKIP_TLS_VERIFY: false + REQ_USERNAME: "{{ .Values.workload.main.podSpec.containers.main.env.GF_SECURITY_ADMIN_USER }}" + REQ_PASSWORD: "{{ .Values.workload.main.podSpec.containers.main.env.GF_SECURITY_ADMIN_PASSWORD }}" + REQ_URL: "http://localhost:3000/api/admin/provisioning/alerts/reload" + REQ_METHOD: POST + probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + plugins: + enabled: true + imageSelector: sidecarImage + env: + IGNORE_ALREADY_PROCESSED: false + METHOD: WATCH + LABEL: grafana_plugins + LABEL_VALUE: "1" + LOG_LEVEL: info + FOLDER: /etc/grafana/provisioning/plugins + RESOURCE: both + NAMESPACE: "ALL" + UNIQUE_FILENAMES: false + # NAMESPACE: null + # FOLDER_ANNOTATION: null + # script: null + # WATCH_SERVER_TIMEOUT: 3600 + # WATCH_CLIENT_TIMEOUT: 3600 + SKIP_TLS_VERIFY: false + REQ_USERNAME: "{{ .Values.workload.main.podSpec.containers.main.env.GF_SECURITY_ADMIN_USER }}" + REQ_PASSWORD: "{{ .Values.workload.main.podSpec.containers.main.env.GF_SECURITY_ADMIN_PASSWORD }}" + REQ_URL: "http://localhost:3000/api/admin/provisioning/plugins/reload" + REQ_METHOD: POST + probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + notifiers: + enabled: true + imageSelector: sidecarImage + env: + IGNORE_ALREADY_PROCESSED: false + METHOD: WATCH + LABEL: grafana_notifiers + LABEL_VALUE: "1" + LOG_LEVEL: info + FOLDER: /etc/grafana/provisioning/notifiers + RESOURCE: both + NAMESPACE: "ALL" + UNIQUE_FILENAMES: false + # NAMESPACE: null + # FOLDER_ANNOTATION: null + # script: null + # WATCH_SERVER_TIMEOUT: 3600 + # WATCH_CLIENT_TIMEOUT: 3600 + SKIP_TLS_VERIFY: false + REQ_USERNAME: "{{ .Values.workload.main.podSpec.containers.main.env.GF_SECURITY_ADMIN_USER }}" + REQ_PASSWORD: "{{ .Values.workload.main.podSpec.containers.main.env.GF_SECURITY_ADMIN_PASSWORD }}" + REQ_URL: "http://localhost:3000/api/admin/provisioning/notifiers/reload" + REQ_METHOD: POST + probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + +configmap: + dashboard-provider: + enabled: true + data: + provider.yaml: |- + apiVersion: 1 + providers: + - name: sidecarProvider + orgId: 1 + folder: '' + type: file + disableDeletion: false + allowUiUpdates: false + updateIntervalSeconds: 30 + options: + foldersFromFilesStructure: false + path: /tmp/dashboards + config: + enabled: true + data: + grafana.ini: |- + paths: + data: /var/lib/grafana/ + logs: /var/log/grafana + plugins: /var/lib/grafana/plugins + provisioning: /etc/grafana/provisioning + analytics: + check_for_updates: true + log: + mode: console + grafana_net: + url: https://grafana.net + server: + domain: "{{ if (and .Values.ingress.main.enabled .Values.ingress.main.hosts) }}{{ .Values.ingress.main.hosts | first }}{{ else }}''{{ end }}" + ldap.toml: |- + # nope + +persistence: + config: + enabled: true + type: configmap + objectName: config + mountPath: /etc/grafana/grafana.ini + subPath: grafana.ini + ldap: + enabled: true + type: configmap + objectName: config + mountPath: /etc/grafana/ldap.toml + subPath: ldap.toml + data: + enabled: true + mountPath: "/var/lib/grafana" + grafana-tmp: + enabled: true + type: emptyDir + mountPath: /app/tmp + targetSelectAll: true + sc-dashboard-volume: + enabled: true + type: emptyDir + mountPath: /tmp/dashboards + targetSelectAll: true + sc-dashboard-config: + enabled: true + type: configmap + objectName: dashboard-provider + mountPath: /etc/grafana/provisioning/dashboards/sc-dashboardproviders.yaml + subPath: provider.yaml + sc-datasource-volume: + enabled: true + type: emptyDir + mountPath: /etc/grafana/provisioning/datasources + targetSelectAll: true + sc-alerts-volume: + enabled: true + type: emptyDir + mountPath: /etc/grafana/provisioning/alerts + targetSelectAll: true + sc-plugins-volume: + enabled: true + type: emptyDir + mountPath: /etc/grafana/provisioning/plugins + targetSelectAll: true + sc-notifiers-volume: + enabled: true + type: emptyDir + mountPath: /etc/grafana/provisioning/notifiers + targetSelectAll: true +metrics: + main: + # -- Enable and configure a Prometheus serviceMonitor for the chart under this key. + # @default -- See values.yaml + enabled: true + type: "servicemonitor" + endpoints: + - port: main + path: /metrics + # -- Enable and configure Prometheus Rules for the chart under this key. + # @default -- See values.yaml + prometheusRule: + enabled: false + labels: {} + # -- Configure additionial rules for the chart under this key. + # @default -- See prometheusrules.yaml + rules: [] + # - alert: UnifiPollerAbsent + # annotations: + # description: Unifi Poller has disappeared from Prometheus service discovery. + # summary: Unifi Poller is down. + # expr: | + # absent(up{job=~".*unifi-poller.*"} == 1) + # for: 5m + # labels: + # severity: critical +portal: + open: + enabled: true + +# -- Whether Role Based Access Control objects like roles and rolebindings should be created +rbac: + main: + enabled: true + primary: true + clusterWide: true + rules: + - apiGroups: [""] + resources: ["configmaps", "secrets"] + verbs: ["get", "watch", "list"] + +serviceAccount: + main: + enabled: true + primary: true + +podOptions: + automountServiceAccountToken: true diff --git a/enterprise/grafana/12.1.2/questions.yaml b/enterprise/grafana/12.1.2/questions.yaml new file mode 100644 index 00000000000..1441a0a81c8 --- /dev/null +++ b/enterprise/grafana/12.1.2/questions.yaml @@ -0,0 +1,2905 @@ +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: Backup Configuration + description: Configure Velero Backup Schedule + - 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: env + label: "Image Environment" + schema: + additional_attrs: true + type: dict + attrs: + - variable: GF_SECURITY_ADMIN_USER + label: "Admin User" + schema: + type: string + required: true + default: "admin" + - variable: GF_SECURITY_ADMIN_PASSWORD + label: "Admin Password" + schema: + type: string + required: true + private: true + default: "REPLACETHIS" + - variable: GF_INSTALL_PLUGINS + label: "Extra Plugins to Install" + description: "comma seperated" + schema: + type: string + default: "" + - variable: GF_AUTH_LDAP_ENABLED + label: "enable LDAP" + schema: + type: boolean + default: false + - variable: GF_AUTH_LDAP_ALLOW_SIGN_UP + label: "Allow LDAP Signup" + schema: + type: boolean + default: false + - variable: GF_AUTH_LDAP_CONFIG_FILE + label: "LDAP Config Path" + schema: + type: string + default: "/opt/bitnami/grafana/conf/ldap.toml" + - 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: enabled + label: Enabled + schema: + type: boolean + default: true + - variable: data + label: Data + 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 + private: 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: 10038 + 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: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name (Optional) + description: Defaults to chart name + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description (Optional) + description: Defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: icon + label: Icon (Optional) + description: Defaults to chart icon + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: widget + label: Widget Settings + schema: + type: dict + additional_attrs: true + show_if: [["enabled", "=", true]] + attrs: + - variable: enabled + label: Enable Widget + description: When disabled all widget annotations are skipped. + schema: + type: boolean + default: true + - variable: custom + label: Options + schema: + type: dict + additional_attrs: true + attrs: + - variable: key + label: API-key (key) + schema: + type: string + default: "" + - variable: customkv + label: Custom Options + schema: + type: list + default: [] + items: + - variable: option + label: Option + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + default: "" + required: true + - variable: value + label: Value + 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: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: ingressList + label: Add Manual Custom Ingresses + group: Ingress + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: Custom Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: overrideService + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + show_if: [["certificateIssuer", "=", ""]] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: scaleCert + label: Use TrueNAS SCALE Certificate (Deprecated) + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: namespace + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: securityContext + group: Security and Permissions + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: container + label: Container + schema: + additional_attrs: true + type: dict + attrs: + # Settings from questions.yaml get appended here on a per-app basis + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 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: 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: 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: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: 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/drawio/9.1.0/templates/NOTES.txt b/enterprise/grafana/12.1.2/templates/NOTES.txt similarity index 100% rename from stable/drawio/9.1.0/templates/NOTES.txt rename to enterprise/grafana/12.1.2/templates/NOTES.txt diff --git a/stable/drawio/9.1.0/templates/common.yaml b/enterprise/grafana/12.1.2/templates/common.yaml similarity index 100% rename from stable/drawio/9.1.0/templates/common.yaml rename to enterprise/grafana/12.1.2/templates/common.yaml diff --git a/stable/drawio/9.1.0/values.yaml b/enterprise/grafana/12.1.2/values.yaml similarity index 100% rename from stable/drawio/9.1.0/values.yaml rename to enterprise/grafana/12.1.2/values.yaml diff --git a/stable/drawio/9.1.0/app-changelog.md b/stable/drawio/9.1.0/app-changelog.md deleted file mode 100644 index 93de436e687..00000000000 --- a/stable/drawio/9.1.0/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [drawio-9.1.0](https://github.com/truecharts/charts/compare/drawio-9.0.1...drawio-9.1.0) (2024-02-05) - -### Chore - - - -- update container image jgraph/drawio to v23.1.0[@9931e26](https://github.com/9931e26) by renovate ([#17943](https://github.com/truecharts/charts/issues/17943)) \ No newline at end of file diff --git a/stable/drawio/9.1.0/CHANGELOG.md b/stable/drawio/9.1.1/CHANGELOG.md similarity index 90% rename from stable/drawio/9.1.0/CHANGELOG.md rename to stable/drawio/9.1.1/CHANGELOG.md index 0e0c6bb81a7..11a379a7559 100644 --- a/stable/drawio/9.1.0/CHANGELOG.md +++ b/stable/drawio/9.1.1/CHANGELOG.md @@ -7,6 +7,15 @@ title: Changelog +## [drawio-9.1.1](https://github.com/truecharts/charts/compare/drawio-9.1.0...drawio-9.1.1) (2024-02-12) + +### Chore + + + +- update container image jgraph/drawio to v23.1.2[@6273414](https://github.com/6273414) by renovate ([#18139](https://github.com/truecharts/charts/issues/18139)) + + ## [drawio-9.1.0](https://github.com/truecharts/charts/compare/drawio-9.0.1...drawio-9.1.0) (2024-02-05) ### Chore @@ -88,12 +97,3 @@ title: Changelog - update container image jgraph/drawio to v22.1.21[@6801e6e](https://github.com/6801e6e) by renovate ([#17428](https://github.com/truecharts/charts/issues/17428)) -## [drawio-8.1.10](https://github.com/truecharts/charts/compare/drawio-8.1.9...drawio-8.1.10) (2024-01-14) - -### Chore - - - -- update container image jgraph/drawio to v22.1.18[@ef187f0](https://github.com/ef187f0) by renovate ([#17194](https://github.com/truecharts/charts/issues/17194)) - - diff --git a/stable/drawio/9.1.0/Chart.yaml b/stable/drawio/9.1.1/Chart.yaml similarity index 96% rename from stable/drawio/9.1.0/Chart.yaml rename to stable/drawio/9.1.1/Chart.yaml index 98b6828dc7b..b7f655945f0 100644 --- a/stable/drawio/9.1.0/Chart.yaml +++ b/stable/drawio/9.1.1/Chart.yaml @@ -7,7 +7,7 @@ annotations: truecharts.org/min_helm_version: "3.12" truecharts.org/train: stable apiVersion: v2 -appVersion: 23.1.0 +appVersion: 23.1.2 dependencies: - name: common version: 17.2.30 @@ -33,4 +33,4 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/drawio - https://hub.docker.com/r/jgraph/drawio type: application -version: 9.1.0 +version: 9.1.1 diff --git a/stable/drawio/9.1.0/README.md b/stable/drawio/9.1.1/README.md similarity index 100% rename from stable/drawio/9.1.0/README.md rename to stable/drawio/9.1.1/README.md diff --git a/stable/drawio/9.1.1/app-changelog.md b/stable/drawio/9.1.1/app-changelog.md new file mode 100644 index 00000000000..3457d217646 --- /dev/null +++ b/stable/drawio/9.1.1/app-changelog.md @@ -0,0 +1,9 @@ + + +## [drawio-9.1.1](https://github.com/truecharts/charts/compare/drawio-9.1.0...drawio-9.1.1) (2024-02-12) + +### Chore + + + +- update container image jgraph/drawio to v23.1.2[@6273414](https://github.com/6273414) by renovate ([#18139](https://github.com/truecharts/charts/issues/18139)) \ No newline at end of file diff --git a/stable/drawio/9.1.0/app-readme.md b/stable/drawio/9.1.1/app-readme.md similarity index 100% rename from stable/drawio/9.1.0/app-readme.md rename to stable/drawio/9.1.1/app-readme.md diff --git a/stable/emulatorjs/8.2.12/charts/common-17.2.30.tgz b/stable/drawio/9.1.1/charts/common-17.2.30.tgz similarity index 100% rename from stable/emulatorjs/8.2.12/charts/common-17.2.30.tgz rename to stable/drawio/9.1.1/charts/common-17.2.30.tgz diff --git a/stable/drawio/9.1.0/ix_values.yaml b/stable/drawio/9.1.1/ix_values.yaml similarity index 87% rename from stable/drawio/9.1.0/ix_values.yaml rename to stable/drawio/9.1.1/ix_values.yaml index 7fc8ebb28af..87bd527cfeb 100644 --- a/stable/drawio/9.1.0/ix_values.yaml +++ b/stable/drawio/9.1.1/ix_values.yaml @@ -1,6 +1,6 @@ image: repository: jgraph/drawio - tag: 23.1.0@sha256:9931e2612955a98d4e643d57ac798a002430931161e0412aeebe4af2b3f2b839 + tag: 23.1.2@sha256:6273414d4b64330c577da516d7ac3cbf8615079085831043524dab5ae294edae pullPolicy: IfNotPresent securityContext: container: diff --git a/stable/drawio/9.1.0/questions.yaml b/stable/drawio/9.1.1/questions.yaml similarity index 99% rename from stable/drawio/9.1.0/questions.yaml rename to stable/drawio/9.1.1/questions.yaml index f2ec157c517..a940c791027 100644 --- a/stable/drawio/9.1.0/questions.yaml +++ b/stable/drawio/9.1.1/questions.yaml @@ -23,6 +23,8 @@ groups: description: Metrics - name: Addons description: Addon Configuration + - name: Backup Configuration + description: Configure Velero Backup Schedule - name: Advanced description: Advanced Configuration - name: Postgresql diff --git a/stable/emulatorjs/8.2.12/templates/NOTES.txt b/stable/drawio/9.1.1/templates/NOTES.txt similarity index 100% rename from stable/emulatorjs/8.2.12/templates/NOTES.txt rename to stable/drawio/9.1.1/templates/NOTES.txt diff --git a/stable/emulatorjs/8.2.12/templates/common.yaml b/stable/drawio/9.1.1/templates/common.yaml similarity index 100% rename from stable/emulatorjs/8.2.12/templates/common.yaml rename to stable/drawio/9.1.1/templates/common.yaml diff --git a/stable/emulatorjs/8.2.12/values.yaml b/stable/drawio/9.1.1/values.yaml similarity index 100% rename from stable/emulatorjs/8.2.12/values.yaml rename to stable/drawio/9.1.1/values.yaml diff --git a/stable/emulatorjs/8.2.12/app-changelog.md b/stable/emulatorjs/8.2.12/app-changelog.md deleted file mode 100644 index dbb152b2687..00000000000 --- a/stable/emulatorjs/8.2.12/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [emulatorjs-8.2.12](https://github.com/truecharts/charts/compare/emulatorjs-8.2.11...emulatorjs-8.2.12) (2024-02-05) - -### Chore - - - -- update container image ghcr.io/linuxserver/emulatorjs to v1.8.7[@4855047](https://github.com/4855047) by renovate ([#17910](https://github.com/truecharts/charts/issues/17910)) \ No newline at end of file diff --git a/stable/emulatorjs/8.2.12/CHANGELOG.md b/stable/emulatorjs/8.2.13/CHANGELOG.md similarity index 92% rename from stable/emulatorjs/8.2.12/CHANGELOG.md rename to stable/emulatorjs/8.2.13/CHANGELOG.md index 7d7af94b93d..ad8f56a7908 100644 --- a/stable/emulatorjs/8.2.12/CHANGELOG.md +++ b/stable/emulatorjs/8.2.13/CHANGELOG.md @@ -7,6 +7,15 @@ title: Changelog +## [emulatorjs-8.2.13](https://github.com/truecharts/charts/compare/emulatorjs-8.2.12...emulatorjs-8.2.13) (2024-02-12) + +### Chore + + + +- update container image ghcr.io/linuxserver/emulatorjs to v1.8.8[@36428a8](https://github.com/36428a8) by renovate ([#18134](https://github.com/truecharts/charts/issues/18134)) + + ## [emulatorjs-8.2.12](https://github.com/truecharts/charts/compare/emulatorjs-8.2.11...emulatorjs-8.2.12) (2024-02-05) ### Chore @@ -88,12 +97,3 @@ title: Changelog - update container image ghcr.io/linuxserver/emulatorjs to 1.8.2[@e691d3d](https://github.com/e691d3d) by renovate ([#17231](https://github.com/truecharts/charts/issues/17231)) -## [emulatorjs-8.2.3](https://github.com/truecharts/charts/compare/emulatorjs-8.2.2...emulatorjs-8.2.3) (2024-01-14) - -### Chore - - - -- update container image ghcr.io/linuxserver/emulatorjs to v1.8.2[@40f4e8e](https://github.com/40f4e8e) by renovate ([#17216](https://github.com/truecharts/charts/issues/17216)) - - diff --git a/stable/emulatorjs/8.2.12/Chart.yaml b/stable/emulatorjs/8.2.13/Chart.yaml similarity index 96% rename from stable/emulatorjs/8.2.12/Chart.yaml rename to stable/emulatorjs/8.2.13/Chart.yaml index f88e4687732..7b29404609f 100644 --- a/stable/emulatorjs/8.2.12/Chart.yaml +++ b/stable/emulatorjs/8.2.13/Chart.yaml @@ -7,7 +7,7 @@ annotations: truecharts.org/min_helm_version: "3.12" truecharts.org/train: stable apiVersion: v2 -appVersion: 1.8.7 +appVersion: 1.8.8 dependencies: - name: common version: 17.2.30 @@ -32,4 +32,4 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/emulatorjs - https://ghcr.io/linuxserver/emulatorjs type: application -version: 8.2.12 +version: 8.2.13 diff --git a/stable/emulatorjs/8.2.12/README.md b/stable/emulatorjs/8.2.13/README.md similarity index 100% rename from stable/emulatorjs/8.2.12/README.md rename to stable/emulatorjs/8.2.13/README.md diff --git a/stable/emulatorjs/8.2.13/app-changelog.md b/stable/emulatorjs/8.2.13/app-changelog.md new file mode 100644 index 00000000000..105a968a194 --- /dev/null +++ b/stable/emulatorjs/8.2.13/app-changelog.md @@ -0,0 +1,9 @@ + + +## [emulatorjs-8.2.13](https://github.com/truecharts/charts/compare/emulatorjs-8.2.12...emulatorjs-8.2.13) (2024-02-12) + +### Chore + + + +- update container image ghcr.io/linuxserver/emulatorjs to v1.8.8[@36428a8](https://github.com/36428a8) by renovate ([#18134](https://github.com/truecharts/charts/issues/18134)) \ No newline at end of file diff --git a/stable/emulatorjs/8.2.12/app-readme.md b/stable/emulatorjs/8.2.13/app-readme.md similarity index 100% rename from stable/emulatorjs/8.2.12/app-readme.md rename to stable/emulatorjs/8.2.13/app-readme.md diff --git a/stable/kavita/8.1.13/charts/common-17.2.30.tgz b/stable/emulatorjs/8.2.13/charts/common-17.2.30.tgz similarity index 100% rename from stable/kavita/8.1.13/charts/common-17.2.30.tgz rename to stable/emulatorjs/8.2.13/charts/common-17.2.30.tgz diff --git a/stable/emulatorjs/8.2.12/ix_values.yaml b/stable/emulatorjs/8.2.13/ix_values.yaml similarity index 92% rename from stable/emulatorjs/8.2.12/ix_values.yaml rename to stable/emulatorjs/8.2.13/ix_values.yaml index 902c8d3936f..a98aee0db05 100644 --- a/stable/emulatorjs/8.2.12/ix_values.yaml +++ b/stable/emulatorjs/8.2.13/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: ghcr.io/linuxserver/emulatorjs pullPolicy: IfNotPresent - tag: 1.8.7@sha256:4855047bde7202ba22c233eea0013dbb2b375b344f7b4f7903201cc3a9969df2 + tag: 1.8.8@sha256:36428a8bb0b6a0c1767fbc9b5f9c41397748b1ea16740ff14d203bb11b7f4173 securityContext: container: runAsNonRoot: false diff --git a/stable/emulatorjs/8.2.12/questions.yaml b/stable/emulatorjs/8.2.13/questions.yaml similarity index 99% rename from stable/emulatorjs/8.2.12/questions.yaml rename to stable/emulatorjs/8.2.13/questions.yaml index 143acdc33a7..ca53a23cb04 100644 --- a/stable/emulatorjs/8.2.12/questions.yaml +++ b/stable/emulatorjs/8.2.13/questions.yaml @@ -23,6 +23,8 @@ groups: description: Metrics - name: Addons description: Addon Configuration + - name: Backup Configuration + description: Configure Velero Backup Schedule - name: Advanced description: Advanced Configuration - name: Postgresql diff --git a/stable/kavita/8.1.13/templates/NOTES.txt b/stable/emulatorjs/8.2.13/templates/NOTES.txt similarity index 100% rename from stable/kavita/8.1.13/templates/NOTES.txt rename to stable/emulatorjs/8.2.13/templates/NOTES.txt diff --git a/stable/kavita/8.1.13/templates/common.yaml b/stable/emulatorjs/8.2.13/templates/common.yaml similarity index 100% rename from stable/kavita/8.1.13/templates/common.yaml rename to stable/emulatorjs/8.2.13/templates/common.yaml diff --git a/stable/kavita/8.1.13/values.yaml b/stable/emulatorjs/8.2.13/values.yaml similarity index 100% rename from stable/kavita/8.1.13/values.yaml rename to stable/emulatorjs/8.2.13/values.yaml diff --git a/stable/kavita/8.1.13/app-changelog.md b/stable/kavita/8.1.13/app-changelog.md deleted file mode 100644 index 976960859ea..00000000000 --- a/stable/kavita/8.1.13/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [kavita-8.1.13](https://github.com/truecharts/charts/compare/kavita-8.1.12...kavita-8.1.13) (2024-02-03) - -### Chore - - - -- update container image common to v17.2.30[@19ad5ec](https://github.com/19ad5ec) by renovate ([#17804](https://github.com/truecharts/charts/issues/17804)) \ No newline at end of file diff --git a/stable/kavita/8.1.13/CHANGELOG.md b/stable/kavita/8.1.14/CHANGELOG.md similarity index 90% rename from stable/kavita/8.1.13/CHANGELOG.md rename to stable/kavita/8.1.14/CHANGELOG.md index 505317bf736..7bf38652c4a 100644 --- a/stable/kavita/8.1.13/CHANGELOG.md +++ b/stable/kavita/8.1.14/CHANGELOG.md @@ -7,6 +7,15 @@ title: Changelog +## [kavita-8.1.14](https://github.com/truecharts/charts/compare/kavita-8.1.13...kavita-8.1.14) (2024-02-12) + +### Chore + + + +- update container image jvmilazz0/kavita to v0.7.14[@9cbe62e](https://github.com/9cbe62e) by renovate ([#18141](https://github.com/truecharts/charts/issues/18141)) + + ## [kavita-8.1.13](https://github.com/truecharts/charts/compare/kavita-8.1.12...kavita-8.1.13) (2024-02-03) ### Chore @@ -88,12 +97,3 @@ title: Changelog - force bump to ensure up-to-date catalogs - - -## [kavita-8.1.4](https://github.com/truecharts/charts/compare/kavita-8.1.3...kavita-8.1.4) (2024-01-01) - -### Chore - - - -- increase common version for oci fixes diff --git a/stable/kavita/8.1.13/Chart.yaml b/stable/kavita/8.1.14/Chart.yaml similarity index 96% rename from stable/kavita/8.1.13/Chart.yaml rename to stable/kavita/8.1.14/Chart.yaml index f1e0638e3f3..e51d5ea4f77 100644 --- a/stable/kavita/8.1.13/Chart.yaml +++ b/stable/kavita/8.1.14/Chart.yaml @@ -7,7 +7,7 @@ annotations: truecharts.org/min_helm_version: "3.12" truecharts.org/train: stable apiVersion: v2 -appVersion: 0.7.13 +appVersion: 0.7.14 dependencies: - name: common version: 17.2.30 @@ -36,4 +36,4 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/kavita - https://hub.docker.com/r/jvmilazz0/kavita type: application -version: 8.1.13 +version: 8.1.14 diff --git a/stable/kavita/8.1.13/README.md b/stable/kavita/8.1.14/README.md similarity index 100% rename from stable/kavita/8.1.13/README.md rename to stable/kavita/8.1.14/README.md diff --git a/stable/kavita/8.1.14/app-changelog.md b/stable/kavita/8.1.14/app-changelog.md new file mode 100644 index 00000000000..4cc3b295b64 --- /dev/null +++ b/stable/kavita/8.1.14/app-changelog.md @@ -0,0 +1,9 @@ + + +## [kavita-8.1.14](https://github.com/truecharts/charts/compare/kavita-8.1.13...kavita-8.1.14) (2024-02-12) + +### Chore + + + +- update container image jvmilazz0/kavita to v0.7.14[@9cbe62e](https://github.com/9cbe62e) by renovate ([#18141](https://github.com/truecharts/charts/issues/18141)) \ No newline at end of file diff --git a/stable/kavita/8.1.13/app-readme.md b/stable/kavita/8.1.14/app-readme.md similarity index 100% rename from stable/kavita/8.1.13/app-readme.md rename to stable/kavita/8.1.14/app-readme.md diff --git a/stable/metabase/2.1.14/charts/common-17.2.30.tgz b/stable/kavita/8.1.14/charts/common-17.2.30.tgz similarity index 100% rename from stable/metabase/2.1.14/charts/common-17.2.30.tgz rename to stable/kavita/8.1.14/charts/common-17.2.30.tgz diff --git a/stable/kavita/8.1.13/ix_values.yaml b/stable/kavita/8.1.14/ix_values.yaml similarity index 84% rename from stable/kavita/8.1.13/ix_values.yaml rename to stable/kavita/8.1.14/ix_values.yaml index 58b861bbeb5..cf255135a07 100644 --- a/stable/kavita/8.1.13/ix_values.yaml +++ b/stable/kavita/8.1.14/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: jvmilazz0/kavita pullPolicy: IfNotPresent - tag: 0.7.13@sha256:89a59531955241acf6c746b6909e2b3bd7e93bc4e4ea795fcc182b07a6f6c6a9 + tag: 0.7.14@sha256:9cbe62ea84c250f41e0f04f620537a4687345868612a40c840e464f34b5bbfe5 securityContext: container: readOnlyRootFilesystem: false diff --git a/stable/kavita/8.1.13/questions.yaml b/stable/kavita/8.1.14/questions.yaml similarity index 99% rename from stable/kavita/8.1.13/questions.yaml rename to stable/kavita/8.1.14/questions.yaml index d7c44d8bedb..dc1f83f9c20 100644 --- a/stable/kavita/8.1.13/questions.yaml +++ b/stable/kavita/8.1.14/questions.yaml @@ -23,6 +23,8 @@ groups: description: Metrics - name: Addons description: Addon Configuration + - name: Backup Configuration + description: Configure Velero Backup Schedule - name: Advanced description: Advanced Configuration - name: Postgresql diff --git a/stable/maintainerr/1.0.0/templates/NOTES.txt b/stable/kavita/8.1.14/templates/NOTES.txt similarity index 100% rename from stable/maintainerr/1.0.0/templates/NOTES.txt rename to stable/kavita/8.1.14/templates/NOTES.txt diff --git a/stable/maintainerr/1.0.0/templates/common.yaml b/stable/kavita/8.1.14/templates/common.yaml similarity index 100% rename from stable/maintainerr/1.0.0/templates/common.yaml rename to stable/kavita/8.1.14/templates/common.yaml diff --git a/stable/maintainerr/1.0.0/values.yaml b/stable/kavita/8.1.14/values.yaml similarity index 100% rename from stable/maintainerr/1.0.0/values.yaml rename to stable/kavita/8.1.14/values.yaml diff --git a/stable/maintainerr/1.0.0/CHANGELOG.md b/stable/maintainerr/1.0.0/CHANGELOG.md deleted file mode 100644 index c9cee99bd19..00000000000 --- a/stable/maintainerr/1.0.0/CHANGELOG.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Changelog ---- - -**Important:** -*for the complete changelog, please refer to the website* - - - -## [maintainerr-1.0.0](https://github.com/truecharts/charts/compare/maintainerr-0.0.3...maintainerr-1.0.0) (2024-02-07) \ No newline at end of file diff --git a/stable/maintainerr/1.0.0/app-changelog.md b/stable/maintainerr/1.0.0/app-changelog.md deleted file mode 100644 index c844db8a729..00000000000 --- a/stable/maintainerr/1.0.0/app-changelog.md +++ /dev/null @@ -1,3 +0,0 @@ - - -## [maintainerr-1.0.0](https://github.com/truecharts/charts/compare/maintainerr-0.0.3...maintainerr-1.0.0) (2024-02-07) \ No newline at end of file diff --git a/stable/maintainerr/1.0.1/CHANGELOG.md b/stable/maintainerr/1.0.1/CHANGELOG.md new file mode 100644 index 00000000000..68d00f4641e --- /dev/null +++ b/stable/maintainerr/1.0.1/CHANGELOG.md @@ -0,0 +1,19 @@ +--- +title: Changelog +--- + +**Important:** +*for the complete changelog, please refer to the website* + + + +## [maintainerr-1.0.1](https://github.com/truecharts/charts/compare/maintainerr-1.0.0...maintainerr-1.0.1) (2024-02-12) + +### Chore + + + +- update container image jorenn92/maintainerr to v2.0.2[@4e0f519](https://github.com/4e0f519) by renovate ([#18140](https://github.com/truecharts/charts/issues/18140)) + + +## [maintainerr-1.0.0](https://github.com/truecharts/charts/compare/maintainerr-0.0.3...maintainerr-1.0.0) (2024-02-07) \ No newline at end of file diff --git a/stable/maintainerr/1.0.0/Chart.yaml b/stable/maintainerr/1.0.1/Chart.yaml similarity index 96% rename from stable/maintainerr/1.0.0/Chart.yaml rename to stable/maintainerr/1.0.1/Chart.yaml index cf6c4879370..4e591decbc4 100644 --- a/stable/maintainerr/1.0.0/Chart.yaml +++ b/stable/maintainerr/1.0.1/Chart.yaml @@ -7,7 +7,7 @@ annotations: truecharts.org/min_helm_version: "3.12" truecharts.org/train: stable apiVersion: v2 -appVersion: 2.0.0 +appVersion: 2.0.2 dependencies: - name: common version: 17.2.21 @@ -34,4 +34,4 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/maintainerr - https://hub.docker.com/r/jorenn92/maintainerr type: application -version: 1.0.0 +version: 1.0.1 diff --git a/stable/maintainerr/1.0.1/README.md b/stable/maintainerr/1.0.1/README.md new file mode 100644 index 00000000000..922aacdf60c --- /dev/null +++ b/stable/maintainerr/1.0.1/README.md @@ -0,0 +1,28 @@ +--- +title: 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/maintainerr) + +**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/maintainerr/1.0.1/app-changelog.md b/stable/maintainerr/1.0.1/app-changelog.md new file mode 100644 index 00000000000..ff837ce3f3b --- /dev/null +++ b/stable/maintainerr/1.0.1/app-changelog.md @@ -0,0 +1,9 @@ + + +## [maintainerr-1.0.1](https://github.com/truecharts/charts/compare/maintainerr-1.0.0...maintainerr-1.0.1) (2024-02-12) + +### Chore + + + +- update container image jorenn92/maintainerr to v2.0.2[@4e0f519](https://github.com/4e0f519) by renovate ([#18140](https://github.com/truecharts/charts/issues/18140)) \ No newline at end of file diff --git a/stable/maintainerr/1.0.0/app-readme.md b/stable/maintainerr/1.0.1/app-readme.md similarity index 100% rename from stable/maintainerr/1.0.0/app-readme.md rename to stable/maintainerr/1.0.1/app-readme.md diff --git a/stable/maintainerr/1.0.0/charts/common-17.2.21.tgz b/stable/maintainerr/1.0.1/charts/common-17.2.21.tgz similarity index 100% rename from stable/maintainerr/1.0.0/charts/common-17.2.21.tgz rename to stable/maintainerr/1.0.1/charts/common-17.2.21.tgz diff --git a/stable/maintainerr/1.0.0/ix_values.yaml b/stable/maintainerr/1.0.1/ix_values.yaml similarity index 81% rename from stable/maintainerr/1.0.0/ix_values.yaml rename to stable/maintainerr/1.0.1/ix_values.yaml index 5dea6fe52c5..39f78f9c142 100644 --- a/stable/maintainerr/1.0.0/ix_values.yaml +++ b/stable/maintainerr/1.0.1/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: jorenn92/maintainerr pullPolicy: IfNotPresent - tag: 2.0.0@sha256:7377075b39985b64369d1fddd1ea9ad39f59a8e98c777e2da4cd7041a93b6380 + tag: 2.0.2@sha256:4e0f5199f09b8a1fc7d9933c1ecbf508b6d4f18b6f8d1e40bd0453dc14c80a5c securityContext: container: diff --git a/stable/maintainerr/1.0.0/questions.yaml b/stable/maintainerr/1.0.1/questions.yaml similarity index 100% rename from stable/maintainerr/1.0.0/questions.yaml rename to stable/maintainerr/1.0.1/questions.yaml diff --git a/stable/metabase/2.1.14/templates/NOTES.txt b/stable/maintainerr/1.0.1/templates/NOTES.txt similarity index 100% rename from stable/metabase/2.1.14/templates/NOTES.txt rename to stable/maintainerr/1.0.1/templates/NOTES.txt diff --git a/stable/metabase/2.1.14/templates/common.yaml b/stable/maintainerr/1.0.1/templates/common.yaml similarity index 100% rename from stable/metabase/2.1.14/templates/common.yaml rename to stable/maintainerr/1.0.1/templates/common.yaml diff --git a/stable/metabase/2.1.14/values.yaml b/stable/maintainerr/1.0.1/values.yaml similarity index 100% rename from stable/metabase/2.1.14/values.yaml rename to stable/maintainerr/1.0.1/values.yaml diff --git a/stable/metabase/2.1.14/app-changelog.md b/stable/metabase/2.1.14/app-changelog.md deleted file mode 100644 index 0d15f1fa302..00000000000 --- a/stable/metabase/2.1.14/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [metabase-2.1.14](https://github.com/truecharts/charts/compare/metabase-2.1.13...metabase-2.1.14) (2024-02-03) - -### Chore - - - -- update container image common to v17.2.30[@19ad5ec](https://github.com/19ad5ec) by renovate ([#17804](https://github.com/truecharts/charts/issues/17804)) \ No newline at end of file diff --git a/stable/metabase/2.1.14/CHANGELOG.md b/stable/metabase/2.1.15/CHANGELOG.md similarity index 90% rename from stable/metabase/2.1.14/CHANGELOG.md rename to stable/metabase/2.1.15/CHANGELOG.md index c254d865fa3..e77be21da02 100644 --- a/stable/metabase/2.1.14/CHANGELOG.md +++ b/stable/metabase/2.1.15/CHANGELOG.md @@ -7,6 +7,15 @@ title: Changelog +## [metabase-2.1.15](https://github.com/truecharts/charts/compare/metabase-2.1.14...metabase-2.1.15) (2024-02-12) + +### Chore + + + +- update container image metabase/metabase to v0.48.5[@9ae4ca1](https://github.com/9ae4ca1) by renovate ([#18143](https://github.com/truecharts/charts/issues/18143)) + + ## [metabase-2.1.14](https://github.com/truecharts/charts/compare/metabase-2.1.13...metabase-2.1.14) (2024-02-03) ### Chore @@ -88,12 +97,3 @@ title: Changelog - update container image metabase/metabase to v0.48.2[@3afb2a1](https://github.com/3afb2a1) by renovate ([#17007](https://github.com/truecharts/charts/issues/17007)) - - -## [metabase-2.1.5](https://github.com/truecharts/charts/compare/metabase-2.1.4...metabase-2.1.5) (2024-01-02) - -### Chore - - - -- force bump to ensure up-to-date catalogs diff --git a/stable/metabase/2.1.14/Chart.yaml b/stable/metabase/2.1.15/Chart.yaml similarity index 96% rename from stable/metabase/2.1.14/Chart.yaml rename to stable/metabase/2.1.15/Chart.yaml index 86e741cbd83..84157301fa0 100644 --- a/stable/metabase/2.1.14/Chart.yaml +++ b/stable/metabase/2.1.15/Chart.yaml @@ -7,7 +7,7 @@ annotations: truecharts.org/min_helm_version: "3.12" truecharts.org/train: stable apiVersion: v2 -appVersion: 0.48.4 +appVersion: 0.48.5 dependencies: - name: common version: 17.2.30 @@ -33,4 +33,4 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/metabase - https://hub.docker.com/r/metabase/metabase type: application -version: 2.1.14 +version: 2.1.15 diff --git a/stable/metabase/2.1.14/README.md b/stable/metabase/2.1.15/README.md similarity index 100% rename from stable/metabase/2.1.14/README.md rename to stable/metabase/2.1.15/README.md diff --git a/stable/metabase/2.1.15/app-changelog.md b/stable/metabase/2.1.15/app-changelog.md new file mode 100644 index 00000000000..1fcc54de1cd --- /dev/null +++ b/stable/metabase/2.1.15/app-changelog.md @@ -0,0 +1,9 @@ + + +## [metabase-2.1.15](https://github.com/truecharts/charts/compare/metabase-2.1.14...metabase-2.1.15) (2024-02-12) + +### Chore + + + +- update container image metabase/metabase to v0.48.5[@9ae4ca1](https://github.com/9ae4ca1) by renovate ([#18143](https://github.com/truecharts/charts/issues/18143)) \ No newline at end of file diff --git a/stable/metabase/2.1.14/app-readme.md b/stable/metabase/2.1.15/app-readme.md similarity index 100% rename from stable/metabase/2.1.14/app-readme.md rename to stable/metabase/2.1.15/app-readme.md diff --git a/stable/netdata/8.1.11/charts/common-17.2.30.tgz b/stable/metabase/2.1.15/charts/common-17.2.30.tgz similarity index 100% rename from stable/netdata/8.1.11/charts/common-17.2.30.tgz rename to stable/metabase/2.1.15/charts/common-17.2.30.tgz diff --git a/stable/metabase/2.1.14/ix_values.yaml b/stable/metabase/2.1.15/ix_values.yaml similarity index 91% rename from stable/metabase/2.1.14/ix_values.yaml rename to stable/metabase/2.1.15/ix_values.yaml index 11ba09abe8b..244576ccd59 100644 --- a/stable/metabase/2.1.14/ix_values.yaml +++ b/stable/metabase/2.1.15/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: metabase/metabase pullPolicy: IfNotPresent - tag: v0.48.4@sha256:fb0eb5b79deb9872061f53b967ee857e8210c42a6ad2f5f2322bcef3d7dd1931 + tag: v0.48.5@sha256:9ae4ca12108645eceddbdcb4f723fdd4fc392c43b043673f6e64538cb31a6198 service: main: ports: diff --git a/stable/metabase/2.1.14/questions.yaml b/stable/metabase/2.1.15/questions.yaml similarity index 99% rename from stable/metabase/2.1.14/questions.yaml rename to stable/metabase/2.1.15/questions.yaml index 96d054a14f0..df93d7c1c62 100644 --- a/stable/metabase/2.1.14/questions.yaml +++ b/stable/metabase/2.1.15/questions.yaml @@ -23,6 +23,8 @@ groups: description: Metrics - name: Addons description: Addon Configuration + - name: Backup Configuration + description: Configure Velero Backup Schedule - name: Advanced description: Advanced Configuration - name: Postgresql diff --git a/stable/netdata/8.1.11/templates/NOTES.txt b/stable/metabase/2.1.15/templates/NOTES.txt similarity index 100% rename from stable/netdata/8.1.11/templates/NOTES.txt rename to stable/metabase/2.1.15/templates/NOTES.txt diff --git a/stable/ollama/1.0.6/templates/common.yaml b/stable/metabase/2.1.15/templates/common.yaml similarity index 100% rename from stable/ollama/1.0.6/templates/common.yaml rename to stable/metabase/2.1.15/templates/common.yaml diff --git a/stable/netdata/8.1.11/values.yaml b/stable/metabase/2.1.15/values.yaml similarity index 100% rename from stable/netdata/8.1.11/values.yaml rename to stable/metabase/2.1.15/values.yaml diff --git a/stable/minio/10.1.1/CHANGELOG.md b/stable/minio/10.1.1/CHANGELOG.md new file mode 100644 index 00000000000..efe5515cccb --- /dev/null +++ b/stable/minio/10.1.1/CHANGELOG.md @@ -0,0 +1,99 @@ +--- +title: Changelog +--- + +**Important:** +*for the complete changelog, please refer to the website* + + + +## [minio-10.1.1](https://github.com/truecharts/charts/compare/minio-10.1.0...minio-10.1.1) (2024-02-12) + +### Chore + + + +- update container image minio/minio to vrelease.2024-02-09t21-25-16z[@68622c3](https://github.com/68622c3) by renovate ([#18144](https://github.com/truecharts/charts/issues/18144)) + + +## [minio-10.1.0](https://github.com/truecharts/charts/compare/minio-10.0.11...minio-10.1.0) (2024-02-05) + +### Chore + + + +- update container image minio/minio to vrelease.2024-02-04t22-36-13z[@edc8947](https://github.com/edc8947) by renovate ([#17964](https://github.com/truecharts/charts/issues/17964)) + + +## [minio-10.0.11](https://github.com/truecharts/charts/compare/minio-10.0.10...minio-10.0.11) (2024-02-05) + +### Chore + + + +- update container image minio/minio to vrelease.2024-01-31t20-20-33z[@4092433](https://github.com/4092433) by renovate ([#17924](https://github.com/truecharts/charts/issues/17924)) + + +## [minio-10.0.10](https://github.com/truecharts/charts/compare/minio-10.0.9...minio-10.0.10) (2024-02-03) + +### Chore + + + +- update container image common to v17.2.30[@19ad5ec](https://github.com/19ad5ec) by renovate ([#17804](https://github.com/truecharts/charts/issues/17804)) + + +## [minio-10.0.9](https://github.com/truecharts/charts/compare/minio-10.0.8...minio-10.0.9) (2024-01-29) + +### Chore + + + +- update container image minio/minio to vrelease.2024-01-29t03-56-32z[@9b19278](https://github.com/9b19278) by renovate ([#17726](https://github.com/truecharts/charts/issues/17726)) + + +## [minio-10.0.8](https://github.com/truecharts/charts/compare/minio-10.0.7...minio-10.0.8) (2024-01-26) + +### Chore + + + +- update container image common to v17.2.29[@d7c41a3](https://github.com/d7c41a3) by renovate ([#17545](https://github.com/truecharts/charts/issues/17545)) + + +## [minio-10.0.7](https://github.com/truecharts/charts/compare/minio-10.0.6...minio-10.0.7) (2024-01-21) + +### Chore + + + +- update container image common to v17.2.28[@918b4c5](https://github.com/918b4c5) by renovate ([#17478](https://github.com/truecharts/charts/issues/17478)) + + +## [minio-10.0.6](https://github.com/truecharts/charts/compare/minio-10.0.5...minio-10.0.6) (2024-01-21) + +### Chore + + + +- update container image common to v17.2.26[@24c98f7](https://github.com/24c98f7) by renovate ([#17409](https://github.com/truecharts/charts/issues/17409)) + + +## [minio-10.0.5](https://github.com/truecharts/charts/compare/minio-10.0.4...minio-10.0.5) (2024-01-21) + +### Chore + + + +- update metadata in chart.yaml ([#17457](https://github.com/truecharts/charts/issues/17457)) + + +## [minio-10.0.4](https://github.com/truecharts/charts/compare/minio-10.0.3...minio-10.0.4) (2024-01-21) + +### Chore + + + +- update container image minio/minio to vrelease.2024-01-18t22-51-28z[@551682a](https://github.com/551682a) by renovate ([#17434](https://github.com/truecharts/charts/issues/17434)) + + diff --git a/stable/minio/10.1.1/Chart.yaml b/stable/minio/10.1.1/Chart.yaml new file mode 100644 index 00000000000..aa1724ee858 --- /dev/null +++ b/stable/minio/10.1.1/Chart.yaml @@ -0,0 +1,38 @@ +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.14" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: stable +apiVersion: v2 +appVersion: 2024.02.09 +dependencies: + - name: common + version: 17.2.30 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: Minio is a self-hosted S3 storage server +home: https://truecharts.org/charts/stable/minio +icon: https://truecharts.org/img/hotlink-ok/chart-icons/minio.png +keywords: + - minio + - s3 + - storage +kubeVersion: ">=1.24.0-0" +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: minio +sources: + - https://github.com/minio/minio + - https://github.com/truecharts/charts/tree/master/charts/stable/minio + - https://hub.docker.com/r/minio/minio +type: application +version: 10.1.1 diff --git a/stable/minio/10.1.1/README.md b/stable/minio/10.1.1/README.md new file mode 100644 index 00000000000..73e84ef66be --- /dev/null +++ b/stable/minio/10.1.1/README.md @@ -0,0 +1,28 @@ +--- +title: 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/minio) + +**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/minio/10.1.1/app-changelog.md b/stable/minio/10.1.1/app-changelog.md new file mode 100644 index 00000000000..60403d8666d --- /dev/null +++ b/stable/minio/10.1.1/app-changelog.md @@ -0,0 +1,9 @@ + + +## [minio-10.1.1](https://github.com/truecharts/charts/compare/minio-10.1.0...minio-10.1.1) (2024-02-12) + +### Chore + + + +- update container image minio/minio to vrelease.2024-02-09t21-25-16z[@68622c3](https://github.com/68622c3) by renovate ([#18144](https://github.com/truecharts/charts/issues/18144)) \ No newline at end of file diff --git a/stable/minio/10.1.1/app-readme.md b/stable/minio/10.1.1/app-readme.md new file mode 100644 index 00000000000..7b219ae79e3 --- /dev/null +++ b/stable/minio/10.1.1/app-readme.md @@ -0,0 +1,8 @@ +Minio is a self-hosted S3 storage server + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/minio](https://truecharts.org/charts/stable/minio) + +--- + +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/ollama/1.0.6/charts/common-17.2.30.tgz b/stable/minio/10.1.1/charts/common-17.2.30.tgz similarity index 100% rename from stable/ollama/1.0.6/charts/common-17.2.30.tgz rename to stable/minio/10.1.1/charts/common-17.2.30.tgz diff --git a/stable/minio/10.1.1/ix_values.yaml b/stable/minio/10.1.1/ix_values.yaml new file mode 100644 index 00000000000..01471cdde0a --- /dev/null +++ b/stable/minio/10.1.1/ix_values.yaml @@ -0,0 +1,63 @@ +image: + repository: minio/minio + tag: RELEASE.2024-02-09T21-25-16Z@sha256:68622c3e49dd98fbbcb8200729297207759d52e3b02d2ed908c1a7ff3b83f3f7 + pullPolicy: IfNotPresent +service: + main: + ports: + main: + port: 10107 + targetPort: 10107 + api: + enabled: true + ports: + api: + enabled: true + targetPort: 10106 + port: 10106 +ingress: + api: + targetSelector: + api: api +persistence: + config: + enabled: true + mountPath: "/data" +portal: + open: + enabled: true +securityContext: + container: + readOnlyRootFilesystem: false +workload: + main: + podSpec: + containers: + main: + probes: + liveness: + custom: true + spec: + httpGet: + scheme: HTTP + path: "/minio/health/live" + port: 10106 + readiness: + custom: true + spec: + httpGet: + scheme: HTTP + path: "/minio/health/ready" + port: 10106 + args: + - "server" + - "/data" + - "--address" + - ":10106" + - "--console-address" + - ":10107" + env: + MINIO_ROOT_USER: "minio" + MINIO_BROWSER_REDIRECT_URL: "" + MINIO_SERVER_URL: "" + MINIO_ROOT_PASSWORD: "changeme" diff --git a/stable/minio/10.1.1/questions.yaml b/stable/minio/10.1.1/questions.yaml new file mode 100644 index 00000000000..11c8e16274a --- /dev/null +++ b/stable/minio/10.1.1/questions.yaml @@ -0,0 +1,3196 @@ +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: Backup Configuration + description: Configure Velero Backup Schedule + - 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: env + group: "App Configuration" + label: "Image Environment" + schema: + additional_attrs: true + type: dict + attrs: + - variable: MINIO_ROOT_PASSWORD + label: "MINIO_ROOT_PASSWORD" + schema: + type: string + default: "changeme" + - variable: MINIO_ROOT_USER + label: "MINIO_ROOT_USER" + schema: + type: string + default: "minio" + required: true + - variable: MINIO_BROWSER_REDIRECT_URL + label: "MINIO_BROWSER_REDIRECT_URL" + description: "Specify the URL the MinIO Console provides as the redirect URL eg. https://minioconsole.mydomain.com" + schema: + type: string + default: "" + - variable: MINIO_SERVER_URL + label: "MINIO_SERVER_URL" + description: "Specify the URL hostname the MinIO Console should use for connecting to the MinIO Server. eg. https://minioserver.mydomain.com" + 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..." + 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: enabled + label: Enabled + schema: + type: boolean + default: true + - variable: data + label: Data + 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 + private: 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: 10107 + required: true + - variable: api + label: "API 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: api + label: "API 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: 10106 + 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: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name (Optional) + description: Defaults to chart name + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description (Optional) + description: Defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: icon + label: Icon (Optional) + description: Defaults to chart icon + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: widget + label: Widget Settings + schema: + type: dict + additional_attrs: true + show_if: [["enabled", "=", true]] + attrs: + - variable: enabled + label: Enable Widget + description: When disabled all widget annotations are skipped. + schema: + type: boolean + default: true + - variable: custom + label: Options + schema: + type: dict + additional_attrs: true + attrs: + - variable: key + label: API-key (key) + schema: + type: string + default: "" + - variable: customkv + label: Custom Options + schema: + type: list + default: [] + items: + - variable: option + label: Option + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + default: "" + required: true + - variable: value + label: Value + 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: 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: api + label: "API Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [{path: "/", pathType: "Prefix"}] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name (Optional) + description: Defaults to chart name + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description (Optional) + description: Defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: icon + label: Icon (Optional) + description: Defaults to chart icon + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: widget + label: Widget Settings + schema: + type: dict + additional_attrs: true + show_if: [["enabled", "=", true]] + attrs: + - variable: enabled + label: Enable Widget + description: When disabled all widget annotations are skipped. + schema: + type: boolean + default: true + - variable: custom + label: Options + schema: + type: dict + additional_attrs: true + attrs: + - variable: key + label: API-key (key) + schema: + type: string + default: "" + - variable: customkv + label: Custom Options + schema: + type: list + default: [] + items: + - variable: option + label: Option + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + default: "" + required: true + - variable: value + label: Value + 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: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: ingressList + label: Add Manual Custom Ingresses + group: Ingress + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: Custom Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: overrideService + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + show_if: [["certificateIssuer", "=", ""]] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: scaleCert + label: Use TrueNAS SCALE Certificate (Deprecated) + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: namespace + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: securityContext + group: Security and Permissions + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: container + label: Container + schema: + additional_attrs: true + type: dict + attrs: + # Settings from questions.yaml get appended here on a per-app basis + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 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: 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: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: 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/ollama/1.0.6/templates/NOTES.txt b/stable/minio/10.1.1/templates/NOTES.txt similarity index 100% rename from stable/ollama/1.0.6/templates/NOTES.txt rename to stable/minio/10.1.1/templates/NOTES.txt diff --git a/stable/openvscode-server/8.1.15/templates/common.yaml b/stable/minio/10.1.1/templates/common.yaml similarity index 100% rename from stable/openvscode-server/8.1.15/templates/common.yaml rename to stable/minio/10.1.1/templates/common.yaml diff --git a/stable/ollama/1.0.6/values.yaml b/stable/minio/10.1.1/values.yaml similarity index 100% rename from stable/ollama/1.0.6/values.yaml rename to stable/minio/10.1.1/values.yaml diff --git a/stable/netdata/8.1.11/app-changelog.md b/stable/netdata/8.1.11/app-changelog.md deleted file mode 100644 index e6e0477d78e..00000000000 --- a/stable/netdata/8.1.11/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [netdata-8.1.11](https://github.com/truecharts/charts/compare/netdata-8.1.10...netdata-8.1.11) (2024-02-03) - -### Chore - - - -- update container image common to v17.2.30[@19ad5ec](https://github.com/19ad5ec) by renovate ([#17804](https://github.com/truecharts/charts/issues/17804)) \ No newline at end of file diff --git a/stable/netdata/8.1.11/CHANGELOG.md b/stable/netdata/8.1.12/CHANGELOG.md similarity index 84% rename from stable/netdata/8.1.11/CHANGELOG.md rename to stable/netdata/8.1.12/CHANGELOG.md index bfccd652653..1352f37683b 100644 --- a/stable/netdata/8.1.11/CHANGELOG.md +++ b/stable/netdata/8.1.12/CHANGELOG.md @@ -7,6 +7,15 @@ title: Changelog +## [netdata-8.1.12](https://github.com/truecharts/charts/compare/netdata-8.1.11...netdata-8.1.12) (2024-02-12) + +### Chore + + + +- update container image netdata/netdata to v1.44.2[@78c8cb8](https://github.com/78c8cb8) by renovate ([#18145](https://github.com/truecharts/charts/issues/18145)) + + ## [netdata-8.1.11](https://github.com/truecharts/charts/compare/netdata-8.1.10...netdata-8.1.11) (2024-02-03) ### Chore @@ -88,12 +97,3 @@ title: Changelog ### Chore - -- bump all charts for OCI test push - -- move everything to consume OCI-hosted common-chart dependency - -- update container image common to v17.2.19[@4ebb688](https://github.com/4ebb688) by renovate ([#16733](https://github.com/truecharts/charts/issues/16733)) - -- update container image common to v17.2.18[@085ba3c](https://github.com/085ba3c) by renovate ([#16732](https://github.com/truecharts/charts/issues/16732)) - diff --git a/stable/netdata/8.1.11/Chart.yaml b/stable/netdata/8.1.12/Chart.yaml similarity index 96% rename from stable/netdata/8.1.11/Chart.yaml rename to stable/netdata/8.1.12/Chart.yaml index 263e3eda792..ffb47d9a82a 100644 --- a/stable/netdata/8.1.11/Chart.yaml +++ b/stable/netdata/8.1.12/Chart.yaml @@ -7,7 +7,7 @@ annotations: truecharts.org/min_helm_version: "3.12" truecharts.org/train: stable apiVersion: v2 -appVersion: 1.44.1 +appVersion: 1.44.2 dependencies: - name: common version: 17.2.30 @@ -34,4 +34,4 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/netdata - https://hub.docker.com/r/netdata/netdata type: application -version: 8.1.11 +version: 8.1.12 diff --git a/stable/netdata/8.1.11/README.md b/stable/netdata/8.1.12/README.md similarity index 100% rename from stable/netdata/8.1.11/README.md rename to stable/netdata/8.1.12/README.md diff --git a/stable/netdata/8.1.12/app-changelog.md b/stable/netdata/8.1.12/app-changelog.md new file mode 100644 index 00000000000..2610d4e7898 --- /dev/null +++ b/stable/netdata/8.1.12/app-changelog.md @@ -0,0 +1,9 @@ + + +## [netdata-8.1.12](https://github.com/truecharts/charts/compare/netdata-8.1.11...netdata-8.1.12) (2024-02-12) + +### Chore + + + +- update container image netdata/netdata to v1.44.2[@78c8cb8](https://github.com/78c8cb8) by renovate ([#18145](https://github.com/truecharts/charts/issues/18145)) \ No newline at end of file diff --git a/stable/netdata/8.1.11/app-readme.md b/stable/netdata/8.1.12/app-readme.md similarity index 100% rename from stable/netdata/8.1.11/app-readme.md rename to stable/netdata/8.1.12/app-readme.md diff --git a/stable/openvscode-server/8.1.15/charts/common-17.2.30.tgz b/stable/netdata/8.1.12/charts/common-17.2.30.tgz similarity index 100% rename from stable/openvscode-server/8.1.15/charts/common-17.2.30.tgz rename to stable/netdata/8.1.12/charts/common-17.2.30.tgz diff --git a/stable/netdata/8.1.11/ix_values.yaml b/stable/netdata/8.1.12/ix_values.yaml similarity index 98% rename from stable/netdata/8.1.11/ix_values.yaml rename to stable/netdata/8.1.12/ix_values.yaml index 5707c0fbb25..d8c41acc052 100644 --- a/stable/netdata/8.1.11/ix_values.yaml +++ b/stable/netdata/8.1.12/ix_values.yaml @@ -1,6 +1,6 @@ image: repository: netdata/netdata - tag: v1.44.1@sha256:4363d046c878507036b977e9716828bffc26913b1b3f977e83015d370ffc154a + tag: v1.44.2@sha256:78c8cb876be0f4a1f1544126b9a71b92b8c47300083f408bd033192d9c1cf666 pullPolicy: IfNotPresent # -- The service account the pods will use to interact with the Kubernetes API serviceAccount: diff --git a/stable/netdata/8.1.11/questions.yaml b/stable/netdata/8.1.12/questions.yaml similarity index 99% rename from stable/netdata/8.1.11/questions.yaml rename to stable/netdata/8.1.12/questions.yaml index 525551eb4eb..1b62febaad8 100644 --- a/stable/netdata/8.1.11/questions.yaml +++ b/stable/netdata/8.1.12/questions.yaml @@ -23,6 +23,8 @@ groups: description: Metrics - name: Addons description: Addon Configuration + - name: Backup Configuration + description: Configure Velero Backup Schedule - name: Advanced description: Advanced Configuration - name: Postgresql diff --git a/stable/openvscode-server/8.1.15/templates/NOTES.txt b/stable/netdata/8.1.12/templates/NOTES.txt similarity index 100% rename from stable/openvscode-server/8.1.15/templates/NOTES.txt rename to stable/netdata/8.1.12/templates/NOTES.txt diff --git a/stable/netdata/8.1.11/templates/common.yaml b/stable/netdata/8.1.12/templates/common.yaml similarity index 100% rename from stable/netdata/8.1.11/templates/common.yaml rename to stable/netdata/8.1.12/templates/common.yaml diff --git a/stable/openvscode-server/8.1.15/values.yaml b/stable/netdata/8.1.12/values.yaml similarity index 100% rename from stable/openvscode-server/8.1.15/values.yaml rename to stable/netdata/8.1.12/values.yaml diff --git a/stable/ollama/1.0.6/app-changelog.md b/stable/ollama/1.0.6/app-changelog.md deleted file mode 100644 index 6e75a413900..00000000000 --- a/stable/ollama/1.0.6/app-changelog.md +++ /dev/null @@ -1,3 +0,0 @@ - - -## [ollama-1.0.6](https://github.com/truecharts/charts/compare/ollama-1.0.5...ollama-1.0.6) (2024-02-08) \ No newline at end of file diff --git a/stable/ollama/1.0.6/CHANGELOG.md b/stable/ollama/1.0.7/CHANGELOG.md similarity index 84% rename from stable/ollama/1.0.6/CHANGELOG.md rename to stable/ollama/1.0.7/CHANGELOG.md index fb098b3d58d..afe4807ef7a 100644 --- a/stable/ollama/1.0.6/CHANGELOG.md +++ b/stable/ollama/1.0.7/CHANGELOG.md @@ -7,6 +7,15 @@ title: Changelog +## [ollama-1.0.7](https://github.com/truecharts/charts/compare/ollama-1.0.6...ollama-1.0.7) (2024-02-12) + +### Chore + + + +- update container image ollama/ollama to v0.1.24[@bb575e1](https://github.com/bb575e1) by renovate ([#18146](https://github.com/truecharts/charts/issues/18146)) + + ## [ollama-1.0.6](https://github.com/truecharts/charts/compare/ollama-1.0.5...ollama-1.0.6) (2024-02-08) diff --git a/stable/ollama/1.0.6/Chart.yaml b/stable/ollama/1.0.7/Chart.yaml similarity index 97% rename from stable/ollama/1.0.6/Chart.yaml rename to stable/ollama/1.0.7/Chart.yaml index 7ded6cc9c08..156d2bd68d8 100644 --- a/stable/ollama/1.0.6/Chart.yaml +++ b/stable/ollama/1.0.7/Chart.yaml @@ -7,7 +7,7 @@ annotations: truecharts.org/min_helm_version: "3.12" truecharts.org/train: stable apiVersion: v2 -appVersion: 0.1.23 +appVersion: 0.1.24 dependencies: - name: common version: 17.2.30 @@ -36,4 +36,4 @@ sources: - https://hub.docker.com/r/ollama/ollama - https://ghcr.io/ollama-webui/ollama-webui type: application -version: 1.0.6 +version: 1.0.7 diff --git a/stable/ollama/1.0.6/README.md b/stable/ollama/1.0.7/README.md similarity index 100% rename from stable/ollama/1.0.6/README.md rename to stable/ollama/1.0.7/README.md diff --git a/stable/ollama/1.0.7/app-changelog.md b/stable/ollama/1.0.7/app-changelog.md new file mode 100644 index 00000000000..63f4c8bfaf2 --- /dev/null +++ b/stable/ollama/1.0.7/app-changelog.md @@ -0,0 +1,9 @@ + + +## [ollama-1.0.7](https://github.com/truecharts/charts/compare/ollama-1.0.6...ollama-1.0.7) (2024-02-12) + +### Chore + + + +- update container image ollama/ollama to v0.1.24[@bb575e1](https://github.com/bb575e1) by renovate ([#18146](https://github.com/truecharts/charts/issues/18146)) \ No newline at end of file diff --git a/stable/ollama/1.0.6/app-readme.md b/stable/ollama/1.0.7/app-readme.md similarity index 100% rename from stable/ollama/1.0.6/app-readme.md rename to stable/ollama/1.0.7/app-readme.md diff --git a/stable/plextraktsync/6.2.12/charts/common-17.2.30.tgz b/stable/ollama/1.0.7/charts/common-17.2.30.tgz similarity index 100% rename from stable/plextraktsync/6.2.12/charts/common-17.2.30.tgz rename to stable/ollama/1.0.7/charts/common-17.2.30.tgz diff --git a/stable/ollama/1.0.6/ix_values.yaml b/stable/ollama/1.0.7/ix_values.yaml similarity index 96% rename from stable/ollama/1.0.6/ix_values.yaml rename to stable/ollama/1.0.7/ix_values.yaml index 7a159705d04..a8706ca4057 100644 --- a/stable/ollama/1.0.6/ix_values.yaml +++ b/stable/ollama/1.0.7/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: ollama/ollama pullPolicy: IfNotPresent - tag: 0.1.23@sha256:3f2db54ed0eb615d75fd83c0f10b6e5d196e95e4550cde383f6be410b3deb74b + tag: 0.1.24@sha256:bb575e1ebe018b89b5adb1a654967ae337c05109e942b7b32ce90d6d731bb641 uiImage: repository: ghcr.io/ollama-webui/ollama-webui pullPolicy: IfNotPresent diff --git a/stable/ollama/1.0.6/questions.yaml b/stable/ollama/1.0.7/questions.yaml similarity index 100% rename from stable/ollama/1.0.6/questions.yaml rename to stable/ollama/1.0.7/questions.yaml diff --git a/stable/plextraktsync/6.2.12/templates/NOTES.txt b/stable/ollama/1.0.7/templates/NOTES.txt similarity index 100% rename from stable/plextraktsync/6.2.12/templates/NOTES.txt rename to stable/ollama/1.0.7/templates/NOTES.txt diff --git a/stable/tinymediamanager/9.0.7/templates/common.yaml b/stable/ollama/1.0.7/templates/common.yaml similarity index 100% rename from stable/tinymediamanager/9.0.7/templates/common.yaml rename to stable/ollama/1.0.7/templates/common.yaml diff --git a/stable/plextraktsync/6.2.12/values.yaml b/stable/ollama/1.0.7/values.yaml similarity index 100% rename from stable/plextraktsync/6.2.12/values.yaml rename to stable/ollama/1.0.7/values.yaml diff --git a/stable/openvscode-server/8.1.15/app-changelog.md b/stable/openvscode-server/8.1.15/app-changelog.md deleted file mode 100644 index fbe8d820498..00000000000 --- a/stable/openvscode-server/8.1.15/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [openvscode-server-8.1.15](https://github.com/truecharts/charts/compare/openvscode-server-8.1.14...openvscode-server-8.1.15) (2024-02-05) - -### Chore - - - -- update container image ghcr.io/linuxserver/openvscode-server to 1.85.1[@b952c00](https://github.com/b952c00) by renovate ([#17861](https://github.com/truecharts/charts/issues/17861)) \ No newline at end of file diff --git a/stable/openvscode-server/8.1.15/CHANGELOG.md b/stable/openvscode-server/8.1.16/CHANGELOG.md similarity index 91% rename from stable/openvscode-server/8.1.15/CHANGELOG.md rename to stable/openvscode-server/8.1.16/CHANGELOG.md index 4dddcb0a030..193b4d6af3d 100644 --- a/stable/openvscode-server/8.1.15/CHANGELOG.md +++ b/stable/openvscode-server/8.1.16/CHANGELOG.md @@ -7,6 +7,15 @@ title: Changelog +## [openvscode-server-8.1.16](https://github.com/truecharts/charts/compare/openvscode-server-8.1.15...openvscode-server-8.1.16) (2024-02-12) + +### Chore + + + +- update container image ghcr.io/linuxserver/openvscode-server to v1.85.2[@1da1d36](https://github.com/1da1d36) by renovate ([#18135](https://github.com/truecharts/charts/issues/18135)) + + ## [openvscode-server-8.1.15](https://github.com/truecharts/charts/compare/openvscode-server-8.1.14...openvscode-server-8.1.15) (2024-02-05) ### Chore @@ -88,12 +97,3 @@ title: Changelog - update container image common to v17.2.22[@e7c9056](https://github.com/e7c9056) by renovate ([#16986](https://github.com/truecharts/charts/issues/16986)) - - -## [openvscode-server-8.1.6](https://github.com/truecharts/charts/compare/openvscode-server-8.1.5...openvscode-server-8.1.6) (2024-01-08) - -### Chore - - - -- update container image ghcr.io/linuxserver/openvscode-server to 1.85.1[@5851a3f](https://github.com/5851a3f) by renovate ([#16948](https://github.com/truecharts/charts/issues/16948)) diff --git a/stable/openvscode-server/8.1.15/Chart.yaml b/stable/openvscode-server/8.1.16/Chart.yaml similarity index 96% rename from stable/openvscode-server/8.1.15/Chart.yaml rename to stable/openvscode-server/8.1.16/Chart.yaml index 46e56680140..09dbeba3585 100644 --- a/stable/openvscode-server/8.1.15/Chart.yaml +++ b/stable/openvscode-server/8.1.16/Chart.yaml @@ -7,7 +7,7 @@ annotations: truecharts.org/min_helm_version: "3.12" truecharts.org/train: stable apiVersion: v2 -appVersion: 1.85.1 +appVersion: 1.85.2 dependencies: - name: common version: 17.2.30 @@ -32,4 +32,4 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/openvscode-server - https://ghcr.io/linuxserver/openvscode-server type: application -version: 8.1.15 +version: 8.1.16 diff --git a/stable/openvscode-server/8.1.15/README.md b/stable/openvscode-server/8.1.16/README.md similarity index 100% rename from stable/openvscode-server/8.1.15/README.md rename to stable/openvscode-server/8.1.16/README.md diff --git a/stable/openvscode-server/8.1.16/app-changelog.md b/stable/openvscode-server/8.1.16/app-changelog.md new file mode 100644 index 00000000000..f9ee93e15f8 --- /dev/null +++ b/stable/openvscode-server/8.1.16/app-changelog.md @@ -0,0 +1,9 @@ + + +## [openvscode-server-8.1.16](https://github.com/truecharts/charts/compare/openvscode-server-8.1.15...openvscode-server-8.1.16) (2024-02-12) + +### Chore + + + +- update container image ghcr.io/linuxserver/openvscode-server to v1.85.2[@1da1d36](https://github.com/1da1d36) by renovate ([#18135](https://github.com/truecharts/charts/issues/18135)) \ No newline at end of file diff --git a/stable/openvscode-server/8.1.15/app-readme.md b/stable/openvscode-server/8.1.16/app-readme.md similarity index 100% rename from stable/openvscode-server/8.1.15/app-readme.md rename to stable/openvscode-server/8.1.16/app-readme.md diff --git a/stable/qbitrr/3.2.8/charts/common-17.2.30.tgz b/stable/openvscode-server/8.1.16/charts/common-17.2.30.tgz similarity index 100% rename from stable/qbitrr/3.2.8/charts/common-17.2.30.tgz rename to stable/openvscode-server/8.1.16/charts/common-17.2.30.tgz diff --git a/stable/openvscode-server/8.1.15/ix_values.yaml b/stable/openvscode-server/8.1.16/ix_values.yaml similarity index 85% rename from stable/openvscode-server/8.1.15/ix_values.yaml rename to stable/openvscode-server/8.1.16/ix_values.yaml index 51e31538b3a..b803e78e7c0 100644 --- a/stable/openvscode-server/8.1.15/ix_values.yaml +++ b/stable/openvscode-server/8.1.16/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: ghcr.io/linuxserver/openvscode-server pullPolicy: IfNotPresent - tag: 1.85.1@sha256:b952c00a76dfae04e31b2d6d0b2a1682698b705cdefda52de677bcc26e4dec61 + tag: 1.85.2@sha256:1da1d360aff3ac85246e6c310e0045da2ecf5d86cb14dc03ce14f4092c914192 # secretEnv: # CONNECTION_TOKEN: "somerandomstring" # CONNECTION_SECRET: "" diff --git a/stable/openvscode-server/8.1.15/questions.yaml b/stable/openvscode-server/8.1.16/questions.yaml similarity index 99% rename from stable/openvscode-server/8.1.15/questions.yaml rename to stable/openvscode-server/8.1.16/questions.yaml index 629c3dcc286..72ac7e0b492 100644 --- a/stable/openvscode-server/8.1.15/questions.yaml +++ b/stable/openvscode-server/8.1.16/questions.yaml @@ -23,6 +23,8 @@ groups: description: Metrics - name: Addons description: Addon Configuration + - name: Backup Configuration + description: Configure Velero Backup Schedule - name: Advanced description: Advanced Configuration - name: Postgresql diff --git a/stable/qbitrr/3.2.8/templates/NOTES.txt b/stable/openvscode-server/8.1.16/templates/NOTES.txt similarity index 100% rename from stable/qbitrr/3.2.8/templates/NOTES.txt rename to stable/openvscode-server/8.1.16/templates/NOTES.txt diff --git a/stable/openvscode-server/8.1.16/templates/common.yaml b/stable/openvscode-server/8.1.16/templates/common.yaml new file mode 100644 index 00000000000..b51394e00a4 --- /dev/null +++ b/stable/openvscode-server/8.1.16/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.v1.common.loader.all" . }} diff --git a/stable/qbitrr/3.2.8/values.yaml b/stable/openvscode-server/8.1.16/values.yaml similarity index 100% rename from stable/qbitrr/3.2.8/values.yaml rename to stable/openvscode-server/8.1.16/values.yaml diff --git a/stable/plextraktsync/6.2.12/app-changelog.md b/stable/plextraktsync/6.2.12/app-changelog.md deleted file mode 100644 index f1388591a61..00000000000 --- a/stable/plextraktsync/6.2.12/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [plextraktsync-6.2.12](https://github.com/truecharts/charts/compare/plextraktsync-6.2.11...plextraktsync-6.2.12) (2024-02-05) - -### Chore - - - -- update container image ghcr.io/taxel/plextraktsync to v0.28.16[@2a39047](https://github.com/2a39047) by renovate ([#17985](https://github.com/truecharts/charts/issues/17985)) \ No newline at end of file diff --git a/stable/plextraktsync/6.2.12/CHANGELOG.md b/stable/plextraktsync/6.2.13/CHANGELOG.md similarity index 90% rename from stable/plextraktsync/6.2.12/CHANGELOG.md rename to stable/plextraktsync/6.2.13/CHANGELOG.md index 970aabdf7ad..113c5be587c 100644 --- a/stable/plextraktsync/6.2.12/CHANGELOG.md +++ b/stable/plextraktsync/6.2.13/CHANGELOG.md @@ -7,6 +7,15 @@ title: Changelog +## [plextraktsync-6.2.13](https://github.com/truecharts/charts/compare/plextraktsync-6.2.12...plextraktsync-6.2.13) (2024-02-12) + +### Chore + + + +- update container image ghcr.io/taxel/plextraktsync to v0.28.17[@99085c4](https://github.com/99085c4) by renovate ([#18138](https://github.com/truecharts/charts/issues/18138)) + + ## [plextraktsync-6.2.12](https://github.com/truecharts/charts/compare/plextraktsync-6.2.11...plextraktsync-6.2.12) (2024-02-05) ### Chore @@ -88,12 +97,3 @@ title: Changelog - update container image ghcr.io/taxel/plextraktsync to v0.28.8[@fbc863b](https://github.com/fbc863b) by renovate ([#17282](https://github.com/truecharts/charts/issues/17282)) -## [plextraktsync-6.2.3](https://github.com/truecharts/charts/compare/plextraktsync-6.2.2...plextraktsync-6.2.3) (2024-01-15) - -### Chore - - - -- update container image ghcr.io/taxel/plextraktsync to v0.28.7[@ff622fc](https://github.com/ff622fc) by renovate ([#17247](https://github.com/truecharts/charts/issues/17247)) - - diff --git a/stable/plextraktsync/6.2.12/Chart.yaml b/stable/plextraktsync/6.2.13/Chart.yaml similarity index 96% rename from stable/plextraktsync/6.2.12/Chart.yaml rename to stable/plextraktsync/6.2.13/Chart.yaml index 2a6731fe4e4..fdd4d79272d 100644 --- a/stable/plextraktsync/6.2.12/Chart.yaml +++ b/stable/plextraktsync/6.2.13/Chart.yaml @@ -7,7 +7,7 @@ annotations: truecharts.org/min_helm_version: "3.12" truecharts.org/train: stable apiVersion: v2 -appVersion: 0.28.16 +appVersion: 0.28.17 dependencies: - name: common version: 17.2.30 @@ -35,4 +35,4 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/plextraktsync - https://ghcr.io/taxel/plextraktsync type: application -version: 6.2.12 +version: 6.2.13 diff --git a/stable/plextraktsync/6.2.12/README.md b/stable/plextraktsync/6.2.13/README.md similarity index 100% rename from stable/plextraktsync/6.2.12/README.md rename to stable/plextraktsync/6.2.13/README.md diff --git a/stable/plextraktsync/6.2.13/app-changelog.md b/stable/plextraktsync/6.2.13/app-changelog.md new file mode 100644 index 00000000000..7885535b46c --- /dev/null +++ b/stable/plextraktsync/6.2.13/app-changelog.md @@ -0,0 +1,9 @@ + + +## [plextraktsync-6.2.13](https://github.com/truecharts/charts/compare/plextraktsync-6.2.12...plextraktsync-6.2.13) (2024-02-12) + +### Chore + + + +- update container image ghcr.io/taxel/plextraktsync to v0.28.17[@99085c4](https://github.com/99085c4) by renovate ([#18138](https://github.com/truecharts/charts/issues/18138)) \ No newline at end of file diff --git a/stable/plextraktsync/6.2.12/app-readme.md b/stable/plextraktsync/6.2.13/app-readme.md similarity index 100% rename from stable/plextraktsync/6.2.12/app-readme.md rename to stable/plextraktsync/6.2.13/app-readme.md diff --git a/stable/rdesktop/7.1.152/charts/common-17.2.30.tgz b/stable/plextraktsync/6.2.13/charts/common-17.2.30.tgz similarity index 100% rename from stable/rdesktop/7.1.152/charts/common-17.2.30.tgz rename to stable/plextraktsync/6.2.13/charts/common-17.2.30.tgz diff --git a/stable/plextraktsync/6.2.12/ix_values.yaml b/stable/plextraktsync/6.2.13/ix_values.yaml similarity index 90% rename from stable/plextraktsync/6.2.12/ix_values.yaml rename to stable/plextraktsync/6.2.13/ix_values.yaml index e671cac5b76..ac5b1d0210a 100644 --- a/stable/plextraktsync/6.2.12/ix_values.yaml +++ b/stable/plextraktsync/6.2.13/ix_values.yaml @@ -1,6 +1,6 @@ image: repository: ghcr.io/taxel/plextraktsync - tag: 0.28.16@sha256:2a3904705036c62f07110301bc81c67d0dd80738eaa67a80166524a85bfc3c83 + tag: 0.28.17@sha256:99085c480b1ba1233fc1d94f03e60fd3af861ed6c3959c9c3b32ec5a23e6334f pullPolicy: IfNotPresent securityContext: diff --git a/stable/plextraktsync/6.2.12/questions.yaml b/stable/plextraktsync/6.2.13/questions.yaml similarity index 99% rename from stable/plextraktsync/6.2.12/questions.yaml rename to stable/plextraktsync/6.2.13/questions.yaml index 3e7edcbc136..b2b71d1f1dd 100644 --- a/stable/plextraktsync/6.2.12/questions.yaml +++ b/stable/plextraktsync/6.2.13/questions.yaml @@ -23,6 +23,8 @@ groups: description: Metrics - name: Addons description: Addon Configuration + - name: Backup Configuration + description: Configure Velero Backup Schedule - name: Advanced description: Advanced Configuration - name: Postgresql diff --git a/stable/rdesktop/7.1.152/templates/NOTES.txt b/stable/plextraktsync/6.2.13/templates/NOTES.txt similarity index 100% rename from stable/rdesktop/7.1.152/templates/NOTES.txt rename to stable/plextraktsync/6.2.13/templates/NOTES.txt diff --git a/stable/plextraktsync/6.2.12/templates/_cronjob.tpl b/stable/plextraktsync/6.2.13/templates/_cronjob.tpl similarity index 100% rename from stable/plextraktsync/6.2.12/templates/_cronjob.tpl rename to stable/plextraktsync/6.2.13/templates/_cronjob.tpl diff --git a/stable/plextraktsync/6.2.12/templates/common.yaml b/stable/plextraktsync/6.2.13/templates/common.yaml similarity index 100% rename from stable/plextraktsync/6.2.12/templates/common.yaml rename to stable/plextraktsync/6.2.13/templates/common.yaml diff --git a/stable/rdesktop/7.1.152/values.yaml b/stable/plextraktsync/6.2.13/values.yaml similarity index 100% rename from stable/rdesktop/7.1.152/values.yaml rename to stable/plextraktsync/6.2.13/values.yaml diff --git a/stable/prowlarr/14.3.5/CHANGELOG.md b/stable/prowlarr/14.3.5/CHANGELOG.md new file mode 100644 index 00000000000..bbda1117088 --- /dev/null +++ b/stable/prowlarr/14.3.5/CHANGELOG.md @@ -0,0 +1,99 @@ +--- +title: Changelog +--- + +**Important:** +*for the complete changelog, please refer to the website* + + + +## [prowlarr-14.3.5](https://github.com/truecharts/charts/compare/prowlarr-14.3.4...prowlarr-14.3.5) (2024-02-12) + +### Chore + + + +- update container image ghcr.io/onedr0p/prowlarr-develop to v1.13.3.4273[@ca264d9](https://github.com/ca264d9) by renovate ([#18137](https://github.com/truecharts/charts/issues/18137)) + + +## [prowlarr-14.3.4](https://github.com/truecharts/charts/compare/prowlarr-14.3.3...prowlarr-14.3.4) (2024-02-05) + +### Chore + + + +- update container image ghcr.io/onedr0p/prowlarr-develop to 1.13.2.4251[@23d16bf](https://github.com/23d16bf) by renovate ([#17956](https://github.com/truecharts/charts/issues/17956)) + + +## [prowlarr-14.3.3](https://github.com/truecharts/charts/compare/prowlarr-14.3.2...prowlarr-14.3.3) (2024-02-05) + +### Chore + + + +- update container image ghcr.io/onedr0p/prowlarr-develop to v1.13.2.4251[@1ada8d9](https://github.com/1ada8d9) by renovate ([#17915](https://github.com/truecharts/charts/issues/17915)) + + +## [prowlarr-14.3.2](https://github.com/truecharts/charts/compare/prowlarr-14.3.1...prowlarr-14.3.2) (2024-02-03) + +### Chore + + + +- update container image common to v17.2.30[@19ad5ec](https://github.com/19ad5ec) by renovate ([#17804](https://github.com/truecharts/charts/issues/17804)) + + +## [prowlarr-14.3.1](https://github.com/truecharts/charts/compare/prowlarr-14.3.0...prowlarr-14.3.1) (2024-01-29) + +### Chore + + + +- update container image ghcr.io/onedr0p/exportarr to v1.6.1[@60cf3d4](https://github.com/60cf3d4) by renovate ([#17725](https://github.com/truecharts/charts/issues/17725)) + + +## [prowlarr-14.3.0](https://github.com/truecharts/charts/compare/prowlarr-14.2.7...prowlarr-14.3.0) (2024-01-29) + +### Chore + + + +- update container image ghcr.io/onedr0p/prowlarr-develop to v1.13.0.4217[@bbc16bd](https://github.com/bbc16bd) by renovate ([#17694](https://github.com/truecharts/charts/issues/17694)) + + +## [prowlarr-14.2.7](https://github.com/truecharts/charts/compare/prowlarr-14.2.6...prowlarr-14.2.7) (2024-01-26) + +### Chore + + + +- update container image common to v17.2.29[@d7c41a3](https://github.com/d7c41a3) by renovate ([#17545](https://github.com/truecharts/charts/issues/17545)) + + +## [prowlarr-14.2.6](https://github.com/truecharts/charts/compare/prowlarr-14.2.5...prowlarr-14.2.6) (2024-01-21) + +### Chore + + + +- update container image common to v17.2.28[@918b4c5](https://github.com/918b4c5) by renovate ([#17478](https://github.com/truecharts/charts/issues/17478)) + + +## [prowlarr-14.2.5](https://github.com/truecharts/charts/compare/prowlarr-14.2.4...prowlarr-14.2.5) (2024-01-21) + +### Chore + + + +- update container image common to v17.2.26[@24c98f7](https://github.com/24c98f7) by renovate ([#17409](https://github.com/truecharts/charts/issues/17409)) + + +## [prowlarr-14.2.4](https://github.com/truecharts/charts/compare/prowlarr-14.2.3...prowlarr-14.2.4) (2024-01-21) + +### Chore + + + +- update metadata in chart.yaml ([#17457](https://github.com/truecharts/charts/issues/17457)) + + diff --git a/stable/prowlarr/14.3.5/Chart.yaml b/stable/prowlarr/14.3.5/Chart.yaml new file mode 100644 index 00000000000..844ff7e6011 --- /dev/null +++ b/stable/prowlarr/14.3.5/Chart.yaml @@ -0,0 +1,40 @@ +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.14" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: stable +apiVersion: v2 +appVersion: 1.13.3.4273 +dependencies: + - name: common + version: 17.2.30 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: Indexer manager/proxy built on the popular arr net base stack to integrate with your various PVR apps. +home: https://truecharts.org/charts/stable/prowlarr +icon: https://truecharts.org/img/hotlink-ok/chart-icons/prowlarr.png +keywords: + - prowlarr + - torrent + - usenet +kubeVersion: ">=1.24.0-0" +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: prowlarr +sources: + - https://github.com/Prowlarr/Prowlarr + - https://github.com/k8s-at-home/container-images + - https://github.com/truecharts/charts/tree/master/charts/stable/prowlarr + - https://ghcr.io/onedr0p/exportarr + - https://ghcr.io/onedr0p/prowlarr-develop +type: application +version: 14.3.5 diff --git a/stable/prowlarr/14.3.5/README.md b/stable/prowlarr/14.3.5/README.md new file mode 100644 index 00000000000..fbadb86cd5f --- /dev/null +++ b/stable/prowlarr/14.3.5/README.md @@ -0,0 +1,28 @@ +--- +title: 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/prowlarr) + +**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/prowlarr/14.3.5/app-changelog.md b/stable/prowlarr/14.3.5/app-changelog.md new file mode 100644 index 00000000000..3a2784aa183 --- /dev/null +++ b/stable/prowlarr/14.3.5/app-changelog.md @@ -0,0 +1,9 @@ + + +## [prowlarr-14.3.5](https://github.com/truecharts/charts/compare/prowlarr-14.3.4...prowlarr-14.3.5) (2024-02-12) + +### Chore + + + +- update container image ghcr.io/onedr0p/prowlarr-develop to v1.13.3.4273[@ca264d9](https://github.com/ca264d9) by renovate ([#18137](https://github.com/truecharts/charts/issues/18137)) \ No newline at end of file diff --git a/stable/prowlarr/14.3.5/app-readme.md b/stable/prowlarr/14.3.5/app-readme.md new file mode 100644 index 00000000000..4e201b3174d --- /dev/null +++ b/stable/prowlarr/14.3.5/app-readme.md @@ -0,0 +1,8 @@ +Indexer manager/proxy built on the popular arr net base stack to integrate with your various PVR apps. + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/prowlarr](https://truecharts.org/charts/stable/prowlarr) + +--- + +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/tinymediamanager/9.0.7/charts/common-17.2.30.tgz b/stable/prowlarr/14.3.5/charts/common-17.2.30.tgz similarity index 100% rename from stable/tinymediamanager/9.0.7/charts/common-17.2.30.tgz rename to stable/prowlarr/14.3.5/charts/common-17.2.30.tgz diff --git a/stable/prowlarr/14.3.5/ix_values.yaml b/stable/prowlarr/14.3.5/ix_values.yaml new file mode 100644 index 00000000000..c64fc12bbd8 --- /dev/null +++ b/stable/prowlarr/14.3.5/ix_values.yaml @@ -0,0 +1,107 @@ +image: + repository: ghcr.io/onedr0p/prowlarr-develop + tag: 1.13.3.4273@sha256:ca264d9629d35fef799c403fa1fe0625de6dabf6aec08d43ca981867ca8810c2 + pullPolicy: IfNotPresent +exportarrImage: + repository: ghcr.io/onedr0p/exportarr + pullPolicy: IfNotPresent + tag: v1.6.1@sha256:60cf3d44aa0b7dea2a65160b2e2e373c1ae38cd6b12a45fe81b8afa45ac31c22 +securityContext: + container: + readOnlyRootFilesystem: false +service: + main: + ports: + main: + port: 9696 + metrics: + enabled: true + type: ClusterIP + targetSelector: exportarr + ports: + metrics: + enabled: true + port: 9697 + targetSelector: exportarr +workload: + main: + podSpec: + containers: + main: + probes: + liveness: + path: /ping + readiness: + path: /ping + startup: + type: tcp + env: + PROWLARR__PORT: "{{ .Values.service.main.ports.main.port }}" + PROWLARR__AUTHENTICATION_METHOD: "" + exportarr: + enabled: true + type: Deployment + strategy: RollingUpdate + replicas: 1 + podSpec: + containers: + exportarr: + primary: true + enabled: true + imageSelector: exportarrImage + args: + - prowlarr + 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 }}' + # additional metrics (slow) + # ENABLE_ADDITIONAL_METRICS: false + # enable gathering unknown queue items + # ENABLE_UNKNOWN_QUEUE_ITEMS: false + # enable backfill of historical metrics + # PROWLARR__BACKFILL: false + # Set a date from which to start the backfill + # PROWLARR__BACKFILL_SINCE_DATE: 1970-01-01 + CONFIG: "/config/config.xml" +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 + prometheusRule: + enabled: false +portal: + open: + enabled: true +updated: true diff --git a/stable/prowlarr/14.3.5/questions.yaml b/stable/prowlarr/14.3.5/questions.yaml new file mode 100644 index 00000000000..bc526d78554 --- /dev/null +++ b/stable/prowlarr/14.3.5/questions.yaml @@ -0,0 +1,2887 @@ +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: Backup Configuration + description: Configure Velero Backup Schedule + - 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: env + group: App Configuration + label: Image Environment + schema: + additional_attrs: true + type: dict + attrs: + - variable: PROWLARR__AUTHENTICATION_METHOD + label: Auth Method + description: Sets the auth method. + schema: + type: string + default: "" + enum: + - value: "" + description: In-App Setting + - value: External + description: External/None + - value: Basic + description: Basic + - value: Forms + description: Forms + - 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: enabled + label: Enabled + schema: + type: boolean + default: true + - variable: data + label: Data + 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 + private: 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: 9696 + 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: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name (Optional) + description: Defaults to chart name + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description (Optional) + description: Defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: icon + label: Icon (Optional) + description: Defaults to chart icon + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: widget + label: Widget Settings + schema: + type: dict + additional_attrs: true + show_if: [["enabled", "=", true]] + attrs: + - variable: enabled + label: Enable Widget + description: When disabled all widget annotations are skipped. + schema: + type: boolean + default: true + - variable: custom + label: Options + schema: + type: dict + additional_attrs: true + attrs: + - variable: key + label: API-key (key) + schema: + type: string + default: "" + - variable: customkv + label: Custom Options + schema: + type: list + default: [] + items: + - variable: option + label: Option + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + default: "" + required: true + - variable: value + label: Value + 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: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: ingressList + label: Add Manual Custom Ingresses + group: Ingress + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: Custom Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: overrideService + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + show_if: [["certificateIssuer", "=", ""]] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: scaleCert + label: Use TrueNAS SCALE Certificate (Deprecated) + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: namespace + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: securityContext + group: Security and Permissions + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: container + label: Container + schema: + additional_attrs: true + type: dict + attrs: + # Settings from questions.yaml get appended here on a per-app basis + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 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: 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: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: 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/tinymediamanager/9.0.7/templates/NOTES.txt b/stable/prowlarr/14.3.5/templates/NOTES.txt similarity index 100% rename from stable/tinymediamanager/9.0.7/templates/NOTES.txt rename to stable/prowlarr/14.3.5/templates/NOTES.txt diff --git a/stable/prowlarr/14.3.5/templates/common.yaml b/stable/prowlarr/14.3.5/templates/common.yaml new file mode 100644 index 00000000000..3c93f578611 --- /dev/null +++ b/stable/prowlarr/14.3.5/templates/common.yaml @@ -0,0 +1,11 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.v1.common.loader.init" . -}} + +{{/* Disable [exportarr] if requested */}} +{{- if not .Values.metrics.main.enabled -}} + {{- $_ := set .Values.workload.exportarr "enabled" false -}} + {{- $_ := set .Values.service.metrics "enabled" false -}} +{{- end -}} + +{{/* Render the templates */}} +{{- include "tc.v1.common.loader.apply" . -}} diff --git a/stable/tinymediamanager/9.0.7/values.yaml b/stable/prowlarr/14.3.5/values.yaml similarity index 100% rename from stable/tinymediamanager/9.0.7/values.yaml rename to stable/prowlarr/14.3.5/values.yaml diff --git a/stable/qbitrr/3.2.8/app-changelog.md b/stable/qbitrr/3.2.8/app-changelog.md deleted file mode 100644 index 06270e08d53..00000000000 --- a/stable/qbitrr/3.2.8/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [qbitrr-3.2.8](https://github.com/truecharts/charts/compare/qbitrr-3.2.7...qbitrr-3.2.8) (2024-02-05) - -### Chore - - - -- update container image feramance/qbitrr to v4.2.7[@1c3d3b8](https://github.com/1c3d3b8) by renovate ([#17984](https://github.com/truecharts/charts/issues/17984)) \ No newline at end of file diff --git a/stable/qbitrr/3.2.8/CHANGELOG.md b/stable/qbitrr/3.2.9/CHANGELOG.md similarity index 90% rename from stable/qbitrr/3.2.8/CHANGELOG.md rename to stable/qbitrr/3.2.9/CHANGELOG.md index a64b9a29848..e3df56e50d2 100644 --- a/stable/qbitrr/3.2.8/CHANGELOG.md +++ b/stable/qbitrr/3.2.9/CHANGELOG.md @@ -7,6 +7,15 @@ title: Changelog +## [qbitrr-3.2.9](https://github.com/truecharts/charts/compare/qbitrr-3.2.8...qbitrr-3.2.9) (2024-02-12) + +### Chore + + + +- update container image feramance/qbitrr to v4.2.9[@8070006](https://github.com/8070006) by renovate ([#18130](https://github.com/truecharts/charts/issues/18130)) + + ## [qbitrr-3.2.8](https://github.com/truecharts/charts/compare/qbitrr-3.2.7...qbitrr-3.2.8) (2024-02-05) ### Chore @@ -88,12 +97,3 @@ title: Changelog - update container image feramance/qbitrr to v4.2.1[@4535635](https://github.com/4535635) by renovate ([#17306](https://github.com/truecharts/charts/issues/17306)) -## [qbitrr-3.1.1](https://github.com/truecharts/charts/compare/qbitrr-3.1.0...qbitrr-3.1.1) (2024-01-15) - -### Chore - - - -- update container image feramance/qbitrr to v4.1.2[@896c7c7](https://github.com/896c7c7) by renovate ([#17269](https://github.com/truecharts/charts/issues/17269)) - - diff --git a/stable/qbitrr/3.2.8/Chart.yaml b/stable/qbitrr/3.2.9/Chart.yaml similarity index 96% rename from stable/qbitrr/3.2.8/Chart.yaml rename to stable/qbitrr/3.2.9/Chart.yaml index d8e59615718..b12c89d65c9 100644 --- a/stable/qbitrr/3.2.8/Chart.yaml +++ b/stable/qbitrr/3.2.9/Chart.yaml @@ -7,7 +7,7 @@ annotations: truecharts.org/min_helm_version: "3.12" truecharts.org/train: stable apiVersion: v2 -appVersion: 4.2.7 +appVersion: 4.2.9 dependencies: - name: common version: 17.2.30 @@ -35,4 +35,4 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/qbitrr - https://hub.docker.com/r/feramance/qbitrr type: application -version: 3.2.8 +version: 3.2.9 diff --git a/stable/qbitrr/3.2.8/README.md b/stable/qbitrr/3.2.9/README.md similarity index 100% rename from stable/qbitrr/3.2.8/README.md rename to stable/qbitrr/3.2.9/README.md diff --git a/stable/qbitrr/3.2.9/app-changelog.md b/stable/qbitrr/3.2.9/app-changelog.md new file mode 100644 index 00000000000..de264b7b592 --- /dev/null +++ b/stable/qbitrr/3.2.9/app-changelog.md @@ -0,0 +1,9 @@ + + +## [qbitrr-3.2.9](https://github.com/truecharts/charts/compare/qbitrr-3.2.8...qbitrr-3.2.9) (2024-02-12) + +### Chore + + + +- update container image feramance/qbitrr to v4.2.9[@8070006](https://github.com/8070006) by renovate ([#18130](https://github.com/truecharts/charts/issues/18130)) \ No newline at end of file diff --git a/stable/qbitrr/3.2.8/app-readme.md b/stable/qbitrr/3.2.9/app-readme.md similarity index 100% rename from stable/qbitrr/3.2.8/app-readme.md rename to stable/qbitrr/3.2.9/app-readme.md diff --git a/stable/qbitrr/3.2.9/charts/common-17.2.30.tgz b/stable/qbitrr/3.2.9/charts/common-17.2.30.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a6cb126e1b283d49dc218680d9b1047e66af30f3 GIT binary patch literal 98054 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%0AIfL=!jZC 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 tJ6Yu~*;FIb@G=`MgUep6of};?E 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%0DK5lRM<-l2d&_56tFfI;Cr|eU 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 Re*gdg|NqdaNH_pY3;-e0QZ4`h literal 0 HcmV?d00001 diff --git a/stable/qbitrr/3.2.8/ix_values.yaml b/stable/qbitrr/3.2.9/ix_values.yaml similarity index 94% rename from stable/qbitrr/3.2.8/ix_values.yaml rename to stable/qbitrr/3.2.9/ix_values.yaml index 0293d68d7a9..038618ace7f 100644 --- a/stable/qbitrr/3.2.8/ix_values.yaml +++ b/stable/qbitrr/3.2.9/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: feramance/qbitrr pullPolicy: IfNotPresent - tag: v4.2.7@sha256:1c3d3b835278e996a8e49be054038ff1026db1a44021182e56a1aabe23803a09 + tag: v4.2.9@sha256:8070006bb2dc7511cf3d52b95c4a66b195719b08860930bd205bac5056915630 securityContext: container: readOnlyRootFilesystem: false diff --git a/stable/qbitrr/3.2.8/questions.yaml b/stable/qbitrr/3.2.9/questions.yaml similarity index 99% rename from stable/qbitrr/3.2.8/questions.yaml rename to stable/qbitrr/3.2.9/questions.yaml index 0c3b4ae9641..369f380bc0f 100644 --- a/stable/qbitrr/3.2.8/questions.yaml +++ b/stable/qbitrr/3.2.9/questions.yaml @@ -23,6 +23,8 @@ groups: description: Metrics - name: Addons description: Addon Configuration + - name: Backup Configuration + description: Configure Velero Backup Schedule - name: Advanced description: Advanced Configuration - name: Postgresql diff --git a/stable/qbitrr/3.2.9/templates/NOTES.txt b/stable/qbitrr/3.2.9/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/stable/qbitrr/3.2.9/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/qbitrr/3.2.8/templates/common.yaml b/stable/qbitrr/3.2.9/templates/common.yaml similarity index 100% rename from stable/qbitrr/3.2.8/templates/common.yaml rename to stable/qbitrr/3.2.9/templates/common.yaml diff --git a/stable/qbitrr/3.2.9/values.yaml b/stable/qbitrr/3.2.9/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/rdesktop/7.1.152/app-changelog.md b/stable/rdesktop/7.1.152/app-changelog.md deleted file mode 100644 index e2f5069c361..00000000000 --- a/stable/rdesktop/7.1.152/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [rdesktop-7.1.152](https://github.com/truecharts/charts/compare/rdesktop-7.1.134...rdesktop-7.1.152) (2024-02-05) - -### Chore - - - -- update rdesktop by renovate ([#17901](https://github.com/truecharts/charts/issues/17901)) \ No newline at end of file diff --git a/stable/rdesktop/7.1.152/CHANGELOG.md b/stable/rdesktop/7.1.176/CHANGELOG.md similarity index 92% rename from stable/rdesktop/7.1.152/CHANGELOG.md rename to stable/rdesktop/7.1.176/CHANGELOG.md index 335405c7b04..1c3d9ca3b0f 100644 --- a/stable/rdesktop/7.1.152/CHANGELOG.md +++ b/stable/rdesktop/7.1.176/CHANGELOG.md @@ -7,6 +7,15 @@ title: Changelog +## [rdesktop-7.1.176](https://github.com/truecharts/charts/compare/rdesktop-7.1.152...rdesktop-7.1.176) (2024-02-12) + +### Chore + + + +- update rdesktop by renovate ([#18118](https://github.com/truecharts/charts/issues/18118)) + + ## [rdesktop-7.1.152](https://github.com/truecharts/charts/compare/rdesktop-7.1.134...rdesktop-7.1.152) (2024-02-05) ### Chore @@ -88,12 +97,3 @@ title: Changelog - update container image common to v17.2.26[@24c98f7](https://github.com/24c98f7) by renovate ([#17409](https://github.com/truecharts/charts/issues/17409)) -## [rdesktop-7.1.91](https://github.com/truecharts/charts/compare/rdesktop-7.1.90...rdesktop-7.1.91) (2024-01-21) - -### Chore - - - -- update metadata in chart.yaml ([#17457](https://github.com/truecharts/charts/issues/17457)) - - diff --git a/stable/rdesktop/7.1.152/Chart.yaml b/stable/rdesktop/7.1.176/Chart.yaml similarity index 98% rename from stable/rdesktop/7.1.152/Chart.yaml rename to stable/rdesktop/7.1.176/Chart.yaml index 4e406bbeecf..8cf8119e870 100644 --- a/stable/rdesktop/7.1.152/Chart.yaml +++ b/stable/rdesktop/7.1.176/Chart.yaml @@ -35,4 +35,4 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/rdesktop - https://fleet.linuxserver.io/image?name=linuxserver/rdesktop type: application -version: 7.1.152 +version: 7.1.176 diff --git a/stable/rdesktop/7.1.152/README.md b/stable/rdesktop/7.1.176/README.md similarity index 100% rename from stable/rdesktop/7.1.152/README.md rename to stable/rdesktop/7.1.176/README.md diff --git a/stable/rdesktop/7.1.176/app-changelog.md b/stable/rdesktop/7.1.176/app-changelog.md new file mode 100644 index 00000000000..8da2c3fd857 --- /dev/null +++ b/stable/rdesktop/7.1.176/app-changelog.md @@ -0,0 +1,9 @@ + + +## [rdesktop-7.1.176](https://github.com/truecharts/charts/compare/rdesktop-7.1.152...rdesktop-7.1.176) (2024-02-12) + +### Chore + + + +- update rdesktop by renovate ([#18118](https://github.com/truecharts/charts/issues/18118)) \ No newline at end of file diff --git a/stable/rdesktop/7.1.152/app-readme.md b/stable/rdesktop/7.1.176/app-readme.md similarity index 100% rename from stable/rdesktop/7.1.152/app-readme.md rename to stable/rdesktop/7.1.176/app-readme.md diff --git a/stable/rdesktop/7.1.176/charts/common-17.2.30.tgz b/stable/rdesktop/7.1.176/charts/common-17.2.30.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a6cb126e1b283d49dc218680d9b1047e66af30f3 GIT binary patch literal 98054 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%0AIfL=!jZC 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 tJ6Yu~*;FIb@G=`MgUep6of};?E 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%0DK5lRM<-l2d&_56tFfI;Cr|eU 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 Re*gdg|NqdaNH_pY3;-e0QZ4`h literal 0 HcmV?d00001 diff --git a/stable/rdesktop/7.1.152/ix_values.yaml b/stable/rdesktop/7.1.176/ix_values.yaml similarity index 52% rename from stable/rdesktop/7.1.152/ix_values.yaml rename to stable/rdesktop/7.1.176/ix_values.yaml index 5ede2046b71..bd2a494ee03 100644 --- a/stable/rdesktop/7.1.152/ix_values.yaml +++ b/stable/rdesktop/7.1.176/ix_values.yaml @@ -1,98 +1,98 @@ image: pullPolicy: IfNotPresent repository: lscr.io/linuxserver/rdesktop - tag: latest@sha256:5b08283ee0a49c07ffe6a1c0ab532b156934b750ef97ce52773d47ff2504db3b + tag: latest@sha256:efe0b43da544540465a5b7d2bc0e285230c7c2386fccf61a5cf6352ca41aeb44 ubuntuXFCEImage: repository: lscr.io/linuxserver/rdesktop - tag: ubuntu-xfce@sha256:812ce0147a5638ba9161dd97334f478f6d9346429d59441164061ad91f77a6aa + tag: ubuntu-xfce@sha256:0e33288c13aa219502bc92a77c0ba1bee748425fa996ba89ea08bc6a7d8eb51d pullPolicy: Always fedoraXFCEImage: repository: lscr.io/linuxserver/rdesktop - tag: fedora-xfce@sha256:890b86e756ec345e2d800c7e2ecdcbe5c63c1e2ac7750225e6e1b522cb5143d2 + tag: fedora-xfce@sha256:9616efbf212074c3cb8f4c19af577660830ec5790fe743ad56c38dd58ed6803d pullPolicy: Always archXFCEImage: repository: lscr.io/linuxserver/rdesktop - tag: arch-xfce@sha256:14c4185e50784614c13e104cf2dda0265bf5f39c43ba57737f07b80b97a518f1 + tag: arch-xfce@sha256:8d30fb90fa3dae499667fdea6a09bb589e3016dc5657da485e5da7bc4ec3560a pullPolicy: Always alpineKDEImage: repository: lscr.io/linuxserver/rdesktop - tag: alpine-kde@sha256:7e43fbc21713c50b2194246f27d1dac7cb54bcc3a32bb58f866211b2a63fcdd2 + tag: alpine-kde@sha256:42c9b68ff745ec0b6c59d20834787446a193cd7b6e83edb8ffa09ab2e6419900 pullPolicy: Always ubuntuKDEImage: repository: lscr.io/linuxserver/rdesktop - tag: ubuntu-kde@sha256:797323ad0ce3d566c695a4944fabffc4fc09b1f4baaca6ed3e0d55af003d3375 + tag: ubuntu-kde@sha256:b877653209a1a6896982028aa4e32186ce27e2508a8339a11bbbb47e30639183 pullPolicy: Always fedoraKDEImage: repository: lscr.io/linuxserver/rdesktop - tag: fedora-kde@sha256:41f4832336d3d5e0e032dae610f6c3833371fd499d7c66893b3483244b5b496a + tag: fedora-kde@sha256:84482d33723c94ec46acfd9aeb19c00c598be19998276f86df158d94bfa645b6 pullPolicy: Always archKDEImage: repository: lscr.io/linuxserver/rdesktop - tag: arch-kde@sha256:cc772d0fb655a3ea7f546035724ff69bafd3305aa518af6851fced1f2ed56e21 + tag: arch-kde@sha256:57780b0875e546a9d4f614d8fbef4945a1b4bf2fe403d5e9844ee954d8f18d63 pullPolicy: Always alpineMATEImage: repository: lscr.io/linuxserver/rdesktop - tag: alpine-mate@sha256:21481e2278459377091cc74e28b4f8cbdbfd3a445010250c76788b1f6b8ec2a2 + tag: alpine-mate@sha256:17ca8ebedcb0f7a56f0c863c7ab3cdb6ee2b8ac56793228b82440c391a9d0280 pullPolicy: Always ubuntuMATEImage: repository: lscr.io/linuxserver/rdesktop - tag: ubuntu-mate@sha256:a3d3cddb4f841febc26c63c88f635af72fcf6b9abe0fdd9b4c1e1ca871d169f8 + tag: ubuntu-mate@sha256:41778d4c6eb500dc4d07c5fce91f094c84d6f5ba5f88a70c0a591f3572c89cfc pullPolicy: Always fedoraMATEImage: repository: lscr.io/linuxserver/rdesktop - tag: fedora-mate@sha256:63e1935d78aa7a0dd6fc157a4ed403e534c20baa4cc852f9c9e0fc6eeab4262c + tag: fedora-mate@sha256:9447865824ce92e294ff6a4c2ef1b6e401c3d40eb582bbaad6eea2ae4bcb98e7 pullPolicy: Always archMATEImage: repository: lscr.io/linuxserver/rdesktop - tag: arch-mate@sha256:38453f9a2abd5293003ae26e8cb533c60eb00d99e7a3b0442b2ee9e260d9e18e + tag: arch-mate@sha256:a90538f75ed1c6dd80c2d4da98a37ebd6b4dcebca0beee98362f63035f40d247 pullPolicy: Always alpineI3Image: repository: lscr.io/linuxserver/rdesktop - tag: alpine-i3@sha256:f3ffce929a0a84d1ca058d0ad96336f503d129e3c4e764d159ea569b3c55040a + tag: alpine-i3@sha256:05c55a98b0114149c0e6f558fd63aa2eb63178dc7c0ad842ee57a5054532f3df pullPolicy: Always ubuntuI3Image: repository: lscr.io/linuxserver/rdesktop - tag: ubuntu-i3@sha256:5b35bcc9d064cdb6872895a0d99733234f7cfdb915c924867536084c7f84a165 + tag: ubuntu-i3@sha256:eebf1c5e75adfe98ac365902c7ef05c6bffadd5a293038c31d5ecdbc43c425c1 pullPolicy: Always fedoraI3Image: repository: lscr.io/linuxserver/rdesktop - tag: fedora-i3@sha256:c378865fd3b69853c601629e55ebfec5063f85b2585cc1ab0e5465c09c7065a1 + tag: fedora-i3@sha256:dd54fa7780ce738a7d67e5d64e8663235a47881282374f1d7e90206273ce8a5d pullPolicy: Always archI3Image: repository: lscr.io/linuxserver/rdesktop - tag: arch-i3@sha256:087b56802b0cb8962c7db40d90328630e1fb2e1f5637404c82f94afa4048fbed + tag: arch-i3@sha256:2806a912bafb75c41ebf341431834f4ce7990d0d8502cc6c29a568ef4c3d082e pullPolicy: Always alpineOpenBoxImage: repository: lscr.io/linuxserver/rdesktop - tag: alpine-openbox@sha256:1ae4efe54cb4f720b2ae5e11f9d7f0ec7018c48a77199249a4fa63c91dda2235 + tag: alpine-openbox@sha256:e9eda16b44b2722605cfe4d1e2f81b8a4a1b1d1164813e9508d893d07cec5d6b pullPolicy: Always ubuntuOpenBoxImage: repository: lscr.io/linuxserver/rdesktop - tag: ubuntu-openbox@sha256:16b797f9b45e5eddd207615a5f2410c096f1c265ac2bca604a62525345a7951e + tag: ubuntu-openbox@sha256:3b35f22e68cfe9f711c2614f10a7744d0be9f955844b2f98c24af1a628f7543e pullPolicy: Always fedoraOpenBoxImage: repository: lscr.io/linuxserver/rdesktop - tag: fedora-openbox@sha256:7ae8930fc219b81876e1e4bb8ac54b2ab2a94c60ac97556e46388f058d36c30c + tag: fedora-openbox@sha256:ebac8cd13c32e76d14ac80744728d96639d3e6cda84413910882f2ac11c802cc pullPolicy: Always archOpenBoxImage: repository: lscr.io/linuxserver/rdesktop - tag: arch-openbox@sha256:ceea7dc61bf8ea4657a8df7b627bfb41150bf1f26216fa525f52d51e6f7f5ad0 + tag: arch-openbox@sha256:c5d086bd0cd0070fa7313948b95e12bfccddb6dc8b9a45ab706e85153df2204b pullPolicy: Always alpineICEWMImage: repository: lscr.io/linuxserver/rdesktop - tag: alpine-icewm@sha256:fe80a6f990ea38393856d3640c0b74c380144be38c116f1edb82679ccc6d7019 + tag: alpine-icewm@sha256:8dce3a9b7aaf69f60f907543bcb8d0f30f1bb274cb7ba96e2a3f349e0dde46e9 pullPolicy: Always ubuntuICEWMImage: repository: lscr.io/linuxserver/rdesktop - tag: ubuntu-icewm@sha256:f511bf62463110bcd29f682611fa958feb76e18e2bbdd35418deb08b5a7d237f + tag: ubuntu-icewm@sha256:81ae6beb926b4cc913721a6b603d01f6062084a6dedc35feb7e84318fef2884a pullPolicy: Always fedoraICEWMImage: repository: lscr.io/linuxserver/rdesktop - tag: fedora-icewm@sha256:7041ae1097d825e92618559bd3c5bdff3ae451abb835649159b33df9d74219c6 + tag: fedora-icewm@sha256:34e0e40b6c80d37b906de889a883a2824ec550bc1191d001068fedd2fc749664 pullPolicy: Always archICEWMImage: repository: lscr.io/linuxserver/rdesktop - tag: arch-icewm@sha256:461af27d674b97e3c4ea37107880e39f28a843bc6a01a2a6257a079e6d392fbe + tag: arch-icewm@sha256:cdc43e312dff6a6d92b5ec999a47eda629e45423b69c441772c37a3ada61c915 pullPolicy: Always workload: main: diff --git a/stable/rdesktop/7.1.152/questions.yaml b/stable/rdesktop/7.1.176/questions.yaml similarity index 99% rename from stable/rdesktop/7.1.152/questions.yaml rename to stable/rdesktop/7.1.176/questions.yaml index facac071c59..a4db4a363ba 100644 --- a/stable/rdesktop/7.1.152/questions.yaml +++ b/stable/rdesktop/7.1.176/questions.yaml @@ -23,6 +23,8 @@ groups: description: Metrics - name: Addons description: Addon Configuration + - name: Backup Configuration + description: Configure Velero Backup Schedule - name: Advanced description: Advanced Configuration - name: Postgresql diff --git a/stable/rdesktop/7.1.176/templates/NOTES.txt b/stable/rdesktop/7.1.176/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/stable/rdesktop/7.1.176/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/rdesktop/7.1.152/templates/common.yaml b/stable/rdesktop/7.1.176/templates/common.yaml similarity index 100% rename from stable/rdesktop/7.1.152/templates/common.yaml rename to stable/rdesktop/7.1.176/templates/common.yaml diff --git a/stable/rdesktop/7.1.176/values.yaml b/stable/rdesktop/7.1.176/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/syncthing/17.1.13/CHANGELOG.md b/stable/syncthing/17.1.13/CHANGELOG.md new file mode 100644 index 00000000000..5f3a0d1cd1e --- /dev/null +++ b/stable/syncthing/17.1.13/CHANGELOG.md @@ -0,0 +1,99 @@ +--- +title: Changelog +--- + +**Important:** +*for the complete changelog, please refer to the website* + + + +## [syncthing-17.1.13](https://github.com/truecharts/charts/compare/syncthing-17.1.12...syncthing-17.1.13) (2024-02-12) + +### Chore + + + +- update container image syncthing/syncthing to v1.27.3[@d5efcb0](https://github.com/d5efcb0) by renovate ([#18148](https://github.com/truecharts/charts/issues/18148)) + + +## [syncthing-17.1.12](https://github.com/truecharts/charts/compare/syncthing-17.1.11...syncthing-17.1.12) (2024-02-03) + +### Chore + + + +- update container image common to v17.2.30[@19ad5ec](https://github.com/19ad5ec) by renovate ([#17804](https://github.com/truecharts/charts/issues/17804)) + + +## [syncthing-17.1.11](https://github.com/truecharts/charts/compare/syncthing-17.1.10...syncthing-17.1.11) (2024-01-26) + +### Chore + + + +- update container image common to v17.2.29[@d7c41a3](https://github.com/d7c41a3) by renovate ([#17545](https://github.com/truecharts/charts/issues/17545)) + + +## [syncthing-17.1.10](https://github.com/truecharts/charts/compare/syncthing-17.1.9...syncthing-17.1.10) (2024-01-21) + +### Chore + + + +- update container image common to v17.2.28[@918b4c5](https://github.com/918b4c5) by renovate ([#17478](https://github.com/truecharts/charts/issues/17478)) + + +## [syncthing-17.1.9](https://github.com/truecharts/charts/compare/syncthing-17.1.8...syncthing-17.1.9) (2024-01-21) + +### Chore + + + +- update container image common to v17.2.26[@24c98f7](https://github.com/24c98f7) by renovate ([#17409](https://github.com/truecharts/charts/issues/17409)) + + +## [syncthing-17.1.8](https://github.com/truecharts/charts/compare/syncthing-17.1.7...syncthing-17.1.8) (2024-01-21) + +### Chore + + + +- update metadata in chart.yaml ([#17457](https://github.com/truecharts/charts/issues/17457)) + + + + +## [syncthing-17.1.7](https://github.com/truecharts/charts/compare/syncthing-17.1.6...syncthing-17.1.7) (2024-01-09) + +### Chore + + + +- update container image common to v17.2.22[@e7c9056](https://github.com/e7c9056) by renovate ([#16986](https://github.com/truecharts/charts/issues/16986)) + + +## [syncthing-17.1.6](https://github.com/truecharts/charts/compare/syncthing-17.1.5...syncthing-17.1.6) (2024-01-03) + +### Chore + + + +- update container image syncthing/syncthing to v1.27.2[@72d4569](https://github.com/72d4569) by renovate ([#16727](https://github.com/truecharts/charts/issues/16727)) + + +## [syncthing-17.1.5](https://github.com/truecharts/charts/compare/syncthing-17.1.4...syncthing-17.1.5) (2024-01-02) + +### Chore + + + +- force bump to ensure up-to-date catalogs + + +## [syncthing-17.1.4](https://github.com/truecharts/charts/compare/syncthing-17.1.3...syncthing-17.1.4) (2024-01-01) + +### Chore + + + +- increase common version for oci fixes diff --git a/stable/syncthing/17.1.13/Chart.yaml b/stable/syncthing/17.1.13/Chart.yaml new file mode 100644 index 00000000000..b8cb41a7a4c --- /dev/null +++ b/stable/syncthing/17.1.13/Chart.yaml @@ -0,0 +1,37 @@ +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.14" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: stable +apiVersion: v2 +appVersion: 1.27.3 +dependencies: + - name: common + version: 17.2.30 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: P2P file synchronization application +home: https://truecharts.org/charts/stable/syncthing +icon: https://truecharts.org/img/hotlink-ok/chart-icons/syncthing.png +keywords: + - syncthing +kubeVersion: ">=1.24.0-0" +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: syncthing +sources: + - https://syncthing.net/ + - https://github.com/syncthing/syncthing + - https://github.com/truecharts/charts/tree/master/charts/stable/syncthing + - https://hub.docker.com/r/syncthing/syncthing +type: application +version: 17.1.13 diff --git a/stable/syncthing/17.1.13/README.md b/stable/syncthing/17.1.13/README.md new file mode 100644 index 00000000000..59b2d0590a5 --- /dev/null +++ b/stable/syncthing/17.1.13/README.md @@ -0,0 +1,28 @@ +--- +title: 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/syncthing) + +**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/syncthing/17.1.13/app-changelog.md b/stable/syncthing/17.1.13/app-changelog.md new file mode 100644 index 00000000000..68ee58a878b --- /dev/null +++ b/stable/syncthing/17.1.13/app-changelog.md @@ -0,0 +1,9 @@ + + +## [syncthing-17.1.13](https://github.com/truecharts/charts/compare/syncthing-17.1.12...syncthing-17.1.13) (2024-02-12) + +### Chore + + + +- update container image syncthing/syncthing to v1.27.3[@d5efcb0](https://github.com/d5efcb0) by renovate ([#18148](https://github.com/truecharts/charts/issues/18148)) \ No newline at end of file diff --git a/stable/syncthing/17.1.13/app-readme.md b/stable/syncthing/17.1.13/app-readme.md new file mode 100644 index 00000000000..492babcb8ff --- /dev/null +++ b/stable/syncthing/17.1.13/app-readme.md @@ -0,0 +1,8 @@ +P2P file synchronization application + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/syncthing](https://truecharts.org/charts/stable/syncthing) + +--- + +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/syncthing/17.1.13/charts/common-17.2.30.tgz b/stable/syncthing/17.1.13/charts/common-17.2.30.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a6cb126e1b283d49dc218680d9b1047e66af30f3 GIT binary patch literal 98054 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%0AIfL=!jZC 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 tJ6Yu~*;FIb@G=`MgUep6of};?E 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%0DK5lRM<-l2d&_56tFfI;Cr|eU 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 Re*gdg|NqdaNH_pY3;-e0QZ4`h literal 0 HcmV?d00001 diff --git a/stable/syncthing/17.1.13/ix_values.yaml b/stable/syncthing/17.1.13/ix_values.yaml new file mode 100644 index 00000000000..a96abed9ed2 --- /dev/null +++ b/stable/syncthing/17.1.13/ix_values.yaml @@ -0,0 +1,52 @@ +image: + repository: syncthing/syncthing + pullPolicy: IfNotPresent + tag: 1.27.3@sha256:d5efcb04179e1dfec229f335603c3acc1965159d7e7d6f55687a845ab758e2d6 +workload: + main: + podSpec: + containers: + main: + probes: + liveness: + path: /rest/noauth/health + readiness: + path: /rest/noauth/health + startup: + path: /rest/noauth/health +service: + main: + ports: + main: + port: 8384 + targetPort: 8384 + listeners: + enabled: true + ports: + tcp: + enabled: true + port: 22000 + targetPort: 22000 + listeners-udp: + enabled: true + ports: + udp: + enabled: true + port: 22000 + targetPort: 22000 + protocol: udp + discovery: + enabled: true + ports: + discovery: + enabled: true + port: 21027 + targetPort: 21027 + protocol: udp +persistence: + config: + enabled: true + mountPath: "/var/syncthing" +portal: + open: + enabled: true diff --git a/stable/syncthing/17.1.13/questions.yaml b/stable/syncthing/17.1.13/questions.yaml new file mode 100644 index 00000000000..30cb827af07 --- /dev/null +++ b/stable/syncthing/17.1.13/questions.yaml @@ -0,0 +1,2980 @@ +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: Backup Configuration + description: Configure Velero Backup Schedule + - 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: enabled + label: Enabled + schema: + type: boolean + default: true + - variable: data + label: Data + 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 + private: 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: 8384 + required: true + - variable: listeners + label: "Syncthing Listening Service" + description: "This service is used to process incoming connections directly to this Syncthing instance" + 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: tcp + label: "TCP 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: 22000 + required: true + - variable: listeners-udp + label: "Syncthing Listening Service" + description: "This service is used to process incoming connections directly to this Syncthing instance" + 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: udp + label: "UDP 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: 22000 + required: true + - variable: discovery + label: "Syncthing Listening Service" + description: "This service is used to process incoming connections directly to this Syncthing instance" + 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: discovery + label: "UDP 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: 21027 + 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: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name (Optional) + description: Defaults to chart name + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description (Optional) + description: Defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: icon + label: Icon (Optional) + description: Defaults to chart icon + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: widget + label: Widget Settings + schema: + type: dict + additional_attrs: true + show_if: [["enabled", "=", true]] + attrs: + - variable: enabled + label: Enable Widget + description: When disabled all widget annotations are skipped. + schema: + type: boolean + default: true + - variable: custom + label: Options + schema: + type: dict + additional_attrs: true + attrs: + - variable: key + label: API-key (key) + schema: + type: string + default: "" + - variable: customkv + label: Custom Options + schema: + type: list + default: [] + items: + - variable: option + label: Option + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + default: "" + required: true + - variable: value + label: Value + 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: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: ingressList + label: Add Manual Custom Ingresses + group: Ingress + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: Custom Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: overrideService + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + show_if: [["certificateIssuer", "=", ""]] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: scaleCert + label: Use TrueNAS SCALE Certificate (Deprecated) + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: namespace + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: securityContext + group: Security and Permissions + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: container + label: Container + schema: + additional_attrs: true + type: dict + attrs: + # Settings from questions.yaml get appended here on a per-app basis + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 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: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: 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/syncthing/17.1.13/templates/NOTES.txt b/stable/syncthing/17.1.13/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/stable/syncthing/17.1.13/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/syncthing/17.1.13/templates/common.yaml b/stable/syncthing/17.1.13/templates/common.yaml new file mode 100644 index 00000000000..b51394e00a4 --- /dev/null +++ b/stable/syncthing/17.1.13/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.v1.common.loader.all" . }} diff --git a/stable/syncthing/17.1.13/values.yaml b/stable/syncthing/17.1.13/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/tinymediamanager/9.0.7/app-changelog.md b/stable/tinymediamanager/9.0.7/app-changelog.md deleted file mode 100644 index 1651191d54c..00000000000 --- a/stable/tinymediamanager/9.0.7/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [tinymediamanager-9.0.7](https://github.com/truecharts/charts/compare/tinymediamanager-9.0.6...tinymediamanager-9.0.7) (2024-02-03) - -### Chore - - - -- update container image common to v17.2.30[@19ad5ec](https://github.com/19ad5ec) by renovate ([#17804](https://github.com/truecharts/charts/issues/17804)) \ No newline at end of file diff --git a/stable/tinymediamanager/9.0.7/CHANGELOG.md b/stable/tinymediamanager/9.0.8/CHANGELOG.md similarity index 89% rename from stable/tinymediamanager/9.0.7/CHANGELOG.md rename to stable/tinymediamanager/9.0.8/CHANGELOG.md index 4bc3042d8e6..66f865da735 100644 --- a/stable/tinymediamanager/9.0.7/CHANGELOG.md +++ b/stable/tinymediamanager/9.0.8/CHANGELOG.md @@ -7,6 +7,15 @@ title: Changelog +## [tinymediamanager-9.0.8](https://github.com/truecharts/charts/compare/tinymediamanager-9.0.7...tinymediamanager-9.0.8) (2024-02-12) + +### Chore + + + +- update container image tinymediamanager/tinymediamanager to v5.0.2[@0c6b69c](https://github.com/0c6b69c) by renovate ([#18149](https://github.com/truecharts/charts/issues/18149)) + + ## [tinymediamanager-9.0.7](https://github.com/truecharts/charts/compare/tinymediamanager-9.0.6...tinymediamanager-9.0.7) (2024-02-03) ### Chore @@ -88,12 +97,3 @@ title: Changelog - force bump to ensure up-to-date catalogs - - -## [tinymediamanager-8.1.4](https://github.com/truecharts/charts/compare/tinymediamanager-8.1.3...tinymediamanager-8.1.4) (2024-01-01) - -### Chore - - - -- increase common version for oci fixes diff --git a/stable/tinymediamanager/9.0.7/Chart.yaml b/stable/tinymediamanager/9.0.8/Chart.yaml similarity index 97% rename from stable/tinymediamanager/9.0.7/Chart.yaml rename to stable/tinymediamanager/9.0.8/Chart.yaml index df49ada142c..5d5c7f569a9 100644 --- a/stable/tinymediamanager/9.0.7/Chart.yaml +++ b/stable/tinymediamanager/9.0.8/Chart.yaml @@ -7,7 +7,7 @@ annotations: truecharts.org/min_helm_version: "3.12" truecharts.org/train: stable apiVersion: v2 -appVersion: 5.0.1 +appVersion: 5.0.2 dependencies: - name: common version: 17.2.30 @@ -35,4 +35,4 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/tinymediamanager - https://hub.docker.com/r/tinymediamanager/tinymediamanager type: application -version: 9.0.7 +version: 9.0.8 diff --git a/stable/tinymediamanager/9.0.7/README.md b/stable/tinymediamanager/9.0.8/README.md similarity index 100% rename from stable/tinymediamanager/9.0.7/README.md rename to stable/tinymediamanager/9.0.8/README.md diff --git a/stable/tinymediamanager/9.0.8/app-changelog.md b/stable/tinymediamanager/9.0.8/app-changelog.md new file mode 100644 index 00000000000..b5101549c6e --- /dev/null +++ b/stable/tinymediamanager/9.0.8/app-changelog.md @@ -0,0 +1,9 @@ + + +## [tinymediamanager-9.0.8](https://github.com/truecharts/charts/compare/tinymediamanager-9.0.7...tinymediamanager-9.0.8) (2024-02-12) + +### Chore + + + +- update container image tinymediamanager/tinymediamanager to v5.0.2[@0c6b69c](https://github.com/0c6b69c) by renovate ([#18149](https://github.com/truecharts/charts/issues/18149)) \ No newline at end of file diff --git a/stable/tinymediamanager/9.0.7/app-readme.md b/stable/tinymediamanager/9.0.8/app-readme.md similarity index 100% rename from stable/tinymediamanager/9.0.7/app-readme.md rename to stable/tinymediamanager/9.0.8/app-readme.md diff --git a/stable/tinymediamanager/9.0.8/charts/common-17.2.30.tgz b/stable/tinymediamanager/9.0.8/charts/common-17.2.30.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a6cb126e1b283d49dc218680d9b1047e66af30f3 GIT binary patch literal 98054 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%0AIfL=!jZC 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 tJ6Yu~*;FIb@G=`MgUep6of};?E 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%0DK5lRM<-l2d&_56tFfI;Cr|eU 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 Re*gdg|NqdaNH_pY3;-e0QZ4`h literal 0 HcmV?d00001 diff --git a/stable/tinymediamanager/9.0.7/ix_values.yaml b/stable/tinymediamanager/9.0.8/ix_values.yaml similarity index 87% rename from stable/tinymediamanager/9.0.7/ix_values.yaml rename to stable/tinymediamanager/9.0.8/ix_values.yaml index 82dbf319872..22f390d2ba6 100644 --- a/stable/tinymediamanager/9.0.7/ix_values.yaml +++ b/stable/tinymediamanager/9.0.8/ix_values.yaml @@ -1,6 +1,6 @@ image: repository: tinymediamanager/tinymediamanager - tag: 5.0.1@sha256:0fc039039a7308d60af9c623afbf45a317bb1f9bc1f91d5ae47c1afd8da7f945 + tag: 5.0.2@sha256:0c6b69cf6db368df5babd706f1879a1f8375a4e1ffbd03b22662f2a928d6ea56 pullPolicy: IfNotPresent service: main: diff --git a/stable/tinymediamanager/9.0.7/questions.yaml b/stable/tinymediamanager/9.0.8/questions.yaml similarity index 99% rename from stable/tinymediamanager/9.0.7/questions.yaml rename to stable/tinymediamanager/9.0.8/questions.yaml index fc50540612d..a6d0c3bf7da 100644 --- a/stable/tinymediamanager/9.0.7/questions.yaml +++ b/stable/tinymediamanager/9.0.8/questions.yaml @@ -23,6 +23,8 @@ groups: description: Metrics - name: Addons description: Addon Configuration + - name: Backup Configuration + description: Configure Velero Backup Schedule - name: Advanced description: Advanced Configuration - name: Postgresql diff --git a/stable/tinymediamanager/9.0.8/templates/NOTES.txt b/stable/tinymediamanager/9.0.8/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/stable/tinymediamanager/9.0.8/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/tinymediamanager/9.0.8/templates/common.yaml b/stable/tinymediamanager/9.0.8/templates/common.yaml new file mode 100644 index 00000000000..b51394e00a4 --- /dev/null +++ b/stable/tinymediamanager/9.0.8/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.v1.common.loader.all" . }} diff --git a/stable/tinymediamanager/9.0.8/values.yaml b/stable/tinymediamanager/9.0.8/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/zigbee2mqtt/10.4.3/CHANGELOG.md b/stable/zigbee2mqtt/10.4.3/CHANGELOG.md new file mode 100644 index 00000000000..d99545d45de --- /dev/null +++ b/stable/zigbee2mqtt/10.4.3/CHANGELOG.md @@ -0,0 +1,99 @@ +--- +title: Changelog +--- + +**Important:** +*for the complete changelog, please refer to the website* + + + +## [zigbee2mqtt-10.4.3](https://github.com/truecharts/charts/compare/zigbee2mqtt-10.4.2...zigbee2mqtt-10.4.3) (2024-02-12) + +### Chore + + + +- update container image koenkk/zigbee2mqtt to v1.35.3[@f80dbca](https://github.com/f80dbca) by renovate ([#18142](https://github.com/truecharts/charts/issues/18142)) + + +## [zigbee2mqtt-10.4.2](https://github.com/truecharts/charts/compare/zigbee2mqtt-10.4.1...zigbee2mqtt-10.4.2) (2024-02-05) + +### Chore + + + +- update container image koenkk/zigbee2mqtt to v1.35.2[@131560a](https://github.com/131560a) by renovate ([#17923](https://github.com/truecharts/charts/issues/17923)) + + +## [zigbee2mqtt-10.4.1](https://github.com/truecharts/charts/compare/zigbee2mqtt-10.4.0...zigbee2mqtt-10.4.1) (2024-02-03) + +### Chore + + + +- update container image common to v17.2.30[@19ad5ec](https://github.com/19ad5ec) by renovate ([#17804](https://github.com/truecharts/charts/issues/17804)) + +### Docs + + + +- Add Installation-Guide ([#17290](https://github.com/truecharts/charts/issues/17290)) + + +## [zigbee2mqtt-10.4.0](https://github.com/truecharts/charts/compare/zigbee2mqtt-10.3.7...zigbee2mqtt-10.4.0) (2024-01-28) + +### Feat + + + +- Remove old options ([#17564](https://github.com/truecharts/charts/issues/17564)) + + +## [zigbee2mqtt-10.3.7](https://github.com/truecharts/charts/compare/zigbee2mqtt-10.3.6...zigbee2mqtt-10.3.7) (2024-01-26) + +### Chore + + + +- update container image common to v17.2.29[@d7c41a3](https://github.com/d7c41a3) by renovate ([#17545](https://github.com/truecharts/charts/issues/17545)) + + +## [zigbee2mqtt-10.3.6](https://github.com/truecharts/charts/compare/zigbee2mqtt-10.3.5...zigbee2mqtt-10.3.6) (2024-01-21) + +### Chore + + + +- update container image common to v17.2.28[@918b4c5](https://github.com/918b4c5) by renovate ([#17478](https://github.com/truecharts/charts/issues/17478)) + + +## [zigbee2mqtt-10.3.5](https://github.com/truecharts/charts/compare/zigbee2mqtt-10.3.4...zigbee2mqtt-10.3.5) (2024-01-21) + +### Chore + + + +- update container image common to v17.2.26[@24c98f7](https://github.com/24c98f7) by renovate ([#17409](https://github.com/truecharts/charts/issues/17409)) + + +## [zigbee2mqtt-10.3.4](https://github.com/truecharts/charts/compare/zigbee2mqtt-10.3.3...zigbee2mqtt-10.3.4) (2024-01-21) + +### Chore + + + +- update metadata in chart.yaml ([#17457](https://github.com/truecharts/charts/issues/17457)) + + + + +## [zigbee2mqtt-10.3.3](https://github.com/truecharts/charts/compare/zigbee2mqtt-10.3.2...zigbee2mqtt-10.3.3) (2024-01-09) + +### Chore + + + +- update container image common to v17.2.22[@e7c9056](https://github.com/e7c9056) by renovate ([#16986](https://github.com/truecharts/charts/issues/16986)) + + +## [zigbee2mqtt-10.3.2](https://github.com/truecharts/charts/compare/zigbee2mqtt-10.3.1...zigbee2mqtt-10.3.2) (2024-01-08) diff --git a/stable/zigbee2mqtt/10.4.3/Chart.yaml b/stable/zigbee2mqtt/10.4.3/Chart.yaml new file mode 100644 index 00000000000..7c4e3268860 --- /dev/null +++ b/stable/zigbee2mqtt/10.4.3/Chart.yaml @@ -0,0 +1,38 @@ +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.14" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: stable +apiVersion: v2 +appVersion: 1.35.3 +dependencies: + - name: common + version: 17.2.30 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: Bridges events and allows you to control your Zigbee devices via MQTT +home: https://truecharts.org/charts/stable/zigbee2mqtt +icon: https://truecharts.org/img/hotlink-ok/chart-icons/zigbee2mqtt.png +keywords: + - zigbee + - mqtt + - home-assistant +kubeVersion: ">=1.24.0-0" +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: zigbee2mqtt +sources: + - https://github.com/Koenkk/zigbee2mqtt + - https://github.com/truecharts/charts/tree/master/charts/stable/zigbee2mqtt + - https://hub.docker.com/r/koenkk/zigbee2mqtt +type: application +version: 10.4.3 diff --git a/stable/zigbee2mqtt/10.4.3/README.md b/stable/zigbee2mqtt/10.4.3/README.md new file mode 100644 index 00000000000..00392ecd5fd --- /dev/null +++ b/stable/zigbee2mqtt/10.4.3/README.md @@ -0,0 +1,28 @@ +--- +title: 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/zigbee2mqtt) + +**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/zigbee2mqtt/10.4.3/SKIPINSTALL b/stable/zigbee2mqtt/10.4.3/SKIPINSTALL new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/zigbee2mqtt/10.4.3/app-changelog.md b/stable/zigbee2mqtt/10.4.3/app-changelog.md new file mode 100644 index 00000000000..84161651c4e --- /dev/null +++ b/stable/zigbee2mqtt/10.4.3/app-changelog.md @@ -0,0 +1,9 @@ + + +## [zigbee2mqtt-10.4.3](https://github.com/truecharts/charts/compare/zigbee2mqtt-10.4.2...zigbee2mqtt-10.4.3) (2024-02-12) + +### Chore + + + +- update container image koenkk/zigbee2mqtt to v1.35.3[@f80dbca](https://github.com/f80dbca) by renovate ([#18142](https://github.com/truecharts/charts/issues/18142)) \ No newline at end of file diff --git a/stable/zigbee2mqtt/10.4.3/app-readme.md b/stable/zigbee2mqtt/10.4.3/app-readme.md new file mode 100644 index 00000000000..a5d359fa148 --- /dev/null +++ b/stable/zigbee2mqtt/10.4.3/app-readme.md @@ -0,0 +1,8 @@ +Bridges events and allows you to control your Zigbee devices via MQTT + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/zigbee2mqtt](https://truecharts.org/charts/stable/zigbee2mqtt) + +--- + +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/zigbee2mqtt/10.4.3/charts/common-17.2.30.tgz b/stable/zigbee2mqtt/10.4.3/charts/common-17.2.30.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a6cb126e1b283d49dc218680d9b1047e66af30f3 GIT binary patch literal 98054 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%0AIfL=!jZC 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 tJ6Yu~*;FIb@G=`MgUep6of};?E z=<_j=9QbVWjD40(lzN^ZQS0>6(M%dmMg^{4Xh4ZP8^Kn~GzT}QGUutUE>Az4ToTrL z^vmhn)9cfdD@Jy~KPxsG?i8ZOayr^lj49ub(lCOZJ1W~V)njgllv`oPCbpd^!su4Ep9c6|e&Oys?9 zy`=9lNY@{L$=DRhC@(^p!d!|?rjw15Bm5r2j53z;B6L}kGA*#)hrE!RAvK~Ismhlc zgEBpc_g5#ExAQ}p8v@~o0>tatK)k*@e}8d1KNu&3l1YY8{_7Q)QW^9^x{%HDw}6P08+1 zVy&UZqSj)~H4A_0>_5@a@53t?!yrd9gnp$@js0h9e{08#|FXZky8pS9N3;JBX^9TF z63AmQrXXz^{S@{fqeqMO3!>o9nODCw*AxmZYnD0y(2^r9f2uwQ}Oc9Q9lsS?iH1?<| z@KNC1%!pC$_ZNdo?)PWKAsxl>1&X6!Qf6+HL+ur1J>Z@8&QN}lK@5|;GWjB@5JA<- zrC0Ti;s<|%iGBdbN;pcV$;ySdY+`zgpF+a|V3SDia(=6ptO5@go>gW*N#m~|N7Rrt zk1$cU|Hn}e29scp?B5OI|L*Ub`~T+lD*yLV9&P`ZgT0tdUxNE7HhiTwi{9)92;Hkp zFU{apPIL$_ML568{Vdm59nDgyR)C*j-~n%t=PCaOdsezmRU{}zT4jS=Ya{5qWdHCz zng;gK%{UgjCB=DHX1nAmak>E?377`FRpqF>W%_S}dz@l-D|*?{5)4o0RH5QdvkjY8 zuW}4@3aY5EVV<9uEdB9R#N;iTD7olLR}dfm;$~`LQnk9pXRFz(MiIpVcI3z)G&Bb& z^SJQpEmm`jUpoX}K@ue)OmeVgc9Z+7mW~u(hR*djTMr40*U;rW^=O?mJ=IGN)xHnA z#p+qiQz!qWD9h&!09hCRWovKS^#9r3S;>D(c{KTt4)y}0e^Gcph49CF@;Kg~7-r)r zfM@;?zLdWT$;&=7rv-E!JVhb1@Ic2!Z*e{$YDO6FES;TB$2#59G3fA;y7a=}e zXg-iit`dyJ4KMezKFl?9l(I{9Ux1?|q$lL`WR7>q3h}~ai%QU{z)R>Ov%K3^2{igS zZmO4vaL~L?FDR3sf+7)?cRh%}#k-bf(NLOKjh-2ZU+|)fL%aOyaDjsgT9*{~v`slV zU$Q@y39F9^<0>XvYjSb9=dDH3n#rr9F3{0tuS&Z{6SxFs)eP2VvFu{`TsG!&c`I5P zhmx6GLEDn(3yuj=I=36nZ>`hLSzb2Nozr}=eKPJ!Ig2Wjqhtj6enJMzJppZ89cxz> zx*%}Ky0J!|eo?%qlmfJI8>-8jbwyZ|SDQE(l*I^_sP z$z&AA(=W2BO~|OApO|-Ffa_64J$VQYXE1+2**!qXOAzHCpzb?Zq6hp@j)s075si34 zopy3wJIZNtLx6g{!a<{O8XI=N70h$d4h053r*RZSc}$&FNyouM6vtXE+M8>-tN0lN zI41=HA4AMsJ0!43Z83aFo!sDOf0)MbC7F2>G-9sAKDa)-c3e0tnMX-naponHgL*CS%KLjIS) z$Fd0TG93wujsS{T)2BJ}jvl}`#Y{MtcA4MW0aAt1@(GdWPfUv>8E;X^?$Z0 zf0!o?P@VtB_V%8c|95Y1b^m86kI4Tc9MOL9aTF{r4UkZu%~>>y_dMMKrc&DNRvT;R zHCn!O`b(lb^5f_aXapl==Q=(Xx|^Ysi_a%qJuy`u3j8$!Xsp>SV4`0R;+j~(w6H>0 zHGIj5Dwo2bqc|M4wdBI5JzdfjT9aiOP(AZZ#melHBA%;u14}V-=m@Hpt#CFe>Ug|{ z*8=Nn)^JNUL*uYQ7J}lZJ z0vg%kV&sSJuw-p3WQu}>i@1$rf{6)s2|tY@BC6ydhCa?I#uhd_4_}%gL57LRPXy zN3;K5(7|5RmQP^)9L9g%l|{RKP`E_rS4|^vG=>Sp*aIHfq9Xn`nWgzC)!jfSfNR4S zM6;?0Q%gTf1CO7)w_HwsnjMbLf@-eqa)MwLtCA4v0kTyBv~@v)Iz||It^{JPbXQGW zA~-8^g>uy(Rv066`?tXUCI8zJy9z>}+f4OG@ z1*RS>(5 z1lO8v&``Hb0TKu#7br+p^!o>uCyO2}N~|=cN?NA)rAnT;7@-4p`STTo=`l(t?)aJ| zJEnkPiVp7hFF1t(C@z_gVfK(kIb@rxI6uy{nIpGZ`I=$-4rYB=Kqx-D+AFz5L36(p zLUY9Ic&}jWPp)8ql90&GWUC!z@OqFzJV0?s;ADF{5MmRcgb{`o^=jp5O_XxX zK6a!lyWuE7Dw-42sAYa8Rm>h3Rm{(%iax=O3i?MMUM@lZiJvou5K#Q+l&#Ltqi>$dt!SQLHFgE@|my zq-asRc1uyk_bOnnU3;pKNn^(ua6#Du3oc7$@Y4w593MObAV^0CJiNAmCO&t9bi`bf zhH!|oNohIu8K?(XO0hT^MmgP=*k1?FbX$;Fk~hm_+6y1!DCvWZm&_A}`S;Li7v(R( z5c<^fXq3>p#W|YjR>z$psq8WyY^K?%tzm~H_fw{xuyy%2<#}Cg8KM+Q&24HlG8Ezr~Smx(C zlF>mNaVKe(;zANpN1`Mpo8|i;yg`_gJjXE|KFD0w2iN;T-oWUE6sZBtV znXID9ODLjq;6s5vz*PAS19>Q4tO|R z91LJMiXqq_TbU!hb<_j>oEtjEEwCX@W9a>BmRfNBG=j=xG`MQTFgSu(HgM}^`!jdb zgIEdunIkat^I!mckotKJvjzDh&LWOZv4zW8yrk?8TemZA(POtCqozDKxxo*~dweuSqopv`1udeP3@b2VYX@#@1iw|3`)Cv@dKBRJhJ2#gX z5b?tMpY@IZ{_oDm&Gz4JzS94H+-U#p=0$6ryd{5r9sZ-WX6M=Rn0!hgDAm?Ko?KkN ze)r}k`o~vDU;TUQA8WdY1k5s&y~F)-)D-mAFJeDRz-f}hK3&?d-vOJgmtg(Z82LGW zvC-Kjuiiy*M5KTAa(826*m5TbE0AAjnT=t{r1_KXMfbY1lz_VlSwg(b#?}rgbn-bx2@$0E>+K!5*V6q!E( zA6gE{Ebw#KN12-PTxeUKlD_|U7MItLF#>)V0*`4h9$+q+J@5d*gP-I~uw{OU^iF^& z78R}`ipDCCn8B{CuO1C5kz)2mf>prRLRX0(lYyJPgoZlJ+l zQ02>Gj=UV-mfH$(tj-#f4wgHPs-?@C#u;kUQ7{nsAdsQ099% z+r5N@ue*pF;N)@6CE=y-Xhne&VXhnzMM%-wZ@II>H96fd=ZTrIlk99g6vya+G}}Yj z(9f|u))_tbVIfgi0!zVvIraw54gss`_L%)QHpx)U;HO7wB2oR)4Ffw*`bTGfhA^lTmm0UD+k8R|tb^`#`crd3HV##~d?0}U1! zrLws976pDhKsfhU)mZ!%jn_1qvVVc;$`JUee;3739zl9~Qka*5VonuBIz$zqF#Iq) zFeU2RN&vJg&MdxYch*S*;Ny)Wcz-p9VTMu$f&A4N$D-OaNYW;3ENyGau~?W(=h~G# z;fLqnYVQ_(%u9s(i(<0yc(1$S+X z;t|hYKiw|ND!xObB=1C6#E6m0$)JjhP8O~%!dIlla8b^!e86AQEF~;H z1C0?egnq&UUFgAc20jLU0(^|4K2d}jNnMJtxkzR_foXc|&@daB2D#Z0KrPJjds6cY zeU&~W)x8uLoR49aMIm?4RgMH5ty|%RjV5$%q@e2dL{SQKDri*P>&G+#$pZw#s6WU_ z!BNVPqESq^*~RbWFatxv8RR;dNta0)0vxC~Gew3+WKm2 z9d9%)&(^xE(A4&=5~iZZMprzy^0^3BV_d`>n~fUk(Gc=`GM=Vod+(C~B@Ak1+L9X0UA8-Y29su8Z+=&lqfvu# zb%vQKZ51vDuX-azW2dhg5($9DECDFtGhSj^;wIK~ZmX7rnP;{NWQuv6!(n=^>9brd zk^WO&d1PG~ny18dNe^Fuviy>A(uQ_QmT1qGV0olW3ahc9QtxNWSd-NIN+Q^a(F0hI z#qA>PeTyBl8yZp}R6qDhPCZ%fq9g=93*q;_4{0rW5`K1aef!Jl*{j>DlgkgM$40u< zH9riGd9v;*dsvmM>8VYeemFky1Xy!B5UuH+Ui_tJVp=xIE4EmDYI}YdN?giCeG2j& z!nu|*lc<^5C@IovMi|_|z#m~qlu@E{<_H7>^pH>hj9cHq9?BrV4^bWrqNGpC_zB7f zFaskDGZv-rEzB_;96f?0QNxaZJOBL*1b#|Nx)KPN3%bDcx^r#Qr3S?a`*$(C+B=>x z3wsrR(4kMWy*EO)*!i3Ft}X_}6lFT^XI=(&saB_Kh`l@7wFMNrYNYu2d7iP%PyrUcrUDB}LcD-nfV`|!?@D{$N z6gipn$L%d4R|Z9)nWqu$z1y$I4F24i$%%+GfTMnLHGe(m@^t4+cgz3qr zksq^7?R^q`5`#AD*iGHXQ4)P3db_KKieOwZj&6ZV(d8DB(r>D#&i^Ba*)U3Gjr_`< zy7;e~o4e-y&)v;c{I{h%dj8*HuorW5r~v#a4hyyZEc$p*rGBAx4I##UA71$RzyqFF zyb#G%b*Eg*6t6;6c@izyQJ|YLLb0{0Aas1z^`KWZyO-W%kw{i;HD#|44&AV=qI$O2 zU!xd$!26X4EV)K+Q6HZtCs~Fv*Rh`wfU7h|>@*^Q$}zRRPHSK(GQ_4@QdlQ_n++PD zGoq&@qvf^=6yTP>ORb*Adg}In<*0h*5D+!~pS%0p8&>}Rjg|lBQXXypR|b25S>P0? zKZOvW^=HvSz!=4BvAOO-uLUTCS1=pH?6jYt42ITi9hCH<{?Jc7;9(eKF!z8r4sz$s zot2xB_klUGu)&-TlSuDh>+|OZe6koyIaO@G+P33LVAzkfq-gGg{0+@Hl0lkSu zCLE>{&JmtpN7Z@L+A9Ef>b2~Wew9pchij5tC_kY4RfVe+>r&fxiz@hnZnP`jyQ?q2 zS&DNDmEcOV1(@y&A_bHAVBT{wL{kaLqmxfjCFG}${8FM^IKko3of8;;KMg3>euh%N zFVt5Tf<*zBqN19e9X+cuSzV}1*6Cm-;oNvNdY4$LG$#Y>MW2D!^;{TLThU5TQV^lH z*K=Q_sPaJ%Weq=n70Gqhgcx6@7tAI8A!Mlz{1xWq43B!6@yU{d!iy16S2y10Ic zyx2Ald7HS3i@U(w*BKK9q{xRyCXbIL>QRr4c}m{%)PT;gK()K51GQq_tC>WtViK>S zl&5(rRrycOg^baRHnD5=c}ELkZI;1zLKLgs4N~%i0w(o9tOe_kB1&nZFaaBNJ*1X> zb%bZERYEHr#WBlS%j3RbKs5Lig}AFYQIN^Ss+)CXQp}-$4*`Y=hBQefQ4Aajpd2g0 z07#XUYJEnVT)eAR{G#p)a0PP^jBt*IfUX#nP(O_nX2S?$>YZK^TuD{E+zN{U$ZNTf zCWS7P)-1zveH~|J>WYpxUUXtx?$VdI`+RJ3v?rSznjaWww`pyQ;@`NZQ zVB!3wA=cnPt8m)VC^=J)6y4eGTRHl*SUU1&x^n%0DK5lRM<-l2d&_56tFfI;Cr|eU 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 Re*gdg|NqdaNH_pY3;-e0QZ4`h literal 0 HcmV?d00001 diff --git a/stable/zigbee2mqtt/10.4.3/ix_values.yaml b/stable/zigbee2mqtt/10.4.3/ix_values.yaml new file mode 100644 index 00000000000..40c4284a44d --- /dev/null +++ b/stable/zigbee2mqtt/10.4.3/ix_values.yaml @@ -0,0 +1,92 @@ +image: + repository: koenkk/zigbee2mqtt + tag: 1.35.3@sha256:f80dbca12732841eb9f77b04903d00369543c65632f9209fc1c545e9525e7bdd + pullPolicy: IfNotPresent +service: + main: + ports: + main: + port: 10103 +persistence: + data: + enabled: true + mountPath: "/data" + targetSelectAll: true +portal: + open: + enabled: true +securityContext: + container: + runAsNonRoot: false + readOnlyRootFilesystem: false + runAsUser: 0 + runAsGroup: 0 +workload: + main: + podSpec: + initContainers: + init-config: + enabled: true + imageSelector: image + type: init + env: + ZIGBEE2MQTT_CONFIG_FRONTEND_PORT: "{{ .Values.service.main.ports.main.port }}" + ZIGBEE2MQTT_CONFIG_PERMIT_JOIN: "{{ .Values.workload.main.podSpec.containers.main.env.ZIGBEE2MQTT_CONFIG_PERMIT_JOIN }}" + ZIGBEE2MQTT_CONFIG_MQTT_SERVER: "{{ .Values.workload.main.podSpec.containers.main.env.ZIGBEE2MQTT_CONFIG_MQTT_SERVER }}" + ZIGBEE2MQTT_CONFIG_MQTT_USER: "{{ .Values.secret.ZIGBEE2MQTT_CONFIG_MQTT_USER }}" + ZIGBEE2MQTT_CONFIG_MQTT_PASSWORD: "{{ .Values.secret.ZIGBEE2MQTT_CONFIG_MQTT_PASSWORD }}" + ZIGBEE2MQTT_CONFIG_MQTT_BASE_TOPIC: "{{ .Values.workload.main.podSpec.containers.main.env.ZIGBEE2MQTT_CONFIG_MQTT_BASE_TOPIC }}" + ZIGBEE2MQTT_CONFIG_SERIAL_PORT: "{{ .Values.workload.main.podSpec.containers.main.env.ZIGBEE2MQTT_CONFIG_SERIAL_PORT }}" + ZIGBEE2MQTT_CONFIG_SERIAL_ADAPTER: "{{ .Values.workload.main.podSpec.containers.main.env.ZIGBEE2MQTT_CONFIG_SERIAL_ADAPTER }}" + USE_CUSTOM_CONFIG_FILE: "{{ .Values.workload.main.podSpec.containers.main.env.USE_CUSTOM_CONFIG_FILE }}" + command: + - /bin/sh + - -c + args: + - > + if [ -f /data/configuration.yaml ] || [ ${USE_CUSTOM_CONFIG_FILE} == true ]; then + echo "Initial configuration exists or User selected to use custom configuration file. Skipping..."; + else + echo "Creating initial configuration"; + touch /data/configuration.yaml; + echo "# Configuration bellow will be always be overridden" >> /data/configuration.yaml; + echo "# from environment settings on the Scale Apps UI." >> /data/configuration.yaml; + echo "# You however will not see this values change in the file." >> /data/configuration.yaml; + echo "# It's a generated file based on the values provided on initial install." >> /data/configuration.yaml; + echo "##########################################################" >> /data/configuration.yaml; + echo "frontend:" >> /data/configuration.yaml; + echo " port: $ZIGBEE2MQTT_CONFIG_FRONTEND_PORT" >> /data/configuration.yaml; + echo "permit_join: $ZIGBEE2MQTT_CONFIG_PERMIT_JOIN" >> /data/configuration.yaml; + echo "mqtt:" >> /data/configuration.yaml; + echo " server: $ZIGBEE2MQTT_CONFIG_MQTT_SERVER" >> /data/configuration.yaml; + echo " base_topic: $ZIGBEE2MQTT_CONFIG_MQTT_BASE_TOPIC" >> /data/configuration.yaml; + if [ ! -z "$ZIGBEE2MQTT_CONFIG_MQTT_USER" ]; + then + echo " user: $ZIGBEE2MQTT_CONFIG_MQTT_USER" >> /data/configuration.yaml; + fi; + if [ ! -z "$ZIGBEE2MQTT_CONFIG_MQTT_PASSWORD" ]; + then + echo " password: $ZIGBEE2MQTT_CONFIG_MQTT_PASSWORD" >> /data/configuration.yaml; + fi; + echo "serial:" >> /data/configuration.yaml; + echo " port: $ZIGBEE2MQTT_CONFIG_SERIAL_PORT" >> /data/configuration.yaml; + echo " adapter: $ZIGBEE2MQTT_CONFIG_SERIAL_ADAPTER" >> /data/configuration.yaml; + echo "##########################################################" >> /data/configuration.yaml; + echo 'Initial configuration file created at "/data/configuration.yaml"'; + fi; + + containers: + main: + env: + ZIGBEE2MQTT_DATA: "/data" + ZIGBEE2MQTT_CONFIG_FRONTEND_PORT: "{{ .Values.service.main.ports.main.port }}" + # User defined + USE_CUSTOM_CONFIG_FILE: false + # This values are required for the autogenerated file to work. + # ZIGBEE2MQTT_CONFIG_PERMIT_JOIN: false + # ZIGBEE2MQTT_CONFIG_MQTT_SERVER: "mqtt://localhost" + # ZIGBEE2MQTT_CONFIG_MQTT_BASE_TOPIC: "zigbee2mqtt" + # ZIGBEE2MQTT_CONFIG_SERIAL_PORT: "/dev/ttyUSB0" + # ZIGBEE2MQTT_CONFIG_SERIAL_ADAPTER: "auto" + ZIGBEE2MQTT_CONFIG_MQTT_USER: "" + ZIGBEE2MQTT_CONFIG_MQTT_PASSWORD: "" diff --git a/stable/zigbee2mqtt/10.4.3/questions.yaml b/stable/zigbee2mqtt/10.4.3/questions.yaml new file mode 100644 index 00000000000..8eb9e57986c --- /dev/null +++ b/stable/zigbee2mqtt/10.4.3/questions.yaml @@ -0,0 +1,2901 @@ +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: Backup Configuration + description: Configure Velero Backup Schedule + - 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: env + group: "App Configuration" + label: "Image Environment" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ZIGBEE2MQTT_CONFIG_MQTT_USER + label: "MQTT User" + description: "This will override the specific value of config file. Leave empty if you plan to use custom config or you don't have set a user on your MQTT broker." + schema: + type: string + default: "" + - variable: ZIGBEE2MQTT_CONFIG_MQTT_PASSWORD + label: "MQTT Password" + description: "This will override the specific value of config file. Leave empty if you plan to use custom config or you don't have set a password on your MQTT broker." + schema: + type: string + private: true + default: "" + - variable: USE_CUSTOM_CONFIG_FILE + label: "ADVANCED: Use custom config file (Placed in /data)" + description: "" + schema: + type: boolean + default: false + show_subquestions_if: false + subquestions: + - variable: ZIGBEE2MQTT_CONFIG_PERMIT_JOIN + label: "ZIGBEE2MQTT_CONFIG_PERMIT_JOIN" + description: "This will override the specific value of config file" + schema: + type: boolean + default: false + - variable: ZIGBEE2MQTT_CONFIG_MQTT_SERVER + label: "MQTT Server" + description: "This will override the specific value of config file" + schema: + type: string + required: true + default: "mqtt://mosquitto.ix-mosquitto.svc.cluster.local" + - variable: ZIGBEE2MQTT_CONFIG_MQTT_BASE_TOPIC + label: "MQTT Base Topic" + description: "This will override the specific value of config file" + schema: + type: string + required: true + default: "zigbee2mqtt" + - variable: ZIGBEE2MQTT_CONFIG_SERIAL_PORT + label: "ZIGBEE2MQTT_CONFIG_SERIAL_PORT" + description: "This will override the specific value of config file" + schema: + type: string + required: true + default: "/dev/ttyUSB0" + - variable: ZIGBEE2MQTT_CONFIG_SERIAL_ADAPTER + label: "Serial Adapter Type" + description: "This will override the specific value of config file" + schema: + type: string + required: true + default: "auto" + enum: + - value: "auto" + description: "auto" + - value: "deconz" + description: "deconz" + - value: "ezsp" + description: "ezsp" + - value: "zstack" + description: "zstack" + - 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: enabled + label: Enabled + schema: + type: boolean + default: true + - variable: data + label: Data + 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 + private: 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: 10103 + 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 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: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name (Optional) + description: Defaults to chart name + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description (Optional) + description: Defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: icon + label: Icon (Optional) + description: Defaults to chart icon + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: widget + label: Widget Settings + schema: + type: dict + additional_attrs: true + show_if: [["enabled", "=", true]] + attrs: + - variable: enabled + label: Enable Widget + description: When disabled all widget annotations are skipped. + schema: + type: boolean + default: true + - variable: custom + label: Options + schema: + type: dict + additional_attrs: true + attrs: + - variable: key + label: API-key (key) + schema: + type: string + default: "" + - variable: customkv + label: Custom Options + schema: + type: list + default: [] + items: + - variable: option + label: Option + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + default: "" + required: true + - variable: value + label: Value + 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: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: ingressList + label: Add Manual Custom Ingresses + group: Ingress + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: Custom Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: overrideService + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + show_if: [["certificateIssuer", "=", ""]] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: scaleCert + label: Use TrueNAS SCALE Certificate (Deprecated) + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: namespace + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: securityContext + group: Security and Permissions + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: container + label: Container + schema: + additional_attrs: true + type: dict + attrs: + # Settings from questions.yaml get appended here on a per-app basis + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID this App of the user running the application" + schema: + type: int + default: 0 + # Settings from questions.yaml get appended here on a per-app basis + - variable: PUID + label: Process User ID - PUID + description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps + schema: + type: int + show_if: [["runAsUser", "=", 0]] + default: 568 + - variable: UMASK + label: UMASK + description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps + schema: + type: string + default: "0022" + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: true + - variable: pod + label: Pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: OnRootMismatch + enum: + - value: OnRootMismatch + description: OnRootMismatch + - value: Always + description: Always + - variable: supplementalGroups + label: Supplemental Groups + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: Supplemental Group + schema: + type: int + # Settings from questions.yaml get appended here on a per-app basis + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: resources + group: Resources and Devices + label: "Resource Limits" + schema: + additional_attrs: true + type: dict + attrs: + - variable: limits + label: Advanced Limit Resource Consumption + schema: + additional_attrs: true + type: dict + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 4000m + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: RAM + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 8Gi + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Minimum Resources Required (request)" + schema: + additional_attrs: true + type: dict + hidden: true + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 10m + hidden: true + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "RAM" + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 50Mi + hidden: true + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: deviceList + label: Mount USB Devices + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: Device + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Storage + schema: + type: boolean + default: true + - variable: type + label: (Advanced) Type of Storage + description: Sets the persistence type + schema: + type: string + default: device + hidden: true + - variable: readOnly + label: readOnly + schema: + type: boolean + default: false + - variable: hostPath + label: Host Device Path + description: Path to the device on the host system + schema: + type: path + - variable: mountPath + label: Container Device Path + description: Path inside the container the device is mounted + schema: + type: string + default: "/dev/ttyACM0" + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: scaleGPUEntry + label: GPU + schema: + additional_attrs: true + type: dict + attrs: + # Specify GPU configuration + - variable: gpu + label: Select GPU + schema: + additional_attrs: true + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + - variable: workaround + label: "Workaround" + schema: + type: string + default: workaround + hidden: true +# - variable: horizontalPodAutoscaler +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# type: list +# default: [] +# items: +# - variable: hpaEntry +# label: HPA Entry +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: name +# label: Name +# schema: +# type: string +# required: true +# default: "" +# - variable: enabled +# label: Enabled +# schema: +# type: boolean +# default: false +# show_subquestions_if: true +# subquestions: +# - variable: target +# label: Target +# description: Deployment name, Defaults to Main Deployment +# schema: +# type: string +# default: "" +# - variable: minReplicas +# label: Minimum Replicas +# schema: +# type: int +# default: 1 +# - variable: maxReplicas +# label: Maximum Replicas +# schema: +# type: int +# default: 5 +# - variable: targetCPUUtilizationPercentage +# label: Target CPU Utilization Percentage +# schema: +# type: int +# default: 80 +# - variable: targetMemoryUtilizationPercentage +# label: Target Memory Utilization Percentage +# schema: +# type: int +# default: 80 + - variable: networkPolicy + group: Advanced + label: (Advanced) Network Policy + schema: + type: list + default: [] + items: + - variable: netPolicyEntry + label: Network Policy Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: policyType + label: Policy Type + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ingress + description: Ingress + - value: egress + description: Egress + - value: ingress-egress + description: Ingress and Egress + - variable: egress + label: Egress + schema: + type: list + default: [] + items: + - variable: egressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: to + label: To + schema: + type: list + default: [] + items: + - variable: toEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: ingress + label: Ingress + schema: + type: list + default: [] + items: + - variable: ingressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: from + label: From + schema: + type: list + default: [] + items: + - variable: fromEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: addons + group: Addons + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: Codeserver + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: NodePort + description: Deprecated CHANGE THIS + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + default: 36107 + - variable: ingress + label: "Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [{path: "/", pathType: "Prefix"}] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: 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/zigbee2mqtt/10.4.3/templates/NOTES.txt b/stable/zigbee2mqtt/10.4.3/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/stable/zigbee2mqtt/10.4.3/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/zigbee2mqtt/10.4.3/templates/common.yaml b/stable/zigbee2mqtt/10.4.3/templates/common.yaml new file mode 100644 index 00000000000..995efb03eb0 --- /dev/null +++ b/stable/zigbee2mqtt/10.4.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/zigbee2mqtt/10.4.3/values.yaml b/stable/zigbee2mqtt/10.4.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d