From 94f79fa88aadad3444308062651c4bca0ce14dfc Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Fri, 2 Sep 2022 10:01:37 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- .../{1.0.20 => 1.0.21}/CHANGELOG.md | 2 +- .../3.0.68 => clickhouse/1.0.21}/Chart.lock | 2 +- .../clickhouse/{1.0.20 => 1.0.21}/Chart.yaml | 4 +- .../clickhouse/{1.0.20 => 1.0.21}/README.md | 2 +- .../{1.0.20 => 1.0.21}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../{1.0.20 => 1.0.21}/ix_values.yaml | 2 +- .../{1.0.20 => 1.0.21}/questions.yaml | 8 +- .../{1.0.20 => 1.0.21}/templates/common.yaml | 0 .../clickhouse/{1.0.20 => 1.0.21}/values.yaml | 0 .../memcached/{3.0.68 => 3.0.69}/CHANGELOG.md | 18 +- .../1.0.20 => memcached/3.0.69}/Chart.lock | 2 +- .../memcached/{3.0.68 => 3.0.69}/Chart.yaml | 2 +- .../memcached/{3.0.68 => 3.0.69}/README.md | 2 +- .../{3.0.68 => 3.0.69}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../{3.0.68 => 3.0.69}/ix_values.yaml | 2 +- .../{3.0.68 => 3.0.69}/questions.yaml | 8 +- .../{3.0.68 => 3.0.69}/templates/common.yaml | 0 .../memcached/{3.0.68 => 3.0.69}/values.yaml | 0 .../mongodb/{2.0.5 => 2.0.6}/CHANGELOG.md | 2 +- .../mongodb/{2.0.5 => 2.0.6}/Chart.lock | 2 +- .../mongodb/{2.0.5 => 2.0.6}/Chart.yaml | 2 +- dependency/mongodb/{2.0.5 => 2.0.6}/README.md | 2 +- .../mongodb/{2.0.5 => 2.0.6}/app-readme.md | 0 .../{2.0.5 => 2.0.6}/charts/common-10.5.6.tgz | Bin .../mongodb/{2.0.5 => 2.0.6}/ix_values.yaml | 2 +- .../mongodb/{2.0.5 => 2.0.6}/questions.yaml | 8 +- .../{2.0.5 => 2.0.6}/templates/common.yaml | 0 .../mongodb/{2.0.5 => 2.0.6}/values.yaml | 0 dependency/redis/3.0.67/CHANGELOG.md | 99 - dependency/redis/3.0.68/CHANGELOG.md | 99 + .../redis/{3.0.67 => 3.0.68}/Chart.lock | 2 +- .../redis/{3.0.67 => 3.0.68}/Chart.yaml | 2 +- dependency/redis/{3.0.67 => 3.0.68}/README.md | 2 +- .../redis/{3.0.67 => 3.0.68}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../redis/{3.0.67 => 3.0.68}/ix_values.yaml | 2 +- .../redis/{3.0.67 => 3.0.68}/questions.yaml | 8 +- .../{3.0.67 => 3.0.68}/templates/common.yaml | 0 .../redis/{3.0.67 => 3.0.68}/values.yaml | 0 dependency/solr/0.0.41/Chart.lock | 6 - .../solr/{0.0.41 => 0.0.42}/CHANGELOG.md | 18 +- dependency/solr/0.0.42/Chart.lock | 6 + dependency/solr/{0.0.41 => 0.0.42}/Chart.yaml | 2 +- dependency/solr/{0.0.41 => 0.0.42}/README.md | 2 +- .../solr/{0.0.41 => 0.0.42}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../solr/{0.0.41 => 0.0.42}/ix_values.yaml | 2 +- .../solr/{0.0.41 => 0.0.42}/questions.yaml | 8 +- .../{0.0.41 => 0.0.42}/templates/common.yaml | 0 .../solr/{0.0.41 => 0.0.42}/values.yaml | 0 incubator/artifactory-oss/0.0.23/Chart.lock | 6 - .../{0.0.23 => 0.0.24}/CHANGELOG.md | 18 +- incubator/artifactory-oss/0.0.24/Chart.lock | 6 + .../{0.0.23 => 0.0.24}/Chart.yaml | 4 +- .../{0.0.23 => 0.0.24}/README.md | 2 +- .../{0.0.23 => 0.0.24}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../{0.0.23 => 0.0.24}/ix_values.yaml | 2 +- .../{0.0.23 => 0.0.24}/questions.yaml | 8 +- .../{0.0.23 => 0.0.24}/templates/common.yaml | 0 .../{0.0.23 => 0.0.24}/values.yaml | 0 incubator/aurora-files/0.0.22/CHANGELOG.md | 99 - incubator/aurora-files/0.0.22/Chart.lock | 6 - incubator/aurora-files/0.0.23/CHANGELOG.md | 99 + incubator/aurora-files/0.0.23/Chart.lock | 6 + .../{0.0.22 => 0.0.23}/Chart.yaml | 2 +- .../aurora-files/{0.0.22 => 0.0.23}/README.md | 2 +- .../{0.0.22 => 0.0.23}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../{0.0.22 => 0.0.23}/ix_values.yaml | 2 +- .../0.0.23}/questions.yaml | 8 +- .../{0.0.22 => 0.0.23}/templates/common.yaml | 0 .../{0.0.22 => 0.0.23}/values.yaml | 0 incubator/cryptpad/0.0.43/Chart.lock | 6 - .../cryptpad/{0.0.43 => 0.0.44}/CHANGELOG.md | 2 +- incubator/cryptpad/0.0.44/Chart.lock | 6 + .../cryptpad/{0.0.43 => 0.0.44}/Chart.yaml | 2 +- .../cryptpad/{0.0.43 => 0.0.44}/README.md | 2 +- .../cryptpad/{0.0.43 => 0.0.44}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../{0.0.43 => 0.0.44}/ix_values.yaml | 2 +- .../{0.0.43 => 0.0.44}/questions.yaml | 8 +- .../{0.0.43 => 0.0.44}/templates/common.yaml | 0 .../cryptpad/{0.0.43 => 0.0.44}/values.yaml | 0 incubator/filestash/0.0.31/Chart.lock | 6 - .../filestash/{0.0.31 => 0.0.32}/CHANGELOG.md | 18 +- incubator/filestash/0.0.32/Chart.lock | 6 + .../filestash/{0.0.31 => 0.0.32}/Chart.yaml | 2 +- .../filestash/{0.0.31 => 0.0.32}/README.md | 2 +- .../{0.0.31 => 0.0.32}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../{0.0.31 => 0.0.32}/ix_values.yaml | 2 +- .../{0.0.31 => 0.0.32}/questions.yaml | 8 +- .../{0.0.31 => 0.0.32}/templates/common.yaml | 0 .../filestash/{0.0.31 => 0.0.32}/values.yaml | 0 .../ghost/{3.0.55 => 3.0.56}/CHANGELOG.md | 18 +- incubator/ghost/{3.0.55 => 3.0.56}/Chart.lock | 2 +- incubator/ghost/{3.0.55 => 3.0.56}/Chart.yaml | 4 +- incubator/ghost/{3.0.55 => 3.0.56}/README.md | 2 +- .../ghost/{3.0.55 => 3.0.56}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../charts/mariadb-3.0.66.tgz | Bin .../ghost/{3.0.55 => 3.0.56}/ix_values.yaml | 2 +- .../ghost/{3.0.55 => 3.0.56}/questions.yaml | 8 +- .../{3.0.55 => 3.0.56}/templates/common.yaml | 0 .../ghost/{3.0.55 => 3.0.56}/values.yaml | 0 .../passwordpusherephemeral/0.0.28/Chart.lock | 6 - .../{0.0.28 => 0.0.29}/CHANGELOG.md | 18 +- .../passwordpusherephemeral/0.0.29/Chart.lock | 6 + .../{0.0.28 => 0.0.29}/Chart.yaml | 2 +- .../{0.0.28 => 0.0.29}/README.md | 2 +- .../{0.0.28 => 0.0.29}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../{0.0.28 => 0.0.29}/ix_values.yaml | 2 +- .../0.0.29}/questions.yaml | 8 +- .../{0.0.28 => 0.0.29}/templates/common.yaml | 0 .../{0.0.28 => 0.0.29}/values.yaml | 0 incubator/rickroll/0.0.27/Chart.lock | 6 - .../rickroll/{0.0.27 => 0.0.28}/CHANGELOG.md | 18 +- incubator/rickroll/0.0.28/Chart.lock | 6 + .../rickroll/{0.0.27 => 0.0.28}/Chart.yaml | 2 +- .../rickroll/{0.0.27 => 0.0.28}/README.md | 2 +- .../rickroll/{0.0.27 => 0.0.28}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../{0.0.27 => 0.0.28}/ci/basic-values.yaml | 0 .../{0.0.27 => 0.0.28}/ci/fhd-values.yaml | 0 .../{0.0.27 => 0.0.28}/ci/fhdgame-values.yaml | 0 .../ci/fhdonclick-values.yaml | 0 .../{0.0.27 => 0.0.28}/ci/onclick-values.yaml | 0 .../{0.0.27 => 0.0.28}/ix_values.yaml | 2 +- .../{0.0.27 => 0.0.28}/questions.yaml | 8 +- .../{0.0.27 => 0.0.28}/templates/common.yaml | 0 .../rickroll/{0.0.27 => 0.0.28}/values.yaml | 0 incubator/rimgo/0.0.46/Chart.lock | 6 - .../rimgo/{0.0.46 => 0.0.47}/CHANGELOG.md | 18 +- incubator/rimgo/0.0.47/Chart.lock | 6 + incubator/rimgo/{0.0.46 => 0.0.47}/Chart.yaml | 2 +- incubator/rimgo/{0.0.46 => 0.0.47}/README.md | 2 +- .../rimgo/{0.0.46 => 0.0.47}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../rimgo/{0.0.46 => 0.0.47}/ix_values.yaml | 2 +- .../rimgo/{0.0.46 => 0.0.47}/questions.yaml | 8 +- .../{0.0.46 => 0.0.47}/templates/common.yaml | 0 .../rimgo/{0.0.46 => 0.0.47}/values.yaml | 0 incubator/searxng/0.0.36/Chart.lock | 6 - .../searxng/{0.0.36 => 0.0.37}/CHANGELOG.md | 18 +- incubator/searxng/0.0.37/Chart.lock | 6 + .../searxng/{0.0.36 => 0.0.37}/Chart.yaml | 2 +- .../searxng/{0.0.36 => 0.0.37}/README.md | 2 +- .../searxng/{0.0.36 => 0.0.37}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../searxng/{0.0.36 => 0.0.37}/ix_values.yaml | 2 +- .../searxng/{0.0.36 => 0.0.37}/questions.yaml | 8 +- .../{0.0.36 => 0.0.37}/templates/common.yaml | 0 .../searxng/{0.0.36 => 0.0.37}/values.yaml | 0 incubator/sftpgo/0.0.24/Chart.lock | 6 - .../sftpgo/{0.0.24 => 0.0.25}/CHANGELOG.md | 18 +- incubator/sftpgo/0.0.25/Chart.lock | 6 + .../sftpgo/{0.0.24 => 0.0.25}/Chart.yaml | 2 +- incubator/sftpgo/{0.0.24 => 0.0.25}/README.md | 2 +- .../sftpgo/{0.0.24 => 0.0.25}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../sftpgo/{0.0.24 => 0.0.25}/ix_values.yaml | 2 +- .../sftpgo/{0.0.24 => 0.0.25}/questions.yaml | 8 +- .../{0.0.24 => 0.0.25}/templates/common.yaml | 0 .../sftpgo/{0.0.24 => 0.0.25}/values.yaml | 0 incubator/tracks/0.0.23/Chart.lock | 6 - .../tracks/{0.0.23 => 0.0.24}/CHANGELOG.md | 18 +- incubator/tracks/0.0.24/Chart.lock | 6 + .../tracks/{0.0.23 => 0.0.24}/Chart.yaml | 2 +- incubator/tracks/{0.0.23 => 0.0.24}/README.md | 2 +- .../tracks/{0.0.23 => 0.0.24}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../tracks/{0.0.23 => 0.0.24}/ix_values.yaml | 2 +- .../tracks/{0.0.23 => 0.0.24}/questions.yaml | 8 +- .../{0.0.23 => 0.0.24}/templates/common.yaml | 0 .../tracks/{0.0.23 => 0.0.24}/values.yaml | 0 incubator/vertex/0.0.41/Chart.lock | 6 - .../vertex/{0.0.41 => 0.0.42}/CHANGELOG.md | 18 +- incubator/vertex/0.0.42/Chart.lock | 6 + .../vertex/{0.0.41 => 0.0.42}/Chart.yaml | 2 +- incubator/vertex/{0.0.41 => 0.0.42}/README.md | 2 +- .../vertex/{0.0.41 => 0.0.42}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../vertex/{0.0.41 => 0.0.42}/ix_values.yaml | 2 +- .../vertex/{0.0.41 => 0.0.42}/questions.yaml | 8 +- .../{0.0.41 => 0.0.42}/templates/common.yaml | 0 .../vertex/{0.0.41 => 0.0.42}/values.yaml | 0 incubator/virt-manager/0.0.45/Chart.lock | 6 - .../{0.0.45 => 0.0.46}/CHANGELOG.md | 18 +- incubator/virt-manager/0.0.46/Chart.lock | 6 + .../{0.0.45 => 0.0.46}/Chart.yaml | 2 +- .../virt-manager/{0.0.45 => 0.0.46}/README.md | 2 +- .../{0.0.45 => 0.0.46}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../{0.0.45 => 0.0.46}/ix_values.yaml | 2 +- .../{0.0.45 => 0.0.46}/questions.yaml | 8 +- .../{0.0.45 => 0.0.46}/templates/common.yaml | 0 .../{0.0.45 => 0.0.46}/values.yaml | 0 incubator/yourls/0.0.25/Chart.lock | 6 - .../yourls/{0.0.25 => 0.0.26}/CHANGELOG.md | 18 +- incubator/yourls/0.0.26/Chart.lock | 6 + .../yourls/{0.0.25 => 0.0.26}/Chart.yaml | 2 +- incubator/yourls/{0.0.25 => 0.0.26}/README.md | 2 +- .../yourls/{0.0.25 => 0.0.26}/app-readme.md | 0 .../charts/common-10.5.6.tgz | Bin .../yourls/{0.0.25 => 0.0.26}/ix_values.yaml | 2 +- .../yourls/{0.0.25 => 0.0.26}/questions.yaml | 8 +- .../{0.0.25 => 0.0.26}/templates/common.yaml | 0 .../yourls/{0.0.25 => 0.0.26}/values.yaml | 0 stable/authelia/11.0.44/CHANGELOG.md | 99 + .../4.0.51 => authelia/11.0.44}/Chart.lock | 2 +- stable/authelia/11.0.44/Chart.yaml | 47 + stable/authelia/11.0.44/README.md | 111 + stable/authelia/11.0.44/app-readme.md | 8 + .../11.0.44}/charts/common-10.5.6.tgz | Bin .../11.0.44}/charts/postgresql-8.0.69.tgz | Bin .../11.0.44}/charts/redis-3.0.67.tgz | Bin stable/authelia/11.0.44/ix_values.yaml | 625 +++ stable/authelia/11.0.44/questions.yaml | 3382 +++++++++++++++++ .../authelia/11.0.44/templates/_configmap.tpl | 248 ++ .../authelia/11.0.44/templates/_secrets.tpl | 67 + stable/authelia/11.0.44/templates/common.yaml | 74 + .../4.0.35 => authelia/11.0.44}/values.yaml | 0 stable/bazarr/11.0.32/CHANGELOG.md | 99 + stable/bazarr/11.0.32/Chart.lock | 6 + stable/bazarr/11.0.32/Chart.yaml | 34 + stable/bazarr/11.0.32/README.md | 109 + stable/bazarr/11.0.32/app-readme.md | 8 + .../11.0.32}/charts/common-10.5.6.tgz | Bin stable/bazarr/11.0.32/ix_values.yaml | 19 + stable/bazarr/11.0.32/questions.yaml | 2488 ++++++++++++ .../11.0.32}/templates/common.yaml | 0 .../4.0.35 => bazarr/11.0.32}/values.yaml | 0 stable/beets/4.0.35/Chart.lock | 6 - stable/beets/{4.0.35 => 4.0.36}/CHANGELOG.md | 18 +- stable/beets/4.0.36/Chart.lock | 6 + stable/beets/{4.0.35 => 4.0.36}/Chart.yaml | 2 +- stable/beets/{4.0.35 => 4.0.36}/README.md | 2 +- stable/beets/{4.0.35 => 4.0.36}/app-readme.md | 0 .../4.0.36}/charts/common-10.5.6.tgz | Bin .../beets/{4.0.35 => 4.0.36}/ix_values.yaml | 2 +- .../beets/{4.0.35 => 4.0.36}/questions.yaml | 8 +- .../{4.0.35 => 4.0.36}/templates/common.yaml | 0 .../5.1.52 => beets/4.0.36}/values.yaml | 0 stable/code-server/4.0.35/Chart.lock | 6 - .../{4.0.35 => 4.0.36}/CHANGELOG.md | 18 +- stable/code-server/4.0.36/Chart.lock | 6 + .../code-server/{4.0.35 => 4.0.36}/Chart.yaml | 4 +- .../code-server/{4.0.35 => 4.0.36}/README.md | 2 +- .../{4.0.35 => 4.0.36}/app-readme.md | 0 .../4.0.36}/charts/common-10.5.6.tgz | Bin .../{4.0.35 => 4.0.36}/ix_values.yaml | 2 +- .../{4.0.35 => 4.0.36}/questions.yaml | 8 +- .../{4.0.35 => 4.0.36}/templates/common.yaml | 0 .../2.0.75 => code-server/4.0.36}/values.yaml | 0 stable/custom-app/5.1.52/Chart.lock | 6 - .../{5.1.52 => 5.1.53}/CHANGELOG.md | 18 +- stable/custom-app/5.1.53/Chart.lock | 6 + .../custom-app/{5.1.52 => 5.1.53}/Chart.yaml | 4 +- .../custom-app/{5.1.52 => 5.1.53}/README.md | 2 +- .../{5.1.52 => 5.1.53}/app-readme.md | 0 .../5.1.53}/charts/common-10.5.6.tgz | Bin .../{5.1.52 => 5.1.53}/ci/test-values.yaml | 2 +- .../{5.1.52 => 5.1.53}/ix_values.yaml | 2 +- .../{5.1.52 => 5.1.53}/questions.yaml | 8 +- .../5.1.53}/templates/common.yaml | 0 .../2.0.41 => custom-app/5.1.53}/values.yaml | 0 stable/cyberchef/2.0.75/Chart.lock | 6 - .../cyberchef/{2.0.75 => 2.0.76}/CHANGELOG.md | 18 +- stable/cyberchef/2.0.76/Chart.lock | 6 + .../cyberchef/{2.0.75 => 2.0.76}/Chart.yaml | 2 +- stable/cyberchef/{2.0.75 => 2.0.76}/README.md | 2 +- .../{2.0.75 => 2.0.76}/app-readme.md | 0 .../2.0.76}/charts/common-10.5.6.tgz | Bin .../{2.0.75 => 2.0.76}/ix_values.yaml | 2 +- .../{2.0.75 => 2.0.76}/questions.yaml | 8 +- .../2.0.76}/templates/common.yaml | 0 .../4.0.35 => cyberchef/2.0.76}/values.yaml | 0 stable/drawio/2.0.41/Chart.lock | 6 - stable/drawio/{2.0.41 => 2.0.42}/CHANGELOG.md | 18 +- stable/drawio/2.0.42/Chart.lock | 6 + stable/drawio/{2.0.41 => 2.0.42}/Chart.yaml | 4 +- stable/drawio/{2.0.41 => 2.0.42}/README.md | 2 +- .../drawio/{2.0.41 => 2.0.42}/app-readme.md | 0 .../2.0.42}/charts/common-10.5.6.tgz | Bin .../drawio/{2.0.41 => 2.0.42}/ix_values.yaml | 2 +- .../drawio/{2.0.41 => 2.0.42}/questions.yaml | 8 +- .../2.0.42}/templates/common.yaml | 0 .../1.0.37 => drawio/2.0.42}/values.yaml | 0 stable/esphome/11.0.34/CHANGELOG.md | 99 + stable/esphome/11.0.34/Chart.lock | 6 + stable/esphome/11.0.34/Chart.yaml | 29 + stable/esphome/11.0.34/README.md | 109 + stable/esphome/11.0.34/app-readme.md | 8 + .../11.0.34}/charts/common-10.5.6.tgz | Bin stable/esphome/11.0.34/ix_values.yaml | 43 + stable/esphome/11.0.34/questions.yaml | 2666 +++++++++++++ .../11.0.34}/templates/common.yaml | 0 .../3.0.56 => esphome/11.0.34}/values.yaml | 0 stable/filezilla/4.0.35/Chart.lock | 6 - .../filezilla/{4.0.35 => 4.0.36}/CHANGELOG.md | 18 +- stable/filezilla/4.0.36/Chart.lock | 6 + .../filezilla/{4.0.35 => 4.0.36}/Chart.yaml | 2 +- stable/filezilla/{4.0.35 => 4.0.36}/README.md | 2 +- .../{4.0.35 => 4.0.36}/app-readme.md | 0 .../4.0.36}/charts/common-10.5.6.tgz | Bin .../{4.0.35 => 4.0.36}/ix_values.yaml | 2 +- .../{4.0.35 => 4.0.36}/questions.yaml | 8 +- .../{4.0.35 => 4.0.36}/templates/common.yaml | 0 .../3.0.38 => filezilla/4.0.36}/values.yaml | 0 stable/impostor-server/1.0.37/Chart.lock | 6 - .../{1.0.37 => 1.0.38}/CHANGELOG.md | 18 +- stable/impostor-server/1.0.38/Chart.lock | 6 + .../{1.0.37 => 1.0.38}/Chart.yaml | 2 +- .../{1.0.37 => 1.0.38}/README.md | 2 +- .../{1.0.37 => 1.0.38}/app-readme.md | 0 .../1.0.38}/charts/common-10.5.6.tgz | Bin .../{1.0.37 => 1.0.38}/ci/base-values.yaml | 0 .../{1.0.37 => 1.0.38}/ci/values.yaml | 2 +- .../{1.0.37 => 1.0.38}/ix_values.yaml | 4 +- .../{1.0.37 => 1.0.38}/questions.yaml | 8 +- .../1.0.38}/templates/common.yaml | 0 .../1.0.38}/values.yaml | 0 stable/jackett/11.0.76/CHANGELOG.md | 99 + stable/jackett/11.0.76/Chart.lock | 6 + stable/jackett/11.0.76/Chart.yaml | 31 + stable/jackett/11.0.76/README.md | 108 + stable/jackett/11.0.76/app-readme.md | 8 + .../11.0.76}/charts/common-10.5.6.tgz | Bin stable/jackett/11.0.76/ix_values.yaml | 33 + stable/jackett/11.0.76/questions.yaml | 2488 ++++++++++++ .../11.0.76}/templates/common.yaml | 0 .../4.0.51 => jackett/11.0.76}/values.yaml | 0 stable/lazylibrarian/11.0.52/CHANGELOG.md | 99 + stable/lazylibrarian/11.0.52/Chart.lock | 6 + stable/lazylibrarian/11.0.52/Chart.yaml | 30 + stable/lazylibrarian/11.0.52/README.md | 109 + stable/lazylibrarian/11.0.52/app-readme.md | 8 + .../11.0.52}/charts/common-10.5.6.tgz | Bin stable/lazylibrarian/11.0.52/ix_values.yaml | 29 + stable/lazylibrarian/11.0.52/questions.yaml | 2488 ++++++++++++ .../11.0.52}/templates/common.yaml | 0 .../11.0.52}/values.yaml | 0 stable/matomo/{3.0.56 => 3.0.57}/CHANGELOG.md | 18 +- stable/matomo/{3.0.56 => 3.0.57}/Chart.lock | 2 +- stable/matomo/{3.0.56 => 3.0.57}/Chart.yaml | 2 +- stable/matomo/{3.0.56 => 3.0.57}/README.md | 2 +- .../matomo/{3.0.56 => 3.0.57}/app-readme.md | 0 .../3.0.57}/charts/common-10.5.6.tgz | Bin .../charts/mariadb-3.0.66.tgz | Bin .../matomo/{3.0.56 => 3.0.57}/ix_values.yaml | 2 +- .../matomo/{3.0.56 => 3.0.57}/questions.yaml | 8 +- .../3.0.57}/templates/common.yaml | 0 .../3.0.85 => matomo/3.0.57}/values.yaml | 0 .../{3.0.38 => 3.0.39}/CHANGELOG.md | 18 +- .../mattermost/{3.0.38 => 3.0.39}/Chart.lock | 2 +- .../mattermost/{3.0.38 => 3.0.39}/Chart.yaml | 2 +- .../mattermost/{3.0.38 => 3.0.39}/README.md | 2 +- .../{3.0.38 => 3.0.39}/app-readme.md | 0 .../3.0.39}/charts/common-10.5.6.tgz | Bin .../3.0.39}/charts/postgresql-8.0.69.tgz | Bin .../{3.0.38 => 3.0.39}/ix_values.yaml | 2 +- .../{3.0.38 => 3.0.39}/questions.yaml | 8 +- .../mattermost/3.0.39/templates/common.yaml | 1 + .../2.0.45 => mattermost/3.0.39}/values.yaml | 0 stable/monica/{3.0.44 => 3.0.45}/CHANGELOG.md | 18 +- stable/monica/{3.0.44 => 3.0.45}/Chart.lock | 2 +- stable/monica/{3.0.44 => 3.0.45}/Chart.yaml | 2 +- stable/monica/{3.0.44 => 3.0.45}/README.md | 2 +- .../monica/{3.0.44 => 3.0.45}/app-readme.md | 0 .../3.0.45}/charts/common-10.5.6.tgz | Bin .../charts/mariadb-3.0.66.tgz | Bin .../monica/{3.0.44 => 3.0.45}/ix_values.yaml | 2 +- .../monica/{3.0.44 => 3.0.45}/questions.yaml | 8 +- .../{3.0.44 => 3.0.45}/templates/_appkey.tpl | 0 .../{3.0.44 => 3.0.45}/templates/common.yaml | 0 .../5.0.5 => monica/3.0.45}/values.yaml | 0 stable/n8n/{4.0.51 => 4.0.52}/CHANGELOG.md | 18 +- stable/n8n/4.0.52/Chart.lock | 12 + stable/n8n/{4.0.51 => 4.0.52}/Chart.yaml | 4 +- stable/n8n/{4.0.51 => 4.0.52}/README.md | 2 +- stable/n8n/{4.0.51 => 4.0.52}/app-readme.md | 0 .../4.0.52}/charts/common-10.5.6.tgz | Bin .../n8n/4.0.52/charts/postgresql-8.0.69.tgz | Bin 0 -> 56436 bytes .../4.0.52}/charts/redis-3.0.67.tgz | Bin stable/n8n/{4.0.51 => 4.0.52}/ix_values.yaml | 2 +- stable/n8n/{4.0.51 => 4.0.52}/questions.yaml | 8 +- .../templates/_configmap.tpl | 0 .../{4.0.51 => 4.0.52}/templates/common.yaml | 0 .../4.0.32 => n8n/4.0.52}/values.yaml | 0 stable/nextcloud/15.3.7/CHANGELOG.md | 99 + stable/nextcloud/15.3.7/Chart.lock | 15 + stable/nextcloud/15.3.7/Chart.yaml | 45 + stable/nextcloud/15.3.7/README.md | 112 + stable/nextcloud/15.3.7/app-readme.md | 8 + .../charts/collabora-online-12.1.37.tgz | Bin 0 -> 59257 bytes .../nextcloud/15.3.7/charts/common-10.5.6.tgz | Bin 0 -> 48176 bytes .../15.3.7/charts/postgresql-8.0.69.tgz | Bin 0 -> 56436 bytes .../nextcloud/15.3.7/charts/redis-3.0.67.tgz | Bin 0 -> 57080 bytes stable/nextcloud/15.3.7/ci/basic-values.yaml | 11 + stable/nextcloud/15.3.7/ix_values.yaml | 457 +++ stable/nextcloud/15.3.7/questions.yaml | 2884 ++++++++++++++ .../nextcloud/15.3.7/templates/_configmap.tpl | 36 + .../nextcloud/15.3.7/templates/_cronjob.tpl | 64 + stable/nextcloud/15.3.7/templates/_hpb.tpl | 164 + .../nextcloud/15.3.7/templates/_imaginary.tpl | 40 + stable/nextcloud/15.3.7/templates/_nginx.tpl | 54 + stable/nextcloud/15.3.7/templates/common.yaml | 22 + .../15.3.7/values.yaml} | 0 stable/photoprism/10.0.41/CHANGELOG.md | 99 + stable/photoprism/10.0.41/Chart.lock | 9 + stable/photoprism/10.0.41/Chart.yaml | 34 + stable/photoprism/10.0.41/README.md | 110 + stable/photoprism/10.0.41/app-readme.md | 8 + .../10.0.41/charts/common-10.5.6.tgz | Bin 0 -> 48176 bytes .../10.0.41/charts/mariadb-3.0.66.tgz | Bin 0 -> 59036 bytes stable/photoprism/10.0.41/ix_values.yaml | 61 + stable/photoprism/10.0.41/questions.yaml | 2528 ++++++++++++ .../photoprism/10.0.41/templates/common.yaml | 1 + .../10.0.41/values.yaml} | 0 stable/plex/10.2.6/CHANGELOG.md | 99 + stable/plex/10.2.6/Chart.lock | 6 + stable/plex/10.2.6/Chart.yaml | 29 + stable/plex/10.2.6/README.md | 108 + stable/plex/10.2.6/app-readme.md | 8 + stable/plex/10.2.6/charts/common-10.5.6.tgz | Bin 0 -> 48176 bytes stable/plex/10.2.6/ix_values.yaml | 36 + stable/plex/10.2.6/questions.yaml | 2536 ++++++++++++ stable/plex/10.2.6/templates/common.yaml | 1 + stable/plex/10.2.6/values.yaml | 0 .../{4.0.75 => 4.0.76}/CHANGELOG.md | 18 +- .../prometheus/{4.0.75 => 4.0.76}/Chart.lock | 2 +- .../prometheus/{4.0.75 => 4.0.76}/Chart.yaml | 2 +- .../prometheus/{4.0.75 => 4.0.76}/README.md | 2 +- .../{4.0.75 => 4.0.76}/app-readme.md | 0 .../4.0.76/charts/common-10.5.6.tgz | Bin 0 -> 48176 bytes .../charts/kube-state-metrics-3.2.1.tgz | Bin .../charts/node-exporter-3.1.1.tgz | Bin .../crds/crd-alertmanager-config.yaml | 0 .../crds/crd-alertmanager.yaml | 0 .../crds/crd-podmonitor.yaml | 0 .../{4.0.75 => 4.0.76}/crds/crd-probes.yaml | 0 .../crds/crd-prometheus.yaml | 0 .../crds/crd-prometheusrules.yaml | 0 .../crds/crd-servicemonitor.yaml | 0 .../crds/crd-thanosrulers.yaml | 0 .../{4.0.75 => 4.0.76}/ix_values.yaml | 4 +- .../{4.0.75 => 4.0.76}/questions.yaml | 0 .../{4.0.75 => 4.0.76}/templates/_helpers.tpl | 0 .../templates/alertmanager/_alertmanager.tpl | 0 .../templates/alertmanager/secrets.yaml | 0 .../alertmanager/serviceaccount.yaml | 0 .../alertmanager/servicemonitor.yaml | 0 .../{4.0.75 => 4.0.76}/templates/common.yaml | 0 .../templates/exporters/core-dns/service.yaml | 0 .../exporters/core-dns/servicemonitor.yaml | 0 .../kube-apiserver/servicemonitor.yaml | 0 .../kube-controller-manager/endpoints.yaml | 0 .../kube-controller-manager/service.yaml | 0 .../servicemonitor.yaml | 0 .../exporters/kube-scheduler/endpoints.yaml | 0 .../exporters/kube-scheduler/service.yaml | 0 .../kube-scheduler/servicemonitor.yaml | 0 .../exporters/kubelet/servicemonitor.yaml | 0 .../templates/operator/_args.tpl | 0 .../templates/operator/configmap.yaml | 0 .../templates/operator/servicemonitor.yaml | 0 .../prometheus/_additionalPrometheusRules.tpl | 0 .../prometheus/_additionalScrapeJobs.tpl | 0 .../templates/prometheus/_prometheus.tpl | 0 .../templates/prometheus/_servicemonitor.tpl | 0 .../templates/prometheus/clusterrole.yaml | 0 .../prometheus/clusterrolebinding.yaml | 0 .../templates/prometheus/serviceaccount.yaml | 0 stable/prometheus/4.0.76/values.yaml | 0 stable/rsshub/{3.0.85 => 3.0.86}/CHANGELOG.md | 18 +- stable/rsshub/{3.0.85 => 3.0.86}/Chart.lock | 2 +- stable/rsshub/{3.0.85 => 3.0.86}/Chart.yaml | 2 +- stable/rsshub/{3.0.85 => 3.0.86}/README.md | 2 +- .../rsshub/{3.0.85 => 3.0.86}/app-readme.md | 0 stable/rsshub/3.0.86/charts/common-10.5.6.tgz | Bin 0 -> 48176 bytes stable/rsshub/3.0.86/charts/redis-3.0.67.tgz | Bin 0 -> 57080 bytes .../rsshub/{3.0.85 => 3.0.86}/ix_values.yaml | 2 +- .../rsshub/{3.0.85 => 3.0.86}/questions.yaml | 8 +- stable/rsshub/3.0.86/templates/common.yaml | 1 + stable/rsshub/3.0.86/values.yaml | 0 stable/storj-node/2.0.45/Chart.lock | 6 - .../{2.0.45 => 2.0.46}/CHANGELOG.md | 18 +- stable/storj-node/2.0.46/Chart.lock | 6 + .../storj-node/{2.0.45 => 2.0.46}/Chart.yaml | 4 +- .../storj-node/{2.0.45 => 2.0.46}/README.md | 2 +- stable/storj-node/2.0.46/SKIPINSTALL | 0 .../{2.0.45 => 2.0.46}/app-readme.md | 0 .../2.0.46/charts/common-10.5.6.tgz | Bin 0 -> 48176 bytes .../{2.0.45 => 2.0.46}/ix_values.yaml | 2 +- .../{2.0.45 => 2.0.46}/questions.yaml | 8 +- .../storj-node/2.0.46/templates/common.yaml | 1 + stable/storj-node/2.0.46/values.yaml | 0 stable/wekan/{5.0.5 => 5.0.6}/CHANGELOG.md | 18 +- stable/wekan/{5.0.5 => 5.0.6}/Chart.lock | 2 +- stable/wekan/{5.0.5 => 5.0.6}/Chart.yaml | 4 +- stable/wekan/{5.0.5 => 5.0.6}/README.md | 2 +- stable/wekan/{5.0.5 => 5.0.6}/app-readme.md | 0 stable/wekan/5.0.6/charts/common-10.5.6.tgz | Bin 0 -> 48176 bytes .../{5.0.5 => 5.0.6}/charts/mongodb-2.0.5.tgz | Bin stable/wekan/{5.0.5 => 5.0.6}/ix_values.yaml | 2 +- stable/wekan/{5.0.5 => 5.0.6}/questions.yaml | 8 +- stable/wekan/5.0.6/templates/common.yaml | 1 + stable/wekan/5.0.6/values.yaml | 0 stable/zigbee2mqtt/4.0.32/Chart.lock | 6 - .../{4.0.32 => 4.0.33}/CHANGELOG.md | 18 +- stable/zigbee2mqtt/4.0.33/Chart.lock | 6 + .../zigbee2mqtt/{4.0.32 => 4.0.33}/Chart.yaml | 4 +- .../zigbee2mqtt/{4.0.32 => 4.0.33}/README.md | 2 +- stable/zigbee2mqtt/4.0.33/SKIPINSTALL | 0 .../{4.0.32 => 4.0.33}/app-readme.md | 0 .../4.0.33/charts/common-10.5.6.tgz | Bin 0 -> 48176 bytes .../{4.0.32 => 4.0.33}/ix_values.yaml | 2 +- .../{4.0.32 => 4.0.33}/questions.yaml | 8 +- .../{4.0.32 => 4.0.33}/templates/common.yaml | 0 stable/zigbee2mqtt/4.0.33/values.yaml | 0 524 files changed, 26570 insertions(+), 808 deletions(-) rename dependency/clickhouse/{1.0.20 => 1.0.21}/CHANGELOG.md (95%) rename dependency/{memcached/3.0.68 => clickhouse/1.0.21}/Chart.lock (80%) rename dependency/clickhouse/{1.0.20 => 1.0.21}/Chart.yaml (95%) rename dependency/clickhouse/{1.0.20 => 1.0.21}/README.md (95%) rename dependency/clickhouse/{1.0.20 => 1.0.21}/app-readme.md (100%) rename dependency/clickhouse/{1.0.20 => 1.0.21}/charts/common-10.5.6.tgz (100%) rename dependency/clickhouse/{1.0.20 => 1.0.21}/ix_values.yaml (95%) rename dependency/clickhouse/{1.0.20 => 1.0.21}/questions.yaml (99%) rename dependency/clickhouse/{1.0.20 => 1.0.21}/templates/common.yaml (100%) rename dependency/clickhouse/{1.0.20 => 1.0.21}/values.yaml (100%) rename dependency/memcached/{3.0.68 => 3.0.69}/CHANGELOG.md (90%) rename dependency/{clickhouse/1.0.20 => memcached/3.0.69}/Chart.lock (80%) rename dependency/memcached/{3.0.68 => 3.0.69}/Chart.yaml (98%) rename dependency/memcached/{3.0.68 => 3.0.69}/README.md (98%) rename dependency/memcached/{3.0.68 => 3.0.69}/app-readme.md (100%) rename dependency/memcached/{3.0.68 => 3.0.69}/charts/common-10.5.6.tgz (100%) rename dependency/memcached/{3.0.68 => 3.0.69}/ix_values.yaml (68%) rename dependency/memcached/{3.0.68 => 3.0.69}/questions.yaml (99%) rename dependency/memcached/{3.0.68 => 3.0.69}/templates/common.yaml (100%) rename dependency/memcached/{3.0.68 => 3.0.69}/values.yaml (100%) rename dependency/mongodb/{2.0.5 => 2.0.6}/CHANGELOG.md (100%) rename dependency/mongodb/{2.0.5 => 2.0.6}/Chart.lock (80%) rename dependency/mongodb/{2.0.5 => 2.0.6}/Chart.yaml (98%) rename dependency/mongodb/{2.0.5 => 2.0.6}/README.md (98%) rename dependency/mongodb/{2.0.5 => 2.0.6}/app-readme.md (100%) rename dependency/mongodb/{2.0.5 => 2.0.6}/charts/common-10.5.6.tgz (100%) rename dependency/mongodb/{2.0.5 => 2.0.6}/ix_values.yaml (97%) rename dependency/mongodb/{2.0.5 => 2.0.6}/questions.yaml (99%) rename dependency/mongodb/{2.0.5 => 2.0.6}/templates/common.yaml (100%) rename dependency/mongodb/{2.0.5 => 2.0.6}/values.yaml (100%) delete mode 100644 dependency/redis/3.0.67/CHANGELOG.md create mode 100644 dependency/redis/3.0.68/CHANGELOG.md rename dependency/redis/{3.0.67 => 3.0.68}/Chart.lock (80%) rename dependency/redis/{3.0.67 => 3.0.68}/Chart.yaml (98%) rename dependency/redis/{3.0.67 => 3.0.68}/README.md (98%) rename dependency/redis/{3.0.67 => 3.0.68}/app-readme.md (100%) rename dependency/redis/{3.0.67 => 3.0.68}/charts/common-10.5.6.tgz (100%) rename dependency/redis/{3.0.67 => 3.0.68}/ix_values.yaml (98%) rename dependency/redis/{3.0.67 => 3.0.68}/questions.yaml (99%) rename dependency/redis/{3.0.67 => 3.0.68}/templates/common.yaml (100%) rename dependency/redis/{3.0.67 => 3.0.68}/values.yaml (100%) delete mode 100644 dependency/solr/0.0.41/Chart.lock rename dependency/solr/{0.0.41 => 0.0.42}/CHANGELOG.md (90%) create mode 100644 dependency/solr/0.0.42/Chart.lock rename dependency/solr/{0.0.41 => 0.0.42}/Chart.yaml (97%) rename dependency/solr/{0.0.41 => 0.0.42}/README.md (98%) rename dependency/solr/{0.0.41 => 0.0.42}/app-readme.md (100%) rename dependency/solr/{0.0.41 => 0.0.42}/charts/common-10.5.6.tgz (100%) rename dependency/solr/{0.0.41 => 0.0.42}/ix_values.yaml (98%) rename dependency/solr/{0.0.41 => 0.0.42}/questions.yaml (99%) rename dependency/solr/{0.0.41 => 0.0.42}/templates/common.yaml (100%) rename dependency/solr/{0.0.41 => 0.0.42}/values.yaml (100%) delete mode 100644 incubator/artifactory-oss/0.0.23/Chart.lock rename incubator/artifactory-oss/{0.0.23 => 0.0.24}/CHANGELOG.md (89%) create mode 100644 incubator/artifactory-oss/0.0.24/Chart.lock rename incubator/artifactory-oss/{0.0.23 => 0.0.24}/Chart.yaml (96%) rename incubator/artifactory-oss/{0.0.23 => 0.0.24}/README.md (95%) rename incubator/artifactory-oss/{0.0.23 => 0.0.24}/app-readme.md (100%) rename incubator/artifactory-oss/{0.0.23 => 0.0.24}/charts/common-10.5.6.tgz (100%) rename incubator/artifactory-oss/{0.0.23 => 0.0.24}/ix_values.yaml (96%) rename incubator/artifactory-oss/{0.0.23 => 0.0.24}/questions.yaml (99%) rename incubator/artifactory-oss/{0.0.23 => 0.0.24}/templates/common.yaml (100%) rename incubator/artifactory-oss/{0.0.23 => 0.0.24}/values.yaml (100%) delete mode 100644 incubator/aurora-files/0.0.22/CHANGELOG.md delete mode 100644 incubator/aurora-files/0.0.22/Chart.lock create mode 100644 incubator/aurora-files/0.0.23/CHANGELOG.md create mode 100644 incubator/aurora-files/0.0.23/Chart.lock rename incubator/aurora-files/{0.0.22 => 0.0.23}/Chart.yaml (98%) rename incubator/aurora-files/{0.0.22 => 0.0.23}/README.md (98%) rename incubator/aurora-files/{0.0.22 => 0.0.23}/app-readme.md (100%) rename incubator/aurora-files/{0.0.22 => 0.0.23}/charts/common-10.5.6.tgz (100%) rename incubator/aurora-files/{0.0.22 => 0.0.23}/ix_values.yaml (83%) rename incubator/{passwordpusherephemeral/0.0.28 => aurora-files/0.0.23}/questions.yaml (99%) rename incubator/aurora-files/{0.0.22 => 0.0.23}/templates/common.yaml (100%) rename incubator/aurora-files/{0.0.22 => 0.0.23}/values.yaml (100%) delete mode 100644 incubator/cryptpad/0.0.43/Chart.lock rename incubator/cryptpad/{0.0.43 => 0.0.44}/CHANGELOG.md (100%) create mode 100644 incubator/cryptpad/0.0.44/Chart.lock rename incubator/cryptpad/{0.0.43 => 0.0.44}/Chart.yaml (98%) rename incubator/cryptpad/{0.0.43 => 0.0.44}/README.md (98%) rename incubator/cryptpad/{0.0.43 => 0.0.44}/app-readme.md (100%) rename incubator/cryptpad/{0.0.43 => 0.0.44}/charts/common-10.5.6.tgz (100%) rename incubator/cryptpad/{0.0.43 => 0.0.44}/ix_values.yaml (91%) rename incubator/cryptpad/{0.0.43 => 0.0.44}/questions.yaml (99%) rename incubator/cryptpad/{0.0.43 => 0.0.44}/templates/common.yaml (100%) rename incubator/cryptpad/{0.0.43 => 0.0.44}/values.yaml (100%) delete mode 100644 incubator/filestash/0.0.31/Chart.lock rename incubator/filestash/{0.0.31 => 0.0.32}/CHANGELOG.md (91%) create mode 100644 incubator/filestash/0.0.32/Chart.lock rename incubator/filestash/{0.0.31 => 0.0.32}/Chart.yaml (98%) rename incubator/filestash/{0.0.31 => 0.0.32}/README.md (98%) rename incubator/filestash/{0.0.31 => 0.0.32}/app-readme.md (100%) rename incubator/filestash/{0.0.31 => 0.0.32}/charts/common-10.5.6.tgz (100%) rename incubator/filestash/{0.0.31 => 0.0.32}/ix_values.yaml (82%) rename incubator/filestash/{0.0.31 => 0.0.32}/questions.yaml (99%) rename incubator/filestash/{0.0.31 => 0.0.32}/templates/common.yaml (100%) rename incubator/filestash/{0.0.31 => 0.0.32}/values.yaml (100%) rename incubator/ghost/{3.0.55 => 3.0.56}/CHANGELOG.md (92%) rename incubator/ghost/{3.0.55 => 3.0.56}/Chart.lock (85%) rename incubator/ghost/{3.0.55 => 3.0.56}/Chart.yaml (96%) rename incubator/ghost/{3.0.55 => 3.0.56}/README.md (94%) rename incubator/ghost/{3.0.55 => 3.0.56}/app-readme.md (100%) rename incubator/ghost/{3.0.55 => 3.0.56}/charts/common-10.5.6.tgz (100%) rename incubator/ghost/{3.0.55 => 3.0.56}/charts/mariadb-3.0.66.tgz (100%) rename incubator/ghost/{3.0.55 => 3.0.56}/ix_values.yaml (95%) rename incubator/ghost/{3.0.55 => 3.0.56}/questions.yaml (99%) rename incubator/ghost/{3.0.55 => 3.0.56}/templates/common.yaml (100%) rename incubator/ghost/{3.0.55 => 3.0.56}/values.yaml (100%) delete mode 100644 incubator/passwordpusherephemeral/0.0.28/Chart.lock rename incubator/passwordpusherephemeral/{0.0.28 => 0.0.29}/CHANGELOG.md (90%) create mode 100644 incubator/passwordpusherephemeral/0.0.29/Chart.lock rename incubator/passwordpusherephemeral/{0.0.28 => 0.0.29}/Chart.yaml (98%) rename incubator/passwordpusherephemeral/{0.0.28 => 0.0.29}/README.md (98%) rename incubator/passwordpusherephemeral/{0.0.28 => 0.0.29}/app-readme.md (100%) rename incubator/passwordpusherephemeral/{0.0.28 => 0.0.29}/charts/common-10.5.6.tgz (100%) rename incubator/passwordpusherephemeral/{0.0.28 => 0.0.29}/ix_values.yaml (83%) rename incubator/{aurora-files/0.0.22 => passwordpusherephemeral/0.0.29}/questions.yaml (99%) rename incubator/passwordpusherephemeral/{0.0.28 => 0.0.29}/templates/common.yaml (100%) rename incubator/passwordpusherephemeral/{0.0.28 => 0.0.29}/values.yaml (100%) delete mode 100644 incubator/rickroll/0.0.27/Chart.lock rename incubator/rickroll/{0.0.27 => 0.0.28}/CHANGELOG.md (91%) create mode 100644 incubator/rickroll/0.0.28/Chart.lock rename incubator/rickroll/{0.0.27 => 0.0.28}/Chart.yaml (98%) rename incubator/rickroll/{0.0.27 => 0.0.28}/README.md (98%) rename incubator/rickroll/{0.0.27 => 0.0.28}/app-readme.md (100%) rename incubator/rickroll/{0.0.27 => 0.0.28}/charts/common-10.5.6.tgz (100%) rename incubator/rickroll/{0.0.27 => 0.0.28}/ci/basic-values.yaml (100%) rename incubator/rickroll/{0.0.27 => 0.0.28}/ci/fhd-values.yaml (100%) rename incubator/rickroll/{0.0.27 => 0.0.28}/ci/fhdgame-values.yaml (100%) rename incubator/rickroll/{0.0.27 => 0.0.28}/ci/fhdonclick-values.yaml (100%) rename incubator/rickroll/{0.0.27 => 0.0.28}/ci/onclick-values.yaml (100%) rename incubator/rickroll/{0.0.27 => 0.0.28}/ix_values.yaml (92%) rename incubator/rickroll/{0.0.27 => 0.0.28}/questions.yaml (99%) rename incubator/rickroll/{0.0.27 => 0.0.28}/templates/common.yaml (100%) rename incubator/rickroll/{0.0.27 => 0.0.28}/values.yaml (100%) delete mode 100644 incubator/rimgo/0.0.46/Chart.lock rename incubator/rimgo/{0.0.46 => 0.0.47}/CHANGELOG.md (91%) create mode 100644 incubator/rimgo/0.0.47/Chart.lock rename incubator/rimgo/{0.0.46 => 0.0.47}/Chart.yaml (97%) rename incubator/rimgo/{0.0.46 => 0.0.47}/README.md (98%) rename incubator/rimgo/{0.0.46 => 0.0.47}/app-readme.md (100%) rename incubator/rimgo/{0.0.46 => 0.0.47}/charts/common-10.5.6.tgz (100%) rename incubator/rimgo/{0.0.46 => 0.0.47}/ix_values.yaml (82%) rename incubator/rimgo/{0.0.46 => 0.0.47}/questions.yaml (99%) rename incubator/rimgo/{0.0.46 => 0.0.47}/templates/common.yaml (100%) rename incubator/rimgo/{0.0.46 => 0.0.47}/values.yaml (100%) delete mode 100644 incubator/searxng/0.0.36/Chart.lock rename incubator/searxng/{0.0.36 => 0.0.37}/CHANGELOG.md (91%) create mode 100644 incubator/searxng/0.0.37/Chart.lock rename incubator/searxng/{0.0.36 => 0.0.37}/Chart.yaml (98%) rename incubator/searxng/{0.0.36 => 0.0.37}/README.md (98%) rename incubator/searxng/{0.0.36 => 0.0.37}/app-readme.md (100%) rename incubator/searxng/{0.0.36 => 0.0.37}/charts/common-10.5.6.tgz (100%) rename incubator/searxng/{0.0.36 => 0.0.37}/ix_values.yaml (83%) rename incubator/searxng/{0.0.36 => 0.0.37}/questions.yaml (99%) rename incubator/searxng/{0.0.36 => 0.0.37}/templates/common.yaml (100%) rename incubator/searxng/{0.0.36 => 0.0.37}/values.yaml (100%) delete mode 100644 incubator/sftpgo/0.0.24/Chart.lock rename incubator/sftpgo/{0.0.24 => 0.0.25}/CHANGELOG.md (89%) create mode 100644 incubator/sftpgo/0.0.25/Chart.lock rename incubator/sftpgo/{0.0.24 => 0.0.25}/Chart.yaml (98%) rename incubator/sftpgo/{0.0.24 => 0.0.25}/README.md (98%) rename incubator/sftpgo/{0.0.24 => 0.0.25}/app-readme.md (100%) rename incubator/sftpgo/{0.0.24 => 0.0.25}/charts/common-10.5.6.tgz (100%) rename incubator/sftpgo/{0.0.24 => 0.0.25}/ix_values.yaml (94%) rename incubator/sftpgo/{0.0.24 => 0.0.25}/questions.yaml (99%) rename incubator/sftpgo/{0.0.24 => 0.0.25}/templates/common.yaml (100%) rename incubator/sftpgo/{0.0.24 => 0.0.25}/values.yaml (100%) delete mode 100644 incubator/tracks/0.0.23/Chart.lock rename incubator/tracks/{0.0.23 => 0.0.24}/CHANGELOG.md (92%) create mode 100644 incubator/tracks/0.0.24/Chart.lock rename incubator/tracks/{0.0.23 => 0.0.24}/Chart.yaml (98%) rename incubator/tracks/{0.0.23 => 0.0.24}/README.md (98%) rename incubator/tracks/{0.0.23 => 0.0.24}/app-readme.md (100%) rename incubator/tracks/{0.0.23 => 0.0.24}/charts/common-10.5.6.tgz (100%) rename incubator/tracks/{0.0.23 => 0.0.24}/ix_values.yaml (87%) rename incubator/tracks/{0.0.23 => 0.0.24}/questions.yaml (99%) rename incubator/tracks/{0.0.23 => 0.0.24}/templates/common.yaml (100%) rename incubator/tracks/{0.0.23 => 0.0.24}/values.yaml (100%) delete mode 100644 incubator/vertex/0.0.41/Chart.lock rename incubator/vertex/{0.0.41 => 0.0.42}/CHANGELOG.md (91%) create mode 100644 incubator/vertex/0.0.42/Chart.lock rename incubator/vertex/{0.0.41 => 0.0.42}/Chart.yaml (98%) rename incubator/vertex/{0.0.41 => 0.0.42}/README.md (98%) rename incubator/vertex/{0.0.41 => 0.0.42}/app-readme.md (100%) rename incubator/vertex/{0.0.41 => 0.0.42}/charts/common-10.5.6.tgz (100%) rename incubator/vertex/{0.0.41 => 0.0.42}/ix_values.yaml (82%) rename incubator/vertex/{0.0.41 => 0.0.42}/questions.yaml (99%) rename incubator/vertex/{0.0.41 => 0.0.42}/templates/common.yaml (100%) rename incubator/vertex/{0.0.41 => 0.0.42}/values.yaml (100%) delete mode 100644 incubator/virt-manager/0.0.45/Chart.lock rename incubator/virt-manager/{0.0.45 => 0.0.46}/CHANGELOG.md (91%) create mode 100644 incubator/virt-manager/0.0.46/Chart.lock rename incubator/virt-manager/{0.0.45 => 0.0.46}/Chart.yaml (98%) rename incubator/virt-manager/{0.0.45 => 0.0.46}/README.md (98%) rename incubator/virt-manager/{0.0.45 => 0.0.46}/app-readme.md (100%) rename incubator/virt-manager/{0.0.45 => 0.0.46}/charts/common-10.5.6.tgz (100%) rename incubator/virt-manager/{0.0.45 => 0.0.46}/ix_values.yaml (87%) rename incubator/virt-manager/{0.0.45 => 0.0.46}/questions.yaml (99%) rename incubator/virt-manager/{0.0.45 => 0.0.46}/templates/common.yaml (100%) rename incubator/virt-manager/{0.0.45 => 0.0.46}/values.yaml (100%) delete mode 100644 incubator/yourls/0.0.25/Chart.lock rename incubator/yourls/{0.0.25 => 0.0.26}/CHANGELOG.md (87%) create mode 100644 incubator/yourls/0.0.26/Chart.lock rename incubator/yourls/{0.0.25 => 0.0.26}/Chart.yaml (98%) rename incubator/yourls/{0.0.25 => 0.0.26}/README.md (98%) rename incubator/yourls/{0.0.25 => 0.0.26}/app-readme.md (100%) rename incubator/yourls/{0.0.25 => 0.0.26}/charts/common-10.5.6.tgz (100%) rename incubator/yourls/{0.0.25 => 0.0.26}/ix_values.yaml (85%) rename incubator/yourls/{0.0.25 => 0.0.26}/questions.yaml (99%) rename incubator/yourls/{0.0.25 => 0.0.26}/templates/common.yaml (100%) rename incubator/yourls/{0.0.25 => 0.0.26}/values.yaml (100%) create mode 100644 stable/authelia/11.0.44/CHANGELOG.md rename stable/{n8n/4.0.51 => authelia/11.0.44}/Chart.lock (88%) create mode 100644 stable/authelia/11.0.44/Chart.yaml create mode 100644 stable/authelia/11.0.44/README.md create mode 100644 stable/authelia/11.0.44/app-readme.md rename stable/{beets/4.0.35 => authelia/11.0.44}/charts/common-10.5.6.tgz (100%) rename stable/{mattermost/3.0.38 => authelia/11.0.44}/charts/postgresql-8.0.69.tgz (100%) rename stable/{n8n/4.0.51 => authelia/11.0.44}/charts/redis-3.0.67.tgz (100%) create mode 100644 stable/authelia/11.0.44/ix_values.yaml create mode 100644 stable/authelia/11.0.44/questions.yaml create mode 100644 stable/authelia/11.0.44/templates/_configmap.tpl create mode 100644 stable/authelia/11.0.44/templates/_secrets.tpl create mode 100644 stable/authelia/11.0.44/templates/common.yaml rename stable/{beets/4.0.35 => authelia/11.0.44}/values.yaml (100%) create mode 100644 stable/bazarr/11.0.32/CHANGELOG.md create mode 100644 stable/bazarr/11.0.32/Chart.lock create mode 100644 stable/bazarr/11.0.32/Chart.yaml create mode 100644 stable/bazarr/11.0.32/README.md create mode 100644 stable/bazarr/11.0.32/app-readme.md rename stable/{code-server/4.0.35 => bazarr/11.0.32}/charts/common-10.5.6.tgz (100%) create mode 100644 stable/bazarr/11.0.32/ix_values.yaml create mode 100644 stable/bazarr/11.0.32/questions.yaml rename stable/{custom-app/5.1.52 => bazarr/11.0.32}/templates/common.yaml (100%) rename stable/{code-server/4.0.35 => bazarr/11.0.32}/values.yaml (100%) delete mode 100644 stable/beets/4.0.35/Chart.lock rename stable/beets/{4.0.35 => 4.0.36}/CHANGELOG.md (91%) create mode 100644 stable/beets/4.0.36/Chart.lock rename stable/beets/{4.0.35 => 4.0.36}/Chart.yaml (98%) rename stable/beets/{4.0.35 => 4.0.36}/README.md (98%) rename stable/beets/{4.0.35 => 4.0.36}/app-readme.md (100%) rename stable/{custom-app/5.1.52 => beets/4.0.36}/charts/common-10.5.6.tgz (100%) rename stable/beets/{4.0.35 => 4.0.36}/ix_values.yaml (82%) rename stable/beets/{4.0.35 => 4.0.36}/questions.yaml (99%) rename stable/beets/{4.0.35 => 4.0.36}/templates/common.yaml (100%) rename stable/{custom-app/5.1.52 => beets/4.0.36}/values.yaml (100%) delete mode 100644 stable/code-server/4.0.35/Chart.lock rename stable/code-server/{4.0.35 => 4.0.36}/CHANGELOG.md (91%) create mode 100644 stable/code-server/4.0.36/Chart.lock rename stable/code-server/{4.0.35 => 4.0.36}/Chart.yaml (95%) rename stable/code-server/{4.0.35 => 4.0.36}/README.md (95%) rename stable/code-server/{4.0.35 => 4.0.36}/app-readme.md (100%) rename stable/{cyberchef/2.0.75 => code-server/4.0.36}/charts/common-10.5.6.tgz (100%) rename stable/code-server/{4.0.35 => 4.0.36}/ix_values.yaml (85%) rename stable/code-server/{4.0.35 => 4.0.36}/questions.yaml (99%) rename stable/code-server/{4.0.35 => 4.0.36}/templates/common.yaml (100%) rename stable/{cyberchef/2.0.75 => code-server/4.0.36}/values.yaml (100%) delete mode 100644 stable/custom-app/5.1.52/Chart.lock rename stable/custom-app/{5.1.52 => 5.1.53}/CHANGELOG.md (91%) create mode 100644 stable/custom-app/5.1.53/Chart.lock rename stable/custom-app/{5.1.52 => 5.1.53}/Chart.yaml (94%) rename stable/custom-app/{5.1.52 => 5.1.53}/README.md (95%) rename stable/custom-app/{5.1.52 => 5.1.53}/app-readme.md (100%) rename stable/{drawio/2.0.41 => custom-app/5.1.53}/charts/common-10.5.6.tgz (100%) rename stable/custom-app/{5.1.52 => 5.1.53}/ci/test-values.yaml (88%) rename stable/custom-app/{5.1.52 => 5.1.53}/ix_values.yaml (52%) rename stable/custom-app/{5.1.52 => 5.1.53}/questions.yaml (99%) rename stable/{cyberchef/2.0.75 => custom-app/5.1.53}/templates/common.yaml (100%) rename stable/{drawio/2.0.41 => custom-app/5.1.53}/values.yaml (100%) delete mode 100644 stable/cyberchef/2.0.75/Chart.lock rename stable/cyberchef/{2.0.75 => 2.0.76}/CHANGELOG.md (91%) create mode 100644 stable/cyberchef/2.0.76/Chart.lock rename stable/cyberchef/{2.0.75 => 2.0.76}/Chart.yaml (98%) rename stable/cyberchef/{2.0.75 => 2.0.76}/README.md (98%) rename stable/cyberchef/{2.0.75 => 2.0.76}/app-readme.md (100%) rename stable/{filezilla/4.0.35 => cyberchef/2.0.76}/charts/common-10.5.6.tgz (100%) rename stable/cyberchef/{2.0.75 => 2.0.76}/ix_values.yaml (78%) rename stable/cyberchef/{2.0.75 => 2.0.76}/questions.yaml (99%) rename stable/{drawio/2.0.41 => cyberchef/2.0.76}/templates/common.yaml (100%) rename stable/{filezilla/4.0.35 => cyberchef/2.0.76}/values.yaml (100%) delete mode 100644 stable/drawio/2.0.41/Chart.lock rename stable/drawio/{2.0.41 => 2.0.42}/CHANGELOG.md (92%) create mode 100644 stable/drawio/2.0.42/Chart.lock rename stable/drawio/{2.0.41 => 2.0.42}/Chart.yaml (95%) rename stable/drawio/{2.0.41 => 2.0.42}/README.md (94%) rename stable/drawio/{2.0.41 => 2.0.42}/app-readme.md (100%) rename stable/{impostor-server/1.0.37 => drawio/2.0.42}/charts/common-10.5.6.tgz (100%) rename stable/drawio/{2.0.41 => 2.0.42}/ix_values.yaml (78%) rename stable/drawio/{2.0.41 => 2.0.42}/questions.yaml (99%) rename stable/{impostor-server/1.0.37 => drawio/2.0.42}/templates/common.yaml (100%) rename stable/{impostor-server/1.0.37 => drawio/2.0.42}/values.yaml (100%) create mode 100644 stable/esphome/11.0.34/CHANGELOG.md create mode 100644 stable/esphome/11.0.34/Chart.lock create mode 100644 stable/esphome/11.0.34/Chart.yaml create mode 100644 stable/esphome/11.0.34/README.md create mode 100644 stable/esphome/11.0.34/app-readme.md rename stable/{matomo/3.0.56 => esphome/11.0.34}/charts/common-10.5.6.tgz (100%) create mode 100644 stable/esphome/11.0.34/ix_values.yaml create mode 100644 stable/esphome/11.0.34/questions.yaml rename stable/{matomo/3.0.56 => esphome/11.0.34}/templates/common.yaml (100%) rename stable/{matomo/3.0.56 => esphome/11.0.34}/values.yaml (100%) delete mode 100644 stable/filezilla/4.0.35/Chart.lock rename stable/filezilla/{4.0.35 => 4.0.36}/CHANGELOG.md (91%) create mode 100644 stable/filezilla/4.0.36/Chart.lock rename stable/filezilla/{4.0.35 => 4.0.36}/Chart.yaml (98%) rename stable/filezilla/{4.0.35 => 4.0.36}/README.md (98%) rename stable/filezilla/{4.0.35 => 4.0.36}/app-readme.md (100%) rename stable/{mattermost/3.0.38 => filezilla/4.0.36}/charts/common-10.5.6.tgz (100%) rename stable/filezilla/{4.0.35 => 4.0.36}/ix_values.yaml (82%) rename stable/filezilla/{4.0.35 => 4.0.36}/questions.yaml (99%) rename stable/filezilla/{4.0.35 => 4.0.36}/templates/common.yaml (100%) rename stable/{mattermost/3.0.38 => filezilla/4.0.36}/values.yaml (100%) delete mode 100644 stable/impostor-server/1.0.37/Chart.lock rename stable/impostor-server/{1.0.37 => 1.0.38}/CHANGELOG.md (91%) create mode 100644 stable/impostor-server/1.0.38/Chart.lock rename stable/impostor-server/{1.0.37 => 1.0.38}/Chart.yaml (97%) rename stable/impostor-server/{1.0.37 => 1.0.38}/README.md (98%) rename stable/impostor-server/{1.0.37 => 1.0.38}/app-readme.md (100%) rename stable/{monica/3.0.44 => impostor-server/1.0.38}/charts/common-10.5.6.tgz (100%) rename stable/impostor-server/{1.0.37 => 1.0.38}/ci/base-values.yaml (100%) rename stable/impostor-server/{1.0.37 => 1.0.38}/ci/values.yaml (50%) rename stable/impostor-server/{1.0.37 => 1.0.38}/ix_values.yaml (79%) rename stable/impostor-server/{1.0.37 => 1.0.38}/questions.yaml (99%) rename stable/{mattermost/3.0.38 => impostor-server/1.0.38}/templates/common.yaml (100%) rename stable/{monica/3.0.44 => impostor-server/1.0.38}/values.yaml (100%) create mode 100644 stable/jackett/11.0.76/CHANGELOG.md create mode 100644 stable/jackett/11.0.76/Chart.lock create mode 100644 stable/jackett/11.0.76/Chart.yaml create mode 100644 stable/jackett/11.0.76/README.md create mode 100644 stable/jackett/11.0.76/app-readme.md rename stable/{n8n/4.0.51 => jackett/11.0.76}/charts/common-10.5.6.tgz (100%) create mode 100644 stable/jackett/11.0.76/ix_values.yaml create mode 100644 stable/jackett/11.0.76/questions.yaml rename stable/{rsshub/3.0.85 => jackett/11.0.76}/templates/common.yaml (100%) rename stable/{n8n/4.0.51 => jackett/11.0.76}/values.yaml (100%) create mode 100644 stable/lazylibrarian/11.0.52/CHANGELOG.md create mode 100644 stable/lazylibrarian/11.0.52/Chart.lock create mode 100644 stable/lazylibrarian/11.0.52/Chart.yaml create mode 100644 stable/lazylibrarian/11.0.52/README.md create mode 100644 stable/lazylibrarian/11.0.52/app-readme.md rename stable/{prometheus/4.0.75 => lazylibrarian/11.0.52}/charts/common-10.5.6.tgz (100%) create mode 100644 stable/lazylibrarian/11.0.52/ix_values.yaml create mode 100644 stable/lazylibrarian/11.0.52/questions.yaml rename stable/{storj-node/2.0.45 => lazylibrarian/11.0.52}/templates/common.yaml (100%) rename stable/{prometheus/4.0.75 => lazylibrarian/11.0.52}/values.yaml (100%) rename stable/matomo/{3.0.56 => 3.0.57}/CHANGELOG.md (92%) rename stable/matomo/{3.0.56 => 3.0.57}/Chart.lock (85%) rename stable/matomo/{3.0.56 => 3.0.57}/Chart.yaml (98%) rename stable/matomo/{3.0.56 => 3.0.57}/README.md (98%) rename stable/matomo/{3.0.56 => 3.0.57}/app-readme.md (100%) rename stable/{rsshub/3.0.85 => matomo/3.0.57}/charts/common-10.5.6.tgz (100%) rename stable/matomo/{3.0.56 => 3.0.57}/charts/mariadb-3.0.66.tgz (100%) rename stable/matomo/{3.0.56 => 3.0.57}/ix_values.yaml (96%) rename stable/matomo/{3.0.56 => 3.0.57}/questions.yaml (99%) rename stable/{wekan/5.0.5 => matomo/3.0.57}/templates/common.yaml (100%) rename stable/{rsshub/3.0.85 => matomo/3.0.57}/values.yaml (100%) rename stable/mattermost/{3.0.38 => 3.0.39}/CHANGELOG.md (88%) rename stable/mattermost/{3.0.38 => 3.0.39}/Chart.lock (85%) rename stable/mattermost/{3.0.38 => 3.0.39}/Chart.yaml (98%) rename stable/mattermost/{3.0.38 => 3.0.39}/README.md (98%) rename stable/mattermost/{3.0.38 => 3.0.39}/app-readme.md (100%) rename stable/{storj-node/2.0.45 => mattermost/3.0.39}/charts/common-10.5.6.tgz (100%) rename stable/{n8n/4.0.51 => mattermost/3.0.39}/charts/postgresql-8.0.69.tgz (100%) rename stable/mattermost/{3.0.38 => 3.0.39}/ix_values.yaml (92%) rename stable/mattermost/{3.0.38 => 3.0.39}/questions.yaml (99%) create mode 100644 stable/mattermost/3.0.39/templates/common.yaml rename stable/{storj-node/2.0.45 => mattermost/3.0.39}/values.yaml (100%) rename stable/monica/{3.0.44 => 3.0.45}/CHANGELOG.md (92%) rename stable/monica/{3.0.44 => 3.0.45}/Chart.lock (85%) rename stable/monica/{3.0.44 => 3.0.45}/Chart.yaml (98%) rename stable/monica/{3.0.44 => 3.0.45}/README.md (98%) rename stable/monica/{3.0.44 => 3.0.45}/app-readme.md (100%) rename stable/{wekan/5.0.5 => monica/3.0.45}/charts/common-10.5.6.tgz (100%) rename stable/monica/{3.0.44 => 3.0.45}/charts/mariadb-3.0.66.tgz (100%) rename stable/monica/{3.0.44 => 3.0.45}/ix_values.yaml (90%) rename stable/monica/{3.0.44 => 3.0.45}/questions.yaml (99%) rename stable/monica/{3.0.44 => 3.0.45}/templates/_appkey.tpl (100%) rename stable/monica/{3.0.44 => 3.0.45}/templates/common.yaml (100%) rename stable/{wekan/5.0.5 => monica/3.0.45}/values.yaml (100%) rename stable/n8n/{4.0.51 => 4.0.52}/CHANGELOG.md (92%) create mode 100644 stable/n8n/4.0.52/Chart.lock rename stable/n8n/{4.0.51 => 4.0.52}/Chart.yaml (96%) rename stable/n8n/{4.0.51 => 4.0.52}/README.md (94%) rename stable/n8n/{4.0.51 => 4.0.52}/app-readme.md (100%) rename stable/{zigbee2mqtt/4.0.32 => n8n/4.0.52}/charts/common-10.5.6.tgz (100%) create mode 100644 stable/n8n/4.0.52/charts/postgresql-8.0.69.tgz rename stable/{rsshub/3.0.85 => n8n/4.0.52}/charts/redis-3.0.67.tgz (100%) rename stable/n8n/{4.0.51 => 4.0.52}/ix_values.yaml (97%) rename stable/n8n/{4.0.51 => 4.0.52}/questions.yaml (99%) rename stable/n8n/{4.0.51 => 4.0.52}/templates/_configmap.tpl (100%) rename stable/n8n/{4.0.51 => 4.0.52}/templates/common.yaml (100%) rename stable/{zigbee2mqtt/4.0.32 => n8n/4.0.52}/values.yaml (100%) create mode 100644 stable/nextcloud/15.3.7/CHANGELOG.md create mode 100644 stable/nextcloud/15.3.7/Chart.lock create mode 100644 stable/nextcloud/15.3.7/Chart.yaml create mode 100644 stable/nextcloud/15.3.7/README.md create mode 100644 stable/nextcloud/15.3.7/app-readme.md create mode 100644 stable/nextcloud/15.3.7/charts/collabora-online-12.1.37.tgz create mode 100644 stable/nextcloud/15.3.7/charts/common-10.5.6.tgz create mode 100644 stable/nextcloud/15.3.7/charts/postgresql-8.0.69.tgz create mode 100644 stable/nextcloud/15.3.7/charts/redis-3.0.67.tgz create mode 100644 stable/nextcloud/15.3.7/ci/basic-values.yaml create mode 100644 stable/nextcloud/15.3.7/ix_values.yaml create mode 100644 stable/nextcloud/15.3.7/questions.yaml create mode 100644 stable/nextcloud/15.3.7/templates/_configmap.tpl create mode 100644 stable/nextcloud/15.3.7/templates/_cronjob.tpl create mode 100644 stable/nextcloud/15.3.7/templates/_hpb.tpl create mode 100644 stable/nextcloud/15.3.7/templates/_imaginary.tpl create mode 100644 stable/nextcloud/15.3.7/templates/_nginx.tpl create mode 100644 stable/nextcloud/15.3.7/templates/common.yaml rename stable/{storj-node/2.0.45/SKIPINSTALL => nextcloud/15.3.7/values.yaml} (100%) create mode 100644 stable/photoprism/10.0.41/CHANGELOG.md create mode 100644 stable/photoprism/10.0.41/Chart.lock create mode 100644 stable/photoprism/10.0.41/Chart.yaml create mode 100644 stable/photoprism/10.0.41/README.md create mode 100644 stable/photoprism/10.0.41/app-readme.md create mode 100644 stable/photoprism/10.0.41/charts/common-10.5.6.tgz create mode 100644 stable/photoprism/10.0.41/charts/mariadb-3.0.66.tgz create mode 100644 stable/photoprism/10.0.41/ix_values.yaml create mode 100644 stable/photoprism/10.0.41/questions.yaml create mode 100644 stable/photoprism/10.0.41/templates/common.yaml rename stable/{zigbee2mqtt/4.0.32/SKIPINSTALL => photoprism/10.0.41/values.yaml} (100%) create mode 100644 stable/plex/10.2.6/CHANGELOG.md create mode 100644 stable/plex/10.2.6/Chart.lock create mode 100644 stable/plex/10.2.6/Chart.yaml create mode 100644 stable/plex/10.2.6/README.md create mode 100644 stable/plex/10.2.6/app-readme.md create mode 100644 stable/plex/10.2.6/charts/common-10.5.6.tgz create mode 100644 stable/plex/10.2.6/ix_values.yaml create mode 100644 stable/plex/10.2.6/questions.yaml create mode 100644 stable/plex/10.2.6/templates/common.yaml create mode 100644 stable/plex/10.2.6/values.yaml rename stable/prometheus/{4.0.75 => 4.0.76}/CHANGELOG.md (92%) rename stable/prometheus/{4.0.75 => 4.0.76}/Chart.lock (89%) rename stable/prometheus/{4.0.75 => 4.0.76}/Chart.yaml (98%) rename stable/prometheus/{4.0.75 => 4.0.76}/README.md (98%) rename stable/prometheus/{4.0.75 => 4.0.76}/app-readme.md (100%) create mode 100644 stable/prometheus/4.0.76/charts/common-10.5.6.tgz rename stable/prometheus/{4.0.75 => 4.0.76}/charts/kube-state-metrics-3.2.1.tgz (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/charts/node-exporter-3.1.1.tgz (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/crds/crd-alertmanager-config.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/crds/crd-alertmanager.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/crds/crd-podmonitor.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/crds/crd-probes.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/crds/crd-prometheus.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/crds/crd-prometheusrules.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/crds/crd-servicemonitor.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/crds/crd-thanosrulers.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/ix_values.yaml (99%) rename stable/prometheus/{4.0.75 => 4.0.76}/questions.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/_helpers.tpl (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/alertmanager/_alertmanager.tpl (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/alertmanager/secrets.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/alertmanager/serviceaccount.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/alertmanager/servicemonitor.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/common.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/exporters/core-dns/service.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/exporters/core-dns/servicemonitor.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/exporters/kube-apiserver/servicemonitor.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/exporters/kube-controller-manager/endpoints.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/exporters/kube-controller-manager/service.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/exporters/kube-controller-manager/servicemonitor.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/exporters/kube-scheduler/endpoints.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/exporters/kube-scheduler/service.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/exporters/kube-scheduler/servicemonitor.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/exporters/kubelet/servicemonitor.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/operator/_args.tpl (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/operator/configmap.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/operator/servicemonitor.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/prometheus/_additionalPrometheusRules.tpl (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/prometheus/_additionalScrapeJobs.tpl (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/prometheus/_prometheus.tpl (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/prometheus/_servicemonitor.tpl (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/prometheus/clusterrole.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/prometheus/clusterrolebinding.yaml (100%) rename stable/prometheus/{4.0.75 => 4.0.76}/templates/prometheus/serviceaccount.yaml (100%) create mode 100644 stable/prometheus/4.0.76/values.yaml rename stable/rsshub/{3.0.85 => 3.0.86}/CHANGELOG.md (92%) rename stable/rsshub/{3.0.85 => 3.0.86}/Chart.lock (85%) rename stable/rsshub/{3.0.85 => 3.0.86}/Chart.yaml (98%) rename stable/rsshub/{3.0.85 => 3.0.86}/README.md (98%) rename stable/rsshub/{3.0.85 => 3.0.86}/app-readme.md (100%) create mode 100644 stable/rsshub/3.0.86/charts/common-10.5.6.tgz create mode 100644 stable/rsshub/3.0.86/charts/redis-3.0.67.tgz rename stable/rsshub/{3.0.85 => 3.0.86}/ix_values.yaml (93%) rename stable/rsshub/{3.0.85 => 3.0.86}/questions.yaml (99%) create mode 100644 stable/rsshub/3.0.86/templates/common.yaml create mode 100644 stable/rsshub/3.0.86/values.yaml delete mode 100644 stable/storj-node/2.0.45/Chart.lock rename stable/storj-node/{2.0.45 => 2.0.46}/CHANGELOG.md (92%) create mode 100644 stable/storj-node/2.0.46/Chart.lock rename stable/storj-node/{2.0.45 => 2.0.46}/Chart.yaml (96%) rename stable/storj-node/{2.0.45 => 2.0.46}/README.md (94%) create mode 100644 stable/storj-node/2.0.46/SKIPINSTALL rename stable/storj-node/{2.0.45 => 2.0.46}/app-readme.md (100%) create mode 100644 stable/storj-node/2.0.46/charts/common-10.5.6.tgz rename stable/storj-node/{2.0.45 => 2.0.46}/ix_values.yaml (90%) rename stable/storj-node/{2.0.45 => 2.0.46}/questions.yaml (99%) create mode 100644 stable/storj-node/2.0.46/templates/common.yaml create mode 100644 stable/storj-node/2.0.46/values.yaml rename stable/wekan/{5.0.5 => 5.0.6}/CHANGELOG.md (91%) rename stable/wekan/{5.0.5 => 5.0.6}/Chart.lock (85%) rename stable/wekan/{5.0.5 => 5.0.6}/Chart.yaml (96%) rename stable/wekan/{5.0.5 => 5.0.6}/README.md (94%) rename stable/wekan/{5.0.5 => 5.0.6}/app-readme.md (100%) create mode 100644 stable/wekan/5.0.6/charts/common-10.5.6.tgz rename stable/wekan/{5.0.5 => 5.0.6}/charts/mongodb-2.0.5.tgz (100%) rename stable/wekan/{5.0.5 => 5.0.6}/ix_values.yaml (98%) rename stable/wekan/{5.0.5 => 5.0.6}/questions.yaml (99%) create mode 100644 stable/wekan/5.0.6/templates/common.yaml create mode 100644 stable/wekan/5.0.6/values.yaml delete mode 100644 stable/zigbee2mqtt/4.0.32/Chart.lock rename stable/zigbee2mqtt/{4.0.32 => 4.0.33}/CHANGELOG.md (92%) create mode 100644 stable/zigbee2mqtt/4.0.33/Chart.lock rename stable/zigbee2mqtt/{4.0.32 => 4.0.33}/Chart.yaml (95%) rename stable/zigbee2mqtt/{4.0.32 => 4.0.33}/README.md (94%) create mode 100644 stable/zigbee2mqtt/4.0.33/SKIPINSTALL rename stable/zigbee2mqtt/{4.0.32 => 4.0.33}/app-readme.md (100%) create mode 100644 stable/zigbee2mqtt/4.0.33/charts/common-10.5.6.tgz rename stable/zigbee2mqtt/{4.0.32 => 4.0.33}/ix_values.yaml (98%) rename stable/zigbee2mqtt/{4.0.32 => 4.0.33}/questions.yaml (99%) rename stable/zigbee2mqtt/{4.0.32 => 4.0.33}/templates/common.yaml (100%) create mode 100644 stable/zigbee2mqtt/4.0.33/values.yaml diff --git a/dependency/clickhouse/1.0.20/CHANGELOG.md b/dependency/clickhouse/1.0.21/CHANGELOG.md similarity index 95% rename from dependency/clickhouse/1.0.20/CHANGELOG.md rename to dependency/clickhouse/1.0.21/CHANGELOG.md index 91a00227efb..a70080b6404 100644 --- a/dependency/clickhouse/1.0.20/CHANGELOG.md +++ b/dependency/clickhouse/1.0.21/CHANGELOG.md @@ -2,6 +2,7 @@ + ## [memcached-3.0.68](https://github.com/truecharts/charts/compare/memcached-3.0.66...memcached-3.0.68) (2022-08-30) ### Chore @@ -96,4 +97,3 @@ -## [clickhouse-1.0.8](https://github.com/truecharts/charts/compare/clickhouse-1.0.7...clickhouse-1.0.8) (2022-08-12) diff --git a/dependency/memcached/3.0.68/Chart.lock b/dependency/clickhouse/1.0.21/Chart.lock similarity index 80% rename from dependency/memcached/3.0.68/Chart.lock rename to dependency/clickhouse/1.0.21/Chart.lock index b7d3be94cba..238619c1ef0 100644 --- a/dependency/memcached/3.0.68/Chart.lock +++ b/dependency/clickhouse/1.0.21/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://library-charts.truecharts.org version: 10.5.6 digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-30T20:52:24.29934197Z" +generated: "2022-09-02T09:44:43.767526786Z" diff --git a/dependency/clickhouse/1.0.20/Chart.yaml b/dependency/clickhouse/1.0.21/Chart.yaml similarity index 95% rename from dependency/clickhouse/1.0.20/Chart.yaml rename to dependency/clickhouse/1.0.21/Chart.yaml index 7fefdb0d4d9..6da3d7e7b08 100644 --- a/dependency/clickhouse/1.0.20/Chart.yaml +++ b/dependency/clickhouse/1.0.21/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: "22.8.3.13" +appVersion: "22.8.4.7" dependencies: - name: common repository: https://library-charts.truecharts.org @@ -23,7 +23,7 @@ sources: - https://clickhouse.com/ - https://hub.docker.com/r/yandex/clickhouse-server type: application -version: 1.0.20 +version: 1.0.21 annotations: truecharts.org/catagories: | - database diff --git a/dependency/clickhouse/1.0.20/README.md b/dependency/clickhouse/1.0.21/README.md similarity index 95% rename from dependency/clickhouse/1.0.20/README.md rename to dependency/clickhouse/1.0.21/README.md index d8d40a4ee29..3fcc4ae7a93 100644 --- a/dependency/clickhouse/1.0.20/README.md +++ b/dependency/clickhouse/1.0.21/README.md @@ -1,6 +1,6 @@ # clickhouse -![Version: 1.0.20](https://img.shields.io/badge/Version-1.0.20-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 22.8.3.13](https://img.shields.io/badge/AppVersion-22.8.3.13-informational?style=flat-square) +![Version: 1.0.21](https://img.shields.io/badge/Version-1.0.21-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 22.8.4.7](https://img.shields.io/badge/AppVersion-22.8.4.7-informational?style=flat-square) ClickHouse is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP). diff --git a/dependency/clickhouse/1.0.20/app-readme.md b/dependency/clickhouse/1.0.21/app-readme.md similarity index 100% rename from dependency/clickhouse/1.0.20/app-readme.md rename to dependency/clickhouse/1.0.21/app-readme.md diff --git a/dependency/clickhouse/1.0.20/charts/common-10.5.6.tgz b/dependency/clickhouse/1.0.21/charts/common-10.5.6.tgz similarity index 100% rename from dependency/clickhouse/1.0.20/charts/common-10.5.6.tgz rename to dependency/clickhouse/1.0.21/charts/common-10.5.6.tgz diff --git a/dependency/clickhouse/1.0.20/ix_values.yaml b/dependency/clickhouse/1.0.21/ix_values.yaml similarity index 95% rename from dependency/clickhouse/1.0.20/ix_values.yaml rename to dependency/clickhouse/1.0.21/ix_values.yaml index d7a510f8ff9..d509513657e 100644 --- a/dependency/clickhouse/1.0.20/ix_values.yaml +++ b/dependency/clickhouse/1.0.21/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: tccr.io/truecharts/clickhouse pullPolicy: IfNotPresent - tag: 22.8.3.13@sha256:decf1ef41af4f66766176ec1509d3211acccb2814ae6683ab9e2b52125c1833e + tag: 22.8.4.7@sha256:dffb30b94700efc7515aae41ec8c63c6995fa7288ece6ceed0787c05c1f6cb6c controller: type: statefulset diff --git a/dependency/clickhouse/1.0.20/questions.yaml b/dependency/clickhouse/1.0.21/questions.yaml similarity index 99% rename from dependency/clickhouse/1.0.20/questions.yaml rename to dependency/clickhouse/1.0.21/questions.yaml index 3f31c57f3fe..51a022ac6e5 100644 --- a/dependency/clickhouse/1.0.20/questions.yaml +++ b/dependency/clickhouse/1.0.21/questions.yaml @@ -2669,7 +2669,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2681,7 +2683,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/dependency/clickhouse/1.0.20/templates/common.yaml b/dependency/clickhouse/1.0.21/templates/common.yaml similarity index 100% rename from dependency/clickhouse/1.0.20/templates/common.yaml rename to dependency/clickhouse/1.0.21/templates/common.yaml diff --git a/dependency/clickhouse/1.0.20/values.yaml b/dependency/clickhouse/1.0.21/values.yaml similarity index 100% rename from dependency/clickhouse/1.0.20/values.yaml rename to dependency/clickhouse/1.0.21/values.yaml diff --git a/dependency/memcached/3.0.68/CHANGELOG.md b/dependency/memcached/3.0.69/CHANGELOG.md similarity index 90% rename from dependency/memcached/3.0.68/CHANGELOG.md rename to dependency/memcached/3.0.69/CHANGELOG.md index 17ef7757311..51987315aa6 100644 --- a/dependency/memcached/3.0.68/CHANGELOG.md +++ b/dependency/memcached/3.0.69/CHANGELOG.md @@ -2,6 +2,15 @@ +## [memcached-3.0.69](https://github.com/truecharts/charts/compare/memcached-3.0.68...memcached-3.0.69) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [memcached-3.0.67](https://github.com/truecharts/charts/compare/memcached-3.0.66...memcached-3.0.67) (2022-08-30) @@ -88,12 +97,3 @@ ## [clickhouse-1.0.8](https://github.com/truecharts/charts/compare/clickhouse-1.0.7...clickhouse-1.0.8) (2022-08-12) -### Chore - -- add documentation checkbox/section to all SCALE Apps - - update helm chart common to v10.4.12 - - ### Fix - -- move extraArgs from .Values.controller to .Values ([#3447](https://github.com/truecharts/charts/issues/3447)) - diff --git a/dependency/clickhouse/1.0.20/Chart.lock b/dependency/memcached/3.0.69/Chart.lock similarity index 80% rename from dependency/clickhouse/1.0.20/Chart.lock rename to dependency/memcached/3.0.69/Chart.lock index 77ee08079df..2efa93cd94d 100644 --- a/dependency/clickhouse/1.0.20/Chart.lock +++ b/dependency/memcached/3.0.69/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://library-charts.truecharts.org version: 10.5.6 digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-30T20:52:24.259309094Z" +generated: "2022-09-02T09:44:43.778516732Z" diff --git a/dependency/memcached/3.0.68/Chart.yaml b/dependency/memcached/3.0.69/Chart.yaml similarity index 98% rename from dependency/memcached/3.0.68/Chart.yaml rename to dependency/memcached/3.0.69/Chart.yaml index 7579847b51b..5596f77a5c1 100644 --- a/dependency/memcached/3.0.68/Chart.yaml +++ b/dependency/memcached/3.0.69/Chart.yaml @@ -23,7 +23,7 @@ sources: - https://github.com/bitnami/bitnami-docker-memcached - http://memcached.org/ type: application -version: 3.0.68 +version: 3.0.69 annotations: truecharts.org/catagories: | - database diff --git a/dependency/memcached/3.0.68/README.md b/dependency/memcached/3.0.69/README.md similarity index 98% rename from dependency/memcached/3.0.68/README.md rename to dependency/memcached/3.0.69/README.md index 0cfd5e2cff1..b1aac9f3546 100644 --- a/dependency/memcached/3.0.68/README.md +++ b/dependency/memcached/3.0.69/README.md @@ -1,6 +1,6 @@ # memcached -![Version: 3.0.68](https://img.shields.io/badge/Version-3.0.68-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.6.17](https://img.shields.io/badge/AppVersion-1.6.17-informational?style=flat-square) +![Version: 3.0.69](https://img.shields.io/badge/Version-3.0.69-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.6.17](https://img.shields.io/badge/AppVersion-1.6.17-informational?style=flat-square) Memcached is a memory-backed database caching solution diff --git a/dependency/memcached/3.0.68/app-readme.md b/dependency/memcached/3.0.69/app-readme.md similarity index 100% rename from dependency/memcached/3.0.68/app-readme.md rename to dependency/memcached/3.0.69/app-readme.md diff --git a/dependency/memcached/3.0.68/charts/common-10.5.6.tgz b/dependency/memcached/3.0.69/charts/common-10.5.6.tgz similarity index 100% rename from dependency/memcached/3.0.68/charts/common-10.5.6.tgz rename to dependency/memcached/3.0.69/charts/common-10.5.6.tgz diff --git a/dependency/memcached/3.0.68/ix_values.yaml b/dependency/memcached/3.0.69/ix_values.yaml similarity index 68% rename from dependency/memcached/3.0.68/ix_values.yaml rename to dependency/memcached/3.0.69/ix_values.yaml index bb872057fe3..3169d5c79b2 100644 --- a/dependency/memcached/3.0.68/ix_values.yaml +++ b/dependency/memcached/3.0.69/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: tccr.io/truecharts/memcached pullPolicy: IfNotPresent - tag: 1.6.17@sha256:1a343119c00c33188a27442b6020b0094def05642a9571922496952a2cc4c158 + tag: 1.6.17@sha256:96660a22ef6bbcf6c2a0936a4708bd996d1d5540a7aeb83d8573af3046e44473 service: main: diff --git a/dependency/memcached/3.0.68/questions.yaml b/dependency/memcached/3.0.69/questions.yaml similarity index 99% rename from dependency/memcached/3.0.68/questions.yaml rename to dependency/memcached/3.0.69/questions.yaml index 06daafeede7..2c1d5feec31 100644 --- a/dependency/memcached/3.0.68/questions.yaml +++ b/dependency/memcached/3.0.69/questions.yaml @@ -2117,7 +2117,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2129,7 +2131,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/dependency/memcached/3.0.68/templates/common.yaml b/dependency/memcached/3.0.69/templates/common.yaml similarity index 100% rename from dependency/memcached/3.0.68/templates/common.yaml rename to dependency/memcached/3.0.69/templates/common.yaml diff --git a/dependency/memcached/3.0.68/values.yaml b/dependency/memcached/3.0.69/values.yaml similarity index 100% rename from dependency/memcached/3.0.68/values.yaml rename to dependency/memcached/3.0.69/values.yaml diff --git a/dependency/mongodb/2.0.5/CHANGELOG.md b/dependency/mongodb/2.0.6/CHANGELOG.md similarity index 100% rename from dependency/mongodb/2.0.5/CHANGELOG.md rename to dependency/mongodb/2.0.6/CHANGELOG.md index e00c2c1aeae..2efc9275b5a 100644 --- a/dependency/mongodb/2.0.5/CHANGELOG.md +++ b/dependency/mongodb/2.0.6/CHANGELOG.md @@ -2,6 +2,7 @@ + ## [mongodb-2.0.5](https://github.com/truecharts/charts/compare/mongodb-2.0.3...mongodb-2.0.5) (2022-08-30) ### Chore @@ -96,4 +97,3 @@ ## [clickhouse-1.0.9](https://github.com/truecharts/charts/compare/clickhouse-1.0.8...clickhouse-1.0.9) (2022-08-14) - diff --git a/dependency/mongodb/2.0.5/Chart.lock b/dependency/mongodb/2.0.6/Chart.lock similarity index 80% rename from dependency/mongodb/2.0.5/Chart.lock rename to dependency/mongodb/2.0.6/Chart.lock index ebdca0fb9e7..8d0d89cec47 100644 --- a/dependency/mongodb/2.0.5/Chart.lock +++ b/dependency/mongodb/2.0.6/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://library-charts.truecharts.org version: 10.5.6 digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-30T20:52:50.880812348Z" +generated: "2022-09-02T09:44:43.804080607Z" diff --git a/dependency/mongodb/2.0.5/Chart.yaml b/dependency/mongodb/2.0.6/Chart.yaml similarity index 98% rename from dependency/mongodb/2.0.5/Chart.yaml rename to dependency/mongodb/2.0.6/Chart.yaml index 96a6edca6f2..e7077d8b841 100644 --- a/dependency/mongodb/2.0.5/Chart.yaml +++ b/dependency/mongodb/2.0.6/Chart.yaml @@ -24,7 +24,7 @@ sources: - https://github.com/bitnami/bitnami-docker-mongodb - https://www.mongodb.com type: application -version: 2.0.5 +version: 2.0.6 annotations: truecharts.org/catagories: | - database diff --git a/dependency/mongodb/2.0.5/README.md b/dependency/mongodb/2.0.6/README.md similarity index 98% rename from dependency/mongodb/2.0.5/README.md rename to dependency/mongodb/2.0.6/README.md index 9ba47f71e80..1e36a3f8d3f 100644 --- a/dependency/mongodb/2.0.5/README.md +++ b/dependency/mongodb/2.0.6/README.md @@ -1,6 +1,6 @@ # mongodb -![Version: 2.0.5](https://img.shields.io/badge/Version-2.0.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 6.0.1](https://img.shields.io/badge/AppVersion-6.0.1-informational?style=flat-square) +![Version: 2.0.6](https://img.shields.io/badge/Version-2.0.6-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 6.0.1](https://img.shields.io/badge/AppVersion-6.0.1-informational?style=flat-square) Fast, reliable, scalable, and easy to use open-source no-sql database system. diff --git a/dependency/mongodb/2.0.5/app-readme.md b/dependency/mongodb/2.0.6/app-readme.md similarity index 100% rename from dependency/mongodb/2.0.5/app-readme.md rename to dependency/mongodb/2.0.6/app-readme.md diff --git a/dependency/mongodb/2.0.5/charts/common-10.5.6.tgz b/dependency/mongodb/2.0.6/charts/common-10.5.6.tgz similarity index 100% rename from dependency/mongodb/2.0.5/charts/common-10.5.6.tgz rename to dependency/mongodb/2.0.6/charts/common-10.5.6.tgz diff --git a/dependency/mongodb/2.0.5/ix_values.yaml b/dependency/mongodb/2.0.6/ix_values.yaml similarity index 97% rename from dependency/mongodb/2.0.5/ix_values.yaml rename to dependency/mongodb/2.0.6/ix_values.yaml index 9603fb9297a..dc5b0d0ca6e 100644 --- a/dependency/mongodb/2.0.5/ix_values.yaml +++ b/dependency/mongodb/2.0.6/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: tccr.io/truecharts/mongodb pullPolicy: IfNotPresent - tag: 6.0.1@sha256:77cbc7434ce0be2e066771ec6bbc7e1eb5a79f494ac45c5cb1a3e7a58a26a1a7 + tag: 6.0.1@sha256:8d497215fd0063e003af048bff219a519159af7082a8cd7ccb60167cb01feddf controller: # -- Set the controller type. diff --git a/dependency/mongodb/2.0.5/questions.yaml b/dependency/mongodb/2.0.6/questions.yaml similarity index 99% rename from dependency/mongodb/2.0.5/questions.yaml rename to dependency/mongodb/2.0.6/questions.yaml index f350cfbce25..84d044b1afe 100644 --- a/dependency/mongodb/2.0.5/questions.yaml +++ b/dependency/mongodb/2.0.6/questions.yaml @@ -2309,7 +2309,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2321,7 +2323,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/dependency/mongodb/2.0.5/templates/common.yaml b/dependency/mongodb/2.0.6/templates/common.yaml similarity index 100% rename from dependency/mongodb/2.0.5/templates/common.yaml rename to dependency/mongodb/2.0.6/templates/common.yaml diff --git a/dependency/mongodb/2.0.5/values.yaml b/dependency/mongodb/2.0.6/values.yaml similarity index 100% rename from dependency/mongodb/2.0.5/values.yaml rename to dependency/mongodb/2.0.6/values.yaml diff --git a/dependency/redis/3.0.67/CHANGELOG.md b/dependency/redis/3.0.67/CHANGELOG.md deleted file mode 100644 index 6d70a3f45ed..00000000000 --- a/dependency/redis/3.0.67/CHANGELOG.md +++ /dev/null @@ -1,99 +0,0 @@ -# Changelog - - - -## [redis-3.0.67](https://github.com/truecharts/charts/compare/redis-3.0.65...redis-3.0.67) (2022-08-30) - -### Chore - -- Auto-update chart README [skip ci] - - update helm chart common to v10.5.6 ([#3635](https://github.com/truecharts/charts/issues/3635)) - - update helm chart common to v10.5.5 - - - - -## [redis-3.0.66](https://github.com/truecharts/charts/compare/redis-3.0.65...redis-3.0.66) (2022-08-30) - -### Chore - -- update helm chart common to v10.5.5 - - - - - -## [redis-3.0.64](https://github.com/truecharts/charts/compare/redis-3.0.63...redis-3.0.64) (2022-08-29) - -### Chore - -- update helm chart common to v10.5.4 ([#3613](https://github.com/truecharts/charts/issues/3613)) - - - - -## [redis-3.0.63](https://github.com/truecharts/charts/compare/tubearchivist-redisjson-0.0.19...redis-3.0.63) (2022-08-29) - -### Chore - -- update helm chart common to v10.5.3 ([#3610](https://github.com/truecharts/charts/issues/3610)) - - - - -## [redis-3.0.62](https://github.com/truecharts/charts/compare/redisinsight-0.0.18...redis-3.0.62) (2022-08-26) - -### Chore - -- update helm chart common to v10.5.2 ([#3583](https://github.com/truecharts/charts/issues/3583)) - - - - -## [redis-3.0.61](https://github.com/truecharts/charts/compare/redis-3.0.60...redis-3.0.61) (2022-08-25) - -### Chore - -- update docker general non-major ([#3561](https://github.com/truecharts/charts/issues/3561)) - - - - -## [redis-3.0.60](https://github.com/truecharts/charts/compare/tubearchivist-redisjson-0.0.17...redis-3.0.60) (2022-08-25) - -### Chore - -- update helm chart common to v10.5.1 ([#3562](https://github.com/truecharts/charts/issues/3562)) - - - - -## [redis-3.0.59](https://github.com/truecharts/charts/compare/redis-3.0.58...redis-3.0.59) (2022-08-23) - -### Chore - -- update helm chart common to v10.5.0 ([#3546](https://github.com/truecharts/charts/issues/3546)) - - - - - -## [redis-3.0.57](https://github.com/truecharts/charts/compare/redis-3.0.56...redis-3.0.57) (2022-08-20) - -### Chore - -- update docker general non-major docker tags ([#3518](https://github.com/truecharts/charts/issues/3518)) - - - - -## [redis-3.0.56](https://github.com/truecharts/charts/compare/redisinsight-0.0.16...redis-3.0.56) (2022-08-17) - -### Chore - -- update helm chart common to v10.4.13 - - update docker general non-major ([#3478](https://github.com/truecharts/charts/issues/3478)) - - - - diff --git a/dependency/redis/3.0.68/CHANGELOG.md b/dependency/redis/3.0.68/CHANGELOG.md new file mode 100644 index 00000000000..6ffb1a5bf2f --- /dev/null +++ b/dependency/redis/3.0.68/CHANGELOG.md @@ -0,0 +1,99 @@ +# Changelog + + + +## [mongodb-2.0.6](https://github.com/truecharts/charts/compare/mongodb-2.0.5...mongodb-2.0.6) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + +## [mongodb-2.0.5](https://github.com/truecharts/charts/compare/mongodb-2.0.3...mongodb-2.0.5) (2022-08-30) + +### Chore + +- Auto-update chart README [skip ci] + - update helm chart common to v10.5.6 ([#3635](https://github.com/truecharts/charts/issues/3635)) + - update helm chart common to v10.5.5 + + + + +## [mongodb-2.0.4](https://github.com/truecharts/charts/compare/mongodb-2.0.3...mongodb-2.0.4) (2022-08-30) + +### Chore + +- update helm chart common to v10.5.5 + + + + +## [memcached-3.0.66](https://github.com/truecharts/charts/compare/memcached-3.0.65...memcached-3.0.66) (2022-08-30) + +### Chore + +- update docker general non-major ([#3623](https://github.com/truecharts/charts/issues/3623)) + + + + +## [memcached-3.0.65](https://github.com/truecharts/charts/compare/memcached-3.0.64...memcached-3.0.65) (2022-08-29) + +### Chore + +- update helm chart common to v10.5.4 ([#3613](https://github.com/truecharts/charts/issues/3613)) + + + + +## [memcached-3.0.64](https://github.com/truecharts/charts/compare/memcached-3.0.63...memcached-3.0.64) (2022-08-29) + +### Chore + +- update helm chart common to v10.5.3 ([#3610](https://github.com/truecharts/charts/issues/3610)) + + + + + +## [memcached-3.0.62](https://github.com/truecharts/charts/compare/memcached-3.0.61...memcached-3.0.62) (2022-08-25) + +### Chore + +- update docker general non-major ([#3561](https://github.com/truecharts/charts/issues/3561)) + + + + +## [clickhouse-1.0.13](https://github.com/truecharts/charts/compare/clickhouse-1.0.12...clickhouse-1.0.13) (2022-08-25) + +### Chore + +- update helm chart common to v10.5.1 ([#3562](https://github.com/truecharts/charts/issues/3562)) + + + + +## [clickhouse-1.0.12](https://github.com/truecharts/charts/compare/clickhouse-1.0.11...clickhouse-1.0.12) (2022-08-23) + +### Chore + +- update helm chart common to v10.5.0 ([#3546](https://github.com/truecharts/charts/issues/3546)) + + + + +## [clickhouse-1.0.11](https://github.com/truecharts/charts/compare/clickhouse-1.0.10...clickhouse-1.0.11) (2022-08-19) + +### Chore + +- update docker general non-major docker tags ([#3512](https://github.com/truecharts/charts/issues/3512)) + + + + +## [clickhouse-1.0.10](https://github.com/truecharts/charts/compare/clickhouse-1.0.9...clickhouse-1.0.10) (2022-08-17) + diff --git a/dependency/redis/3.0.67/Chart.lock b/dependency/redis/3.0.68/Chart.lock similarity index 80% rename from dependency/redis/3.0.67/Chart.lock rename to dependency/redis/3.0.68/Chart.lock index 827cc2ea348..8b06c24f050 100644 --- a/dependency/redis/3.0.67/Chart.lock +++ b/dependency/redis/3.0.68/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://library-charts.truecharts.org version: 10.5.6 digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-30T20:52:50.79222401Z" +generated: "2022-09-02T09:44:43.808145087Z" diff --git a/dependency/redis/3.0.67/Chart.yaml b/dependency/redis/3.0.68/Chart.yaml similarity index 98% rename from dependency/redis/3.0.67/Chart.yaml rename to dependency/redis/3.0.68/Chart.yaml index 699a7eef0ed..ba5ec872aa1 100644 --- a/dependency/redis/3.0.67/Chart.yaml +++ b/dependency/redis/3.0.68/Chart.yaml @@ -23,7 +23,7 @@ sources: - https://github.com/bitnami/bitnami-docker-redis - http://redis.io/ type: application -version: 3.0.67 +version: 3.0.68 annotations: truecharts.org/catagories: | - database diff --git a/dependency/redis/3.0.67/README.md b/dependency/redis/3.0.68/README.md similarity index 98% rename from dependency/redis/3.0.67/README.md rename to dependency/redis/3.0.68/README.md index 51fbf1e5d91..29b6ae83b00 100644 --- a/dependency/redis/3.0.67/README.md +++ b/dependency/redis/3.0.68/README.md @@ -1,6 +1,6 @@ # redis -![Version: 3.0.67](https://img.shields.io/badge/Version-3.0.67-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 7.0.4](https://img.shields.io/badge/AppVersion-7.0.4-informational?style=flat-square) +![Version: 3.0.68](https://img.shields.io/badge/Version-3.0.68-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 7.0.4](https://img.shields.io/badge/AppVersion-7.0.4-informational?style=flat-square) Open source, advanced key-value store. diff --git a/dependency/redis/3.0.67/app-readme.md b/dependency/redis/3.0.68/app-readme.md similarity index 100% rename from dependency/redis/3.0.67/app-readme.md rename to dependency/redis/3.0.68/app-readme.md diff --git a/dependency/redis/3.0.67/charts/common-10.5.6.tgz b/dependency/redis/3.0.68/charts/common-10.5.6.tgz similarity index 100% rename from dependency/redis/3.0.67/charts/common-10.5.6.tgz rename to dependency/redis/3.0.68/charts/common-10.5.6.tgz diff --git a/dependency/redis/3.0.67/ix_values.yaml b/dependency/redis/3.0.68/ix_values.yaml similarity index 98% rename from dependency/redis/3.0.67/ix_values.yaml rename to dependency/redis/3.0.68/ix_values.yaml index 37589c1caa6..c0b7beb9d0a 100644 --- a/dependency/redis/3.0.67/ix_values.yaml +++ b/dependency/redis/3.0.68/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: tccr.io/truecharts/redis pullPolicy: IfNotPresent - tag: v7.0.4@sha256:c3727ebf152d35f6cd7d0242264f51de40060973c0bb9fd5d1263a6b566cc706 + tag: v7.0.4@sha256:c7da36601e92893c7bc99a031c95019cafd09c2be39128516b32f2a3596fc3e0 controller: # -- Set the controller type. diff --git a/dependency/redis/3.0.67/questions.yaml b/dependency/redis/3.0.68/questions.yaml similarity index 99% rename from dependency/redis/3.0.67/questions.yaml rename to dependency/redis/3.0.68/questions.yaml index 5193fdb7965..17777abd919 100644 --- a/dependency/redis/3.0.67/questions.yaml +++ b/dependency/redis/3.0.68/questions.yaml @@ -2296,7 +2296,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2308,7 +2310,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/dependency/redis/3.0.67/templates/common.yaml b/dependency/redis/3.0.68/templates/common.yaml similarity index 100% rename from dependency/redis/3.0.67/templates/common.yaml rename to dependency/redis/3.0.68/templates/common.yaml diff --git a/dependency/redis/3.0.67/values.yaml b/dependency/redis/3.0.68/values.yaml similarity index 100% rename from dependency/redis/3.0.67/values.yaml rename to dependency/redis/3.0.68/values.yaml diff --git a/dependency/solr/0.0.41/Chart.lock b/dependency/solr/0.0.41/Chart.lock deleted file mode 100644 index a9e09be4d22..00000000000 --- a/dependency/solr/0.0.41/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-30T20:53:14.462321383Z" diff --git a/dependency/solr/0.0.41/CHANGELOG.md b/dependency/solr/0.0.42/CHANGELOG.md similarity index 90% rename from dependency/solr/0.0.41/CHANGELOG.md rename to dependency/solr/0.0.42/CHANGELOG.md index 5f5c4995184..04c4b9b09e4 100644 --- a/dependency/solr/0.0.41/CHANGELOG.md +++ b/dependency/solr/0.0.42/CHANGELOG.md @@ -2,6 +2,15 @@ +## [solr-0.0.42](https://github.com/truecharts/charts/compare/solr-0.0.41...solr-0.0.42) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [solr-0.0.41](https://github.com/truecharts/charts/compare/solr-0.0.39...solr-0.0.41) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ ## [solr-0.0.32](https://github.com/truecharts/charts/compare/solr-0.0.31...solr-0.0.32) (2022-08-23) ### Chore - -- update docker general non-major docker tags ([#3544](https://github.com/truecharts/charts/issues/3544)) - - - - -## [solr-0.0.31](https://github.com/truecharts/charts/compare/solr-0.0.30...solr-0.0.31) (2022-08-20) - -### Chore diff --git a/dependency/solr/0.0.42/Chart.lock b/dependency/solr/0.0.42/Chart.lock new file mode 100644 index 00000000000..f28babe89a4 --- /dev/null +++ b/dependency/solr/0.0.42/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:45:10.494327467Z" diff --git a/dependency/solr/0.0.41/Chart.yaml b/dependency/solr/0.0.42/Chart.yaml similarity index 97% rename from dependency/solr/0.0.41/Chart.yaml rename to dependency/solr/0.0.42/Chart.yaml index 786b890e9b2..3e6e1e19be5 100644 --- a/dependency/solr/0.0.41/Chart.yaml +++ b/dependency/solr/0.0.42/Chart.yaml @@ -23,7 +23,7 @@ sources: - https://github.com/apache/solr - https://hub.docker.com/r/bitnami/solr/ type: application -version: 0.0.41 +version: 0.0.42 annotations: truecharts.org/catagories: | - search diff --git a/dependency/solr/0.0.41/README.md b/dependency/solr/0.0.42/README.md similarity index 98% rename from dependency/solr/0.0.41/README.md rename to dependency/solr/0.0.42/README.md index a44a116f9e7..08f520611ef 100644 --- a/dependency/solr/0.0.41/README.md +++ b/dependency/solr/0.0.42/README.md @@ -1,6 +1,6 @@ # solr -![Version: 0.0.41](https://img.shields.io/badge/Version-0.0.41-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 9.0.0](https://img.shields.io/badge/AppVersion-9.0.0-informational?style=flat-square) +![Version: 0.0.42](https://img.shields.io/badge/Version-0.0.42-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 9.0.0](https://img.shields.io/badge/AppVersion-9.0.0-informational?style=flat-square) Apache Solr diff --git a/dependency/solr/0.0.41/app-readme.md b/dependency/solr/0.0.42/app-readme.md similarity index 100% rename from dependency/solr/0.0.41/app-readme.md rename to dependency/solr/0.0.42/app-readme.md diff --git a/dependency/solr/0.0.41/charts/common-10.5.6.tgz b/dependency/solr/0.0.42/charts/common-10.5.6.tgz similarity index 100% rename from dependency/solr/0.0.41/charts/common-10.5.6.tgz rename to dependency/solr/0.0.42/charts/common-10.5.6.tgz diff --git a/dependency/solr/0.0.41/ix_values.yaml b/dependency/solr/0.0.42/ix_values.yaml similarity index 98% rename from dependency/solr/0.0.41/ix_values.yaml rename to dependency/solr/0.0.42/ix_values.yaml index 69e5b99db0f..30546bc4308 100644 --- a/dependency/solr/0.0.41/ix_values.yaml +++ b/dependency/solr/0.0.42/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: tccr.io/truecharts/solr pullPolicy: IfNotPresent - tag: v9.0.0@sha256:08624c29bc254d78310775606b2432a3e11ab192cb28f70358f6e787572027a9 + tag: v9.0.0@sha256:d74e7e853cc400bebb3152d7bec8ed011fd0eb054f1bec28037c1d37750b6b9e controller: # -- Set the controller type. diff --git a/dependency/solr/0.0.41/questions.yaml b/dependency/solr/0.0.42/questions.yaml similarity index 99% rename from dependency/solr/0.0.41/questions.yaml rename to dependency/solr/0.0.42/questions.yaml index 35f2bbffdb6..0082986f7b8 100644 --- a/dependency/solr/0.0.41/questions.yaml +++ b/dependency/solr/0.0.42/questions.yaml @@ -2308,7 +2308,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2320,7 +2322,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/dependency/solr/0.0.41/templates/common.yaml b/dependency/solr/0.0.42/templates/common.yaml similarity index 100% rename from dependency/solr/0.0.41/templates/common.yaml rename to dependency/solr/0.0.42/templates/common.yaml diff --git a/dependency/solr/0.0.41/values.yaml b/dependency/solr/0.0.42/values.yaml similarity index 100% rename from dependency/solr/0.0.41/values.yaml rename to dependency/solr/0.0.42/values.yaml diff --git a/incubator/artifactory-oss/0.0.23/Chart.lock b/incubator/artifactory-oss/0.0.23/Chart.lock deleted file mode 100644 index 52abac59131..00000000000 --- a/incubator/artifactory-oss/0.0.23/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-30T23:32:59.744928815Z" diff --git a/incubator/artifactory-oss/0.0.23/CHANGELOG.md b/incubator/artifactory-oss/0.0.24/CHANGELOG.md similarity index 89% rename from incubator/artifactory-oss/0.0.23/CHANGELOG.md rename to incubator/artifactory-oss/0.0.24/CHANGELOG.md index b05a95b5050..f08f13a4270 100644 --- a/incubator/artifactory-oss/0.0.23/CHANGELOG.md +++ b/incubator/artifactory-oss/0.0.24/CHANGELOG.md @@ -2,6 +2,15 @@ +## [artifactory-oss-0.0.24](https://github.com/truecharts/charts/compare/artifactory-oss-0.0.23...artifactory-oss-0.0.24) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [artifactory-oss-0.0.23](https://github.com/truecharts/charts/compare/artifactory-oss-0.0.22...artifactory-oss-0.0.23) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ - update helm general non-major helm releases ([#3302](https://github.com/truecharts/apps/issues/3302)) - - -## [artifactory-oss-0.0.13](https://github.com/truecharts/apps/compare/artifactory-oss-0.0.12...artifactory-oss-0.0.13) (2022-07-23) - -### Chore - -- Auto-update chart README [skip ci] - - Auto-update chart README [skip ci] - - update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280)) diff --git a/incubator/artifactory-oss/0.0.24/Chart.lock b/incubator/artifactory-oss/0.0.24/Chart.lock new file mode 100644 index 00000000000..9b25145b5d8 --- /dev/null +++ b/incubator/artifactory-oss/0.0.24/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:45:10.442575701Z" diff --git a/incubator/artifactory-oss/0.0.23/Chart.yaml b/incubator/artifactory-oss/0.0.24/Chart.yaml similarity index 96% rename from incubator/artifactory-oss/0.0.23/Chart.yaml rename to incubator/artifactory-oss/0.0.24/Chart.yaml index 1074e412a35..3a88843934e 100644 --- a/incubator/artifactory-oss/0.0.23/Chart.yaml +++ b/incubator/artifactory-oss/0.0.24/Chart.yaml @@ -4,7 +4,7 @@ annotations: - Productivity - Tools-Utilities apiVersion: v2 -appVersion: "7.41.7" +appVersion: "7.41.12" dependencies: - name: common repository: https://library-charts.truecharts.org @@ -28,4 +28,4 @@ sources: - https://jfrog.com/ - https://registry.hub.docker.com/r/docker.bintray.io/jfrog/artifactory-oss type: application -version: 0.0.23 +version: 0.0.24 diff --git a/incubator/artifactory-oss/0.0.23/README.md b/incubator/artifactory-oss/0.0.24/README.md similarity index 95% rename from incubator/artifactory-oss/0.0.23/README.md rename to incubator/artifactory-oss/0.0.24/README.md index 342ff367169..b8bb6279217 100644 --- a/incubator/artifactory-oss/0.0.23/README.md +++ b/incubator/artifactory-oss/0.0.24/README.md @@ -1,6 +1,6 @@ # artifactory-oss -![Version: 0.0.23](https://img.shields.io/badge/Version-0.0.23-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 7.41.7](https://img.shields.io/badge/AppVersion-7.41.7-informational?style=flat-square) +![Version: 0.0.24](https://img.shields.io/badge/Version-0.0.24-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 7.41.12](https://img.shields.io/badge/AppVersion-7.41.12-informational?style=flat-square) JFrog’s Artifactory open source project was created to speed up development cycles using binary repositories. It’s the world’s most advanced repository manager, creating a single place for teams to manage all their binary artifacts efficiently. diff --git a/incubator/artifactory-oss/0.0.23/app-readme.md b/incubator/artifactory-oss/0.0.24/app-readme.md similarity index 100% rename from incubator/artifactory-oss/0.0.23/app-readme.md rename to incubator/artifactory-oss/0.0.24/app-readme.md diff --git a/incubator/artifactory-oss/0.0.23/charts/common-10.5.6.tgz b/incubator/artifactory-oss/0.0.24/charts/common-10.5.6.tgz similarity index 100% rename from incubator/artifactory-oss/0.0.23/charts/common-10.5.6.tgz rename to incubator/artifactory-oss/0.0.24/charts/common-10.5.6.tgz diff --git a/incubator/artifactory-oss/0.0.23/ix_values.yaml b/incubator/artifactory-oss/0.0.24/ix_values.yaml similarity index 96% rename from incubator/artifactory-oss/0.0.23/ix_values.yaml rename to incubator/artifactory-oss/0.0.24/ix_values.yaml index 7059fe71c86..35905a99601 100644 --- a/incubator/artifactory-oss/0.0.23/ix_values.yaml +++ b/incubator/artifactory-oss/0.0.24/ix_values.yaml @@ -3,7 +3,7 @@ env: image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/artifactory-oss - tag: 7.41.7 + tag: 7.41.12 persistence: varoptjfrogartifactory: enabled: true diff --git a/incubator/artifactory-oss/0.0.23/questions.yaml b/incubator/artifactory-oss/0.0.24/questions.yaml similarity index 99% rename from incubator/artifactory-oss/0.0.23/questions.yaml rename to incubator/artifactory-oss/0.0.24/questions.yaml index c00b44f1a2a..a10a4ada645 100644 --- a/incubator/artifactory-oss/0.0.23/questions.yaml +++ b/incubator/artifactory-oss/0.0.24/questions.yaml @@ -2472,7 +2472,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2484,7 +2486,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/incubator/artifactory-oss/0.0.23/templates/common.yaml b/incubator/artifactory-oss/0.0.24/templates/common.yaml similarity index 100% rename from incubator/artifactory-oss/0.0.23/templates/common.yaml rename to incubator/artifactory-oss/0.0.24/templates/common.yaml diff --git a/incubator/artifactory-oss/0.0.23/values.yaml b/incubator/artifactory-oss/0.0.24/values.yaml similarity index 100% rename from incubator/artifactory-oss/0.0.23/values.yaml rename to incubator/artifactory-oss/0.0.24/values.yaml diff --git a/incubator/aurora-files/0.0.22/CHANGELOG.md b/incubator/aurora-files/0.0.22/CHANGELOG.md deleted file mode 100644 index 5b353511a04..00000000000 --- a/incubator/aurora-files/0.0.22/CHANGELOG.md +++ /dev/null @@ -1,99 +0,0 @@ -# Changelog - - - -## [aurora-files-0.0.22](https://github.com/truecharts/charts/compare/aurora-files-0.0.21...aurora-files-0.0.22) (2022-08-30) - -### Chore - -- update helm general non-major ([#3639](https://github.com/truecharts/charts/issues/3639)) - - - - -## [aurora-files-0.0.21](https://github.com/truecharts/charts/compare/aurora-files-0.0.20...aurora-files-0.0.21) (2022-08-30) - -### Chore - -- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) - - - - -## [aurora-files-0.0.20](https://github.com/truecharts/charts/compare/aurora-files-0.0.19...aurora-files-0.0.20) (2022-08-29) - -### Chore - -- update helm general non-major ([#3619](https://github.com/truecharts/charts/issues/3619)) - - - - -## [aurora-files-0.0.19](https://github.com/truecharts/charts/compare/aurora-files-0.0.17...aurora-files-0.0.19) (2022-08-26) - -### Fix - -- some cleanup ([#3586](https://github.com/truecharts/charts/issues/3586)) - - - - -## [aurora-files-0.0.17](https://github.com/truecharts/charts/compare/aurora-files-0.0.16...aurora-files-0.0.17) (2022-08-23) - -### Chore - -- update helm general non-major helm releases ([#3545](https://github.com/truecharts/charts/issues/3545)) - - - - -## [aurora-files-0.0.16](https://github.com/truecharts/charts/compare/aurora-files-0.0.15...aurora-files-0.0.16) (2022-08-12) - -### Chore - -- add documentation checkbox/section to all SCALE Apps - - update helm general non-major helm releases ([#3456](https://github.com/truecharts/charts/issues/3456)) - - ### Fix - -- move extraArgs from .Values.controller to .Values ([#3447](https://github.com/truecharts/charts/issues/3447)) - - - - -## [aurora-files-0.0.15](https://github.com/truecharts/charts/compare/aurora-files-0.0.14...aurora-files-0.0.15) (2022-08-08) - -### Chore - -- update helm general non-major helm releases ([#3376](https://github.com/truecharts/charts/issues/3376)) - - replace questions parts with templates ([#3402](https://github.com/truecharts/charts/issues/3402)) - - - - -## [aurora-files-0.0.14](https://github.com/truecharts/apps/compare/aurora-files-0.0.13...aurora-files-0.0.14) (2022-07-26) - -### Chore - -- update home links ([#3291](https://github.com/truecharts/apps/issues/3291)) - - update helm general non-major helm releases ([#3302](https://github.com/truecharts/apps/issues/3302)) - - - - -## [aurora-files-0.0.13](https://github.com/truecharts/apps/compare/aurora-files-0.0.12...aurora-files-0.0.13) (2022-07-25) - -### Chore - -- update docker general non-major ([#3300](https://github.com/truecharts/apps/issues/3300)) - - ### Chore - -- add fake digest to new incubator Apps to fetch digests - - - - -## [aurora-files-0.0.12](https://github.com/truecharts/apps/compare/aurora-files-0.0.11...aurora-files-0.0.12) (2022-07-23) - -### Chore diff --git a/incubator/aurora-files/0.0.22/Chart.lock b/incubator/aurora-files/0.0.22/Chart.lock deleted file mode 100644 index 78bb6291893..00000000000 --- a/incubator/aurora-files/0.0.22/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-30T23:33:16.056100926Z" diff --git a/incubator/aurora-files/0.0.23/CHANGELOG.md b/incubator/aurora-files/0.0.23/CHANGELOG.md new file mode 100644 index 00000000000..2ab0a64cbda --- /dev/null +++ b/incubator/aurora-files/0.0.23/CHANGELOG.md @@ -0,0 +1,99 @@ +# Changelog + + + +## [cryptpad-0.0.44](https://github.com/truecharts/charts/compare/cryptpad-0.0.43...cryptpad-0.0.44) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + +## [cryptpad-0.0.43](https://github.com/truecharts/charts/compare/cryptpad-0.0.42...cryptpad-0.0.43) (2022-09-01) + +### Chore + +- update docker general non-major ([#3649](https://github.com/truecharts/charts/issues/3649)) + + + + + +## [cryptpad-0.0.41](https://github.com/truecharts/charts/compare/cryptpad-0.0.40...cryptpad-0.0.41) (2022-08-30) + +### Chore + +- update helm general non-major ([#3639](https://github.com/truecharts/charts/issues/3639)) + + + + +## [cryptpad-0.0.40](https://github.com/truecharts/charts/compare/cryptpad-0.0.39...cryptpad-0.0.40) (2022-08-30) + +### Chore + +- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) + + + + +## [cryptpad-0.0.39](https://github.com/truecharts/charts/compare/cryptpad-0.0.38...cryptpad-0.0.39) (2022-08-30) + +### Chore + +- update docker general non-major ([#3623](https://github.com/truecharts/charts/issues/3623)) + + + + +## [cryptpad-0.0.38](https://github.com/truecharts/charts/compare/cryptpad-0.0.37...cryptpad-0.0.38) (2022-08-29) + +### Chore + +- update helm general non-major ([#3619](https://github.com/truecharts/charts/issues/3619)) + + + + +## [cryptpad-0.0.37](https://github.com/truecharts/charts/compare/cryptpad-0.0.36...cryptpad-0.0.37) (2022-08-29) + +### Chore + +- update docker general non-major ([#3606](https://github.com/truecharts/charts/issues/3606)) + + + + +## [cryptpad-0.0.36](https://github.com/truecharts/charts/compare/cryptpad-0.0.33...cryptpad-0.0.36) (2022-08-27) + +### Chore + +- update docker general non-major ([#3587](https://github.com/truecharts/charts/issues/3587)) + + ### Fix + +- some cleanup ([#3586](https://github.com/truecharts/charts/issues/3586)) + + + + +## [cryptpad-0.0.33](https://github.com/truecharts/charts/compare/cryptpad-0.0.32...cryptpad-0.0.33) (2022-08-26) + +### Chore + +- update docker general non-major ([#3573](https://github.com/truecharts/charts/issues/3573)) + + + + +## [cryptpad-0.0.32](https://github.com/truecharts/charts/compare/cryptpad-0.0.31...cryptpad-0.0.32) (2022-08-25) + +### Chore + +- update docker general non-major ([#3561](https://github.com/truecharts/charts/issues/3561)) + + + + diff --git a/incubator/aurora-files/0.0.23/Chart.lock b/incubator/aurora-files/0.0.23/Chart.lock new file mode 100644 index 00000000000..e4f9ffb542b --- /dev/null +++ b/incubator/aurora-files/0.0.23/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:45:10.469212981Z" diff --git a/incubator/aurora-files/0.0.22/Chart.yaml b/incubator/aurora-files/0.0.23/Chart.yaml similarity index 98% rename from incubator/aurora-files/0.0.22/Chart.yaml rename to incubator/aurora-files/0.0.23/Chart.yaml index 362434af517..b1ff7026198 100644 --- a/incubator/aurora-files/0.0.22/Chart.yaml +++ b/incubator/aurora-files/0.0.23/Chart.yaml @@ -30,4 +30,4 @@ sources: - https://github.com/afterlogic/docker-aurora-files - https://hub.docker.com/r/afterlogic/docker-aurora-files type: application -version: 0.0.22 +version: 0.0.23 diff --git a/incubator/aurora-files/0.0.22/README.md b/incubator/aurora-files/0.0.23/README.md similarity index 98% rename from incubator/aurora-files/0.0.22/README.md rename to incubator/aurora-files/0.0.23/README.md index 517a6aba371..af2d1148d70 100644 --- a/incubator/aurora-files/0.0.22/README.md +++ b/incubator/aurora-files/0.0.23/README.md @@ -1,6 +1,6 @@ # aurora-files -![Version: 0.0.22](https://img.shields.io/badge/Version-0.0.22-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 0.0.23](https://img.shields.io/badge/Version-0.0.23-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) DESCRIPTION diff --git a/incubator/aurora-files/0.0.22/app-readme.md b/incubator/aurora-files/0.0.23/app-readme.md similarity index 100% rename from incubator/aurora-files/0.0.22/app-readme.md rename to incubator/aurora-files/0.0.23/app-readme.md diff --git a/incubator/aurora-files/0.0.22/charts/common-10.5.6.tgz b/incubator/aurora-files/0.0.23/charts/common-10.5.6.tgz similarity index 100% rename from incubator/aurora-files/0.0.22/charts/common-10.5.6.tgz rename to incubator/aurora-files/0.0.23/charts/common-10.5.6.tgz diff --git a/incubator/aurora-files/0.0.22/ix_values.yaml b/incubator/aurora-files/0.0.23/ix_values.yaml similarity index 83% rename from incubator/aurora-files/0.0.22/ix_values.yaml rename to incubator/aurora-files/0.0.23/ix_values.yaml index ca6dfb97439..913ae248712 100644 --- a/incubator/aurora-files/0.0.22/ix_values.yaml +++ b/incubator/aurora-files/0.0.23/ix_values.yaml @@ -2,7 +2,7 @@ env: {} image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/aurora-files - tag: latest@sha256:48751992fcf4c4f148cb8a1a06e5ec61fe1d3d1ae05e91f2f409b86f1fef1d98 + tag: latest@sha256:d948b8c2c24f9647351e930e17c6251eef4ff5d2cde39b4ec286f50da1b1aab9 persistence: {} podSecurityContext: runAsGroup: 0 diff --git a/incubator/passwordpusherephemeral/0.0.28/questions.yaml b/incubator/aurora-files/0.0.23/questions.yaml similarity index 99% rename from incubator/passwordpusherephemeral/0.0.28/questions.yaml rename to incubator/aurora-files/0.0.23/questions.yaml index af6683c63cd..5950572f949 100644 --- a/incubator/passwordpusherephemeral/0.0.28/questions.yaml +++ b/incubator/aurora-files/0.0.23/questions.yaml @@ -1852,7 +1852,9 @@ questions: required: true - variable: docs group: Documentation - label: Please read the documentation at https://truecharts.org + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -1864,7 +1866,9 @@ questions: default: true - variable: donateNag group: Documentation - label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/incubator/aurora-files/0.0.22/templates/common.yaml b/incubator/aurora-files/0.0.23/templates/common.yaml similarity index 100% rename from incubator/aurora-files/0.0.22/templates/common.yaml rename to incubator/aurora-files/0.0.23/templates/common.yaml diff --git a/incubator/aurora-files/0.0.22/values.yaml b/incubator/aurora-files/0.0.23/values.yaml similarity index 100% rename from incubator/aurora-files/0.0.22/values.yaml rename to incubator/aurora-files/0.0.23/values.yaml diff --git a/incubator/cryptpad/0.0.43/Chart.lock b/incubator/cryptpad/0.0.43/Chart.lock deleted file mode 100644 index b896a029b0a..00000000000 --- a/incubator/cryptpad/0.0.43/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-09-01T20:48:30.701854011Z" diff --git a/incubator/cryptpad/0.0.43/CHANGELOG.md b/incubator/cryptpad/0.0.44/CHANGELOG.md similarity index 100% rename from incubator/cryptpad/0.0.43/CHANGELOG.md rename to incubator/cryptpad/0.0.44/CHANGELOG.md index d7e9f96c0a4..5d0bbf307b9 100644 --- a/incubator/cryptpad/0.0.43/CHANGELOG.md +++ b/incubator/cryptpad/0.0.44/CHANGELOG.md @@ -2,6 +2,7 @@ + ## [cryptpad-0.0.43](https://github.com/truecharts/charts/compare/cryptpad-0.0.42...cryptpad-0.0.43) (2022-09-01) ### Chore @@ -96,4 +97,3 @@ - diff --git a/incubator/cryptpad/0.0.44/Chart.lock b/incubator/cryptpad/0.0.44/Chart.lock new file mode 100644 index 00000000000..82cced507d0 --- /dev/null +++ b/incubator/cryptpad/0.0.44/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:45:10.453642751Z" diff --git a/incubator/cryptpad/0.0.43/Chart.yaml b/incubator/cryptpad/0.0.44/Chart.yaml similarity index 98% rename from incubator/cryptpad/0.0.43/Chart.yaml rename to incubator/cryptpad/0.0.44/Chart.yaml index f8c68dd8b74..a3b286ff3ab 100644 --- a/incubator/cryptpad/0.0.43/Chart.yaml +++ b/incubator/cryptpad/0.0.44/Chart.yaml @@ -28,4 +28,4 @@ sources: - https://cryptpad.fr/ - https://hub.docker.com/r/promasu/cryptpad/ type: application -version: 0.0.43 +version: 0.0.44 diff --git a/incubator/cryptpad/0.0.43/README.md b/incubator/cryptpad/0.0.44/README.md similarity index 98% rename from incubator/cryptpad/0.0.43/README.md rename to incubator/cryptpad/0.0.44/README.md index 8b4c7ac9a13..ce6f5821339 100644 --- a/incubator/cryptpad/0.0.43/README.md +++ b/incubator/cryptpad/0.0.44/README.md @@ -1,6 +1,6 @@ # cryptpad -![Version: 0.0.43](https://img.shields.io/badge/Version-0.0.43-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 0.0.44](https://img.shields.io/badge/Version-0.0.44-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) CryptPad is the Zero Knowledge realtime collaborative editor.[br]mkdir -p /mnt/user/appdata/cryptpad/config [/br]wget -O /mnt/user/appdata/cryptpad/config/config.js https://raw.githubusercontent.com/xwiki-labs/cryptpad/main/config/config.example.js diff --git a/incubator/cryptpad/0.0.43/app-readme.md b/incubator/cryptpad/0.0.44/app-readme.md similarity index 100% rename from incubator/cryptpad/0.0.43/app-readme.md rename to incubator/cryptpad/0.0.44/app-readme.md diff --git a/incubator/cryptpad/0.0.43/charts/common-10.5.6.tgz b/incubator/cryptpad/0.0.44/charts/common-10.5.6.tgz similarity index 100% rename from incubator/cryptpad/0.0.43/charts/common-10.5.6.tgz rename to incubator/cryptpad/0.0.44/charts/common-10.5.6.tgz diff --git a/incubator/cryptpad/0.0.43/ix_values.yaml b/incubator/cryptpad/0.0.44/ix_values.yaml similarity index 91% rename from incubator/cryptpad/0.0.43/ix_values.yaml rename to incubator/cryptpad/0.0.44/ix_values.yaml index c46f92bc95e..37c7813925c 100644 --- a/incubator/cryptpad/0.0.43/ix_values.yaml +++ b/incubator/cryptpad/0.0.44/ix_values.yaml @@ -2,7 +2,7 @@ env: {} image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/cryptpad - tag: latest@sha256:0145b6bb7f25bf211d11b9c2cb4f4cc132b483ebcadb4b74af2f5d12938a3455 + tag: latest@sha256:319b2bd7594ba996a9c98a3582acd6c19adcc9b9a3a5dd02dae0873acbec8e90 persistence: blobpath: enabled: true diff --git a/incubator/cryptpad/0.0.43/questions.yaml b/incubator/cryptpad/0.0.44/questions.yaml similarity index 99% rename from incubator/cryptpad/0.0.43/questions.yaml rename to incubator/cryptpad/0.0.44/questions.yaml index f2744532bda..0729a16c592 100644 --- a/incubator/cryptpad/0.0.43/questions.yaml +++ b/incubator/cryptpad/0.0.44/questions.yaml @@ -3476,7 +3476,9 @@ questions: required: true - variable: docs group: Documentation - label: Please read the documentation at https://truecharts.org + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -3488,7 +3490,9 @@ questions: default: true - variable: donateNag group: Documentation - label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/incubator/cryptpad/0.0.43/templates/common.yaml b/incubator/cryptpad/0.0.44/templates/common.yaml similarity index 100% rename from incubator/cryptpad/0.0.43/templates/common.yaml rename to incubator/cryptpad/0.0.44/templates/common.yaml diff --git a/incubator/cryptpad/0.0.43/values.yaml b/incubator/cryptpad/0.0.44/values.yaml similarity index 100% rename from incubator/cryptpad/0.0.43/values.yaml rename to incubator/cryptpad/0.0.44/values.yaml diff --git a/incubator/filestash/0.0.31/Chart.lock b/incubator/filestash/0.0.31/Chart.lock deleted file mode 100644 index 58d7cb43448..00000000000 --- a/incubator/filestash/0.0.31/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-09-01T20:48:30.875312959Z" diff --git a/incubator/filestash/0.0.31/CHANGELOG.md b/incubator/filestash/0.0.32/CHANGELOG.md similarity index 91% rename from incubator/filestash/0.0.31/CHANGELOG.md rename to incubator/filestash/0.0.32/CHANGELOG.md index 6c5a6f11042..984ad5108e0 100644 --- a/incubator/filestash/0.0.31/CHANGELOG.md +++ b/incubator/filestash/0.0.32/CHANGELOG.md @@ -2,6 +2,15 @@ +## [filestash-0.0.32](https://github.com/truecharts/charts/compare/filestash-0.0.31...filestash-0.0.32) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [filestash-0.0.31](https://github.com/truecharts/charts/compare/filestash-0.0.30...filestash-0.0.31) (2022-09-01) ### Chore @@ -88,12 +97,3 @@ -## [filestash-0.0.19](https://github.com/truecharts/charts/compare/filestash-0.0.18...filestash-0.0.19) (2022-08-21) - -### Chore - -- update docker general non-major docker tags ([#3523](https://github.com/truecharts/charts/issues/3523)) - - - - diff --git a/incubator/filestash/0.0.32/Chart.lock b/incubator/filestash/0.0.32/Chart.lock new file mode 100644 index 00000000000..25ad0285ae4 --- /dev/null +++ b/incubator/filestash/0.0.32/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:45:35.440291796Z" diff --git a/incubator/filestash/0.0.31/Chart.yaml b/incubator/filestash/0.0.32/Chart.yaml similarity index 98% rename from incubator/filestash/0.0.31/Chart.yaml rename to incubator/filestash/0.0.32/Chart.yaml index 4ec5d0e1b2b..f0c42b5f3a7 100644 --- a/incubator/filestash/0.0.31/Chart.yaml +++ b/incubator/filestash/0.0.32/Chart.yaml @@ -30,4 +30,4 @@ sources: - https://www.filestash.app/ - https://hub.docker.com/r/machines/filestash/ type: application -version: 0.0.31 +version: 0.0.32 diff --git a/incubator/filestash/0.0.31/README.md b/incubator/filestash/0.0.32/README.md similarity index 98% rename from incubator/filestash/0.0.31/README.md rename to incubator/filestash/0.0.32/README.md index d32dc4b9df3..8e94966223a 100644 --- a/incubator/filestash/0.0.31/README.md +++ b/incubator/filestash/0.0.32/README.md @@ -1,6 +1,6 @@ # filestash -![Version: 0.0.31](https://img.shields.io/badge/Version-0.0.31-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 0.0.32](https://img.shields.io/badge/Version-0.0.32-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze, ... diff --git a/incubator/filestash/0.0.31/app-readme.md b/incubator/filestash/0.0.32/app-readme.md similarity index 100% rename from incubator/filestash/0.0.31/app-readme.md rename to incubator/filestash/0.0.32/app-readme.md diff --git a/incubator/filestash/0.0.31/charts/common-10.5.6.tgz b/incubator/filestash/0.0.32/charts/common-10.5.6.tgz similarity index 100% rename from incubator/filestash/0.0.31/charts/common-10.5.6.tgz rename to incubator/filestash/0.0.32/charts/common-10.5.6.tgz diff --git a/incubator/filestash/0.0.31/ix_values.yaml b/incubator/filestash/0.0.32/ix_values.yaml similarity index 82% rename from incubator/filestash/0.0.31/ix_values.yaml rename to incubator/filestash/0.0.32/ix_values.yaml index 69f3e65e21c..1d0cb35fee9 100644 --- a/incubator/filestash/0.0.31/ix_values.yaml +++ b/incubator/filestash/0.0.32/ix_values.yaml @@ -2,7 +2,7 @@ env: {} image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/filestash - tag: latest@sha256:fcc54636088d270cdaf0e0e34df07153d8613e4a18706b1d78abb3224ea7c846 + tag: latest@sha256:23bd3249fdf8c4b2ed2659253e43ef5fea3c30f95f751c6279dc58697a34289b persistence: appdata: enabled: true diff --git a/incubator/filestash/0.0.31/questions.yaml b/incubator/filestash/0.0.32/questions.yaml similarity index 99% rename from incubator/filestash/0.0.31/questions.yaml rename to incubator/filestash/0.0.32/questions.yaml index d79870552fd..dfb7b830b2c 100644 --- a/incubator/filestash/0.0.31/questions.yaml +++ b/incubator/filestash/0.0.32/questions.yaml @@ -2459,7 +2459,9 @@ questions: required: true - variable: docs group: Documentation - label: Please read the documentation at https://truecharts.org + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2471,7 +2473,9 @@ questions: default: true - variable: donateNag group: Documentation - label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/incubator/filestash/0.0.31/templates/common.yaml b/incubator/filestash/0.0.32/templates/common.yaml similarity index 100% rename from incubator/filestash/0.0.31/templates/common.yaml rename to incubator/filestash/0.0.32/templates/common.yaml diff --git a/incubator/filestash/0.0.31/values.yaml b/incubator/filestash/0.0.32/values.yaml similarity index 100% rename from incubator/filestash/0.0.31/values.yaml rename to incubator/filestash/0.0.32/values.yaml diff --git a/incubator/ghost/3.0.55/CHANGELOG.md b/incubator/ghost/3.0.56/CHANGELOG.md similarity index 92% rename from incubator/ghost/3.0.55/CHANGELOG.md rename to incubator/ghost/3.0.56/CHANGELOG.md index ff8b9dd04f2..6827c05ef87 100644 --- a/incubator/ghost/3.0.55/CHANGELOG.md +++ b/incubator/ghost/3.0.56/CHANGELOG.md @@ -2,6 +2,15 @@ +## [ghost-3.0.56](https://github.com/truecharts/charts/compare/ghost-3.0.55...ghost-3.0.56) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [ghost-3.0.55](https://github.com/truecharts/charts/compare/ghost-3.0.53...ghost-3.0.55) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ ## [ghost-3.0.44](https://github.com/truecharts/charts/compare/ghost-3.0.43...ghost-3.0.44) (2022-08-18) -### Chore - -- update docker general non-major ([#3503](https://github.com/truecharts/charts/issues/3503)) - - - - -## [ghost-3.0.43](https://github.com/truecharts/charts/compare/ghost-3.0.42...ghost-3.0.43) (2022-08-17) - diff --git a/incubator/ghost/3.0.55/Chart.lock b/incubator/ghost/3.0.56/Chart.lock similarity index 85% rename from incubator/ghost/3.0.55/Chart.lock rename to incubator/ghost/3.0.56/Chart.lock index 88ee5dfec57..2e93b933871 100644 --- a/incubator/ghost/3.0.55/Chart.lock +++ b/incubator/ghost/3.0.56/Chart.lock @@ -6,4 +6,4 @@ dependencies: repository: https://charts.truecharts.org/ version: 3.0.66 digest: sha256:ad3438017628a13d5791d7dbcc46c6f6e65eda54b043ad10b6796f702f527b88 -generated: "2022-08-30T23:44:46.209383899Z" +generated: "2022-09-02T09:45:45.684971322Z" diff --git a/incubator/ghost/3.0.55/Chart.yaml b/incubator/ghost/3.0.56/Chart.yaml similarity index 96% rename from incubator/ghost/3.0.55/Chart.yaml rename to incubator/ghost/3.0.56/Chart.yaml index f796edb96ce..9953be651cc 100644 --- a/incubator/ghost/3.0.55/Chart.yaml +++ b/incubator/ghost/3.0.56/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: "5.12.0" +appVersion: "5.12.3" dependencies: - name: common repository: https://library-charts.truecharts.org @@ -26,7 +26,7 @@ sources: - https://github.com/TryGhost/Ghost - https://hub.docker.com/_/ghost - https://ghost.org/docs/ -version: 3.0.55 +version: 3.0.56 annotations: truecharts.org/catagories: | - productivity diff --git a/incubator/ghost/3.0.55/README.md b/incubator/ghost/3.0.56/README.md similarity index 94% rename from incubator/ghost/3.0.55/README.md rename to incubator/ghost/3.0.56/README.md index c1070a5cd2a..d26d8522de4 100644 --- a/incubator/ghost/3.0.55/README.md +++ b/incubator/ghost/3.0.56/README.md @@ -1,6 +1,6 @@ # ghost -![Version: 3.0.55](https://img.shields.io/badge/Version-3.0.55-informational?style=flat-square) ![AppVersion: 5.12.0](https://img.shields.io/badge/AppVersion-5.12.0-informational?style=flat-square) +![Version: 3.0.56](https://img.shields.io/badge/Version-3.0.56-informational?style=flat-square) ![AppVersion: 5.12.3](https://img.shields.io/badge/AppVersion-5.12.3-informational?style=flat-square) Ghost is an open source, professional publishing platform built on a modern Node.js technology stack designed for teams who need power, flexibility and performance. diff --git a/incubator/ghost/3.0.55/app-readme.md b/incubator/ghost/3.0.56/app-readme.md similarity index 100% rename from incubator/ghost/3.0.55/app-readme.md rename to incubator/ghost/3.0.56/app-readme.md diff --git a/incubator/ghost/3.0.55/charts/common-10.5.6.tgz b/incubator/ghost/3.0.56/charts/common-10.5.6.tgz similarity index 100% rename from incubator/ghost/3.0.55/charts/common-10.5.6.tgz rename to incubator/ghost/3.0.56/charts/common-10.5.6.tgz diff --git a/incubator/ghost/3.0.55/charts/mariadb-3.0.66.tgz b/incubator/ghost/3.0.56/charts/mariadb-3.0.66.tgz similarity index 100% rename from incubator/ghost/3.0.55/charts/mariadb-3.0.66.tgz rename to incubator/ghost/3.0.56/charts/mariadb-3.0.66.tgz diff --git a/incubator/ghost/3.0.55/ix_values.yaml b/incubator/ghost/3.0.56/ix_values.yaml similarity index 95% rename from incubator/ghost/3.0.55/ix_values.yaml rename to incubator/ghost/3.0.56/ix_values.yaml index 6411a031250..823c6e04c6c 100644 --- a/incubator/ghost/3.0.55/ix_values.yaml +++ b/incubator/ghost/3.0.56/ix_values.yaml @@ -1,6 +1,6 @@ image: repository: tccr.io/truecharts/ghost - tag: 5.12.0@sha256:c6f2d3f48bd373e1ced123f09d799b93a737527070d18086f5f7492f432ba68b + tag: 5.12.3@sha256:5e09e39b1f5a1fb0fed90336ab619a3fc4340b26465bc38e6de9f695f3c2c6a8 pullPolicy: IfNotPresent env: diff --git a/incubator/ghost/3.0.55/questions.yaml b/incubator/ghost/3.0.56/questions.yaml similarity index 99% rename from incubator/ghost/3.0.55/questions.yaml rename to incubator/ghost/3.0.56/questions.yaml index dc916d270f9..cc95ca2c1e3 100644 --- a/incubator/ghost/3.0.55/questions.yaml +++ b/incubator/ghost/3.0.56/questions.yaml @@ -2674,7 +2674,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2686,7 +2688,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/incubator/ghost/3.0.55/templates/common.yaml b/incubator/ghost/3.0.56/templates/common.yaml similarity index 100% rename from incubator/ghost/3.0.55/templates/common.yaml rename to incubator/ghost/3.0.56/templates/common.yaml diff --git a/incubator/ghost/3.0.55/values.yaml b/incubator/ghost/3.0.56/values.yaml similarity index 100% rename from incubator/ghost/3.0.55/values.yaml rename to incubator/ghost/3.0.56/values.yaml diff --git a/incubator/passwordpusherephemeral/0.0.28/Chart.lock b/incubator/passwordpusherephemeral/0.0.28/Chart.lock deleted file mode 100644 index 1177b0294e9..00000000000 --- a/incubator/passwordpusherephemeral/0.0.28/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-09-01T20:49:02.954098161Z" diff --git a/incubator/passwordpusherephemeral/0.0.28/CHANGELOG.md b/incubator/passwordpusherephemeral/0.0.29/CHANGELOG.md similarity index 90% rename from incubator/passwordpusherephemeral/0.0.28/CHANGELOG.md rename to incubator/passwordpusherephemeral/0.0.29/CHANGELOG.md index 33ab449a2f0..8b2e5814164 100644 --- a/incubator/passwordpusherephemeral/0.0.28/CHANGELOG.md +++ b/incubator/passwordpusherephemeral/0.0.29/CHANGELOG.md @@ -2,6 +2,15 @@ +## [passwordpusherephemeral-0.0.29](https://github.com/truecharts/charts/compare/passwordpusherephemeral-0.0.28...passwordpusherephemeral-0.0.29) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [passwordpusherephemeral-0.0.28](https://github.com/truecharts/charts/compare/passwordpusherephemeral-0.0.27...passwordpusherephemeral-0.0.28) (2022-09-01) ### Chore @@ -88,12 +97,3 @@ ## [passwordpusherephemeral-0.0.18](https://github.com/truecharts/charts/compare/passwordpusherephemeral-0.0.17...passwordpusherephemeral-0.0.18) (2022-08-12) ### Chore - -- add documentation checkbox/section to all SCALE Apps - - update helm general non-major helm releases ([#3456](https://github.com/truecharts/charts/issues/3456)) - - ### Fix - -- move extraArgs from .Values.controller to .Values ([#3447](https://github.com/truecharts/charts/issues/3447)) - - diff --git a/incubator/passwordpusherephemeral/0.0.29/Chart.lock b/incubator/passwordpusherephemeral/0.0.29/Chart.lock new file mode 100644 index 00000000000..742b62f98c2 --- /dev/null +++ b/incubator/passwordpusherephemeral/0.0.29/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:45:36.185103957Z" diff --git a/incubator/passwordpusherephemeral/0.0.28/Chart.yaml b/incubator/passwordpusherephemeral/0.0.29/Chart.yaml similarity index 98% rename from incubator/passwordpusherephemeral/0.0.28/Chart.yaml rename to incubator/passwordpusherephemeral/0.0.29/Chart.yaml index 5a770de4118..746266b4c21 100644 --- a/incubator/passwordpusherephemeral/0.0.28/Chart.yaml +++ b/incubator/passwordpusherephemeral/0.0.29/Chart.yaml @@ -30,4 +30,4 @@ sources: - https://github.com/pglombardo/PasswordPusher - https://hub.docker.com/r/pglombardo/pwpush-ephemeral/ type: application -version: 0.0.28 +version: 0.0.29 diff --git a/incubator/passwordpusherephemeral/0.0.28/README.md b/incubator/passwordpusherephemeral/0.0.29/README.md similarity index 98% rename from incubator/passwordpusherephemeral/0.0.28/README.md rename to incubator/passwordpusherephemeral/0.0.29/README.md index 1848549c570..510967b7c32 100644 --- a/incubator/passwordpusherephemeral/0.0.28/README.md +++ b/incubator/passwordpusherephemeral/0.0.29/README.md @@ -1,6 +1,6 @@ # passwordpusherephemeral -![Version: 0.0.28](https://img.shields.io/badge/Version-0.0.28-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 0.0.29](https://img.shields.io/badge/Version-0.0.29-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) Ephemeral version requires no other database container! PasswordPusher or PWPush is an opensource application to communicate passwords over the web. Links to passwords expire after a certain number of views and/or time has passed. diff --git a/incubator/passwordpusherephemeral/0.0.28/app-readme.md b/incubator/passwordpusherephemeral/0.0.29/app-readme.md similarity index 100% rename from incubator/passwordpusherephemeral/0.0.28/app-readme.md rename to incubator/passwordpusherephemeral/0.0.29/app-readme.md diff --git a/incubator/passwordpusherephemeral/0.0.28/charts/common-10.5.6.tgz b/incubator/passwordpusherephemeral/0.0.29/charts/common-10.5.6.tgz similarity index 100% rename from incubator/passwordpusherephemeral/0.0.28/charts/common-10.5.6.tgz rename to incubator/passwordpusherephemeral/0.0.29/charts/common-10.5.6.tgz diff --git a/incubator/passwordpusherephemeral/0.0.28/ix_values.yaml b/incubator/passwordpusherephemeral/0.0.29/ix_values.yaml similarity index 83% rename from incubator/passwordpusherephemeral/0.0.28/ix_values.yaml rename to incubator/passwordpusherephemeral/0.0.29/ix_values.yaml index 6cf6e943a12..8a330970988 100644 --- a/incubator/passwordpusherephemeral/0.0.28/ix_values.yaml +++ b/incubator/passwordpusherephemeral/0.0.29/ix_values.yaml @@ -2,7 +2,7 @@ env: {} image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/passwordpusherephemeral - tag: latest@sha256:b4d39733d5917e0a1a61a365cced71fb461183f46f8e29f5b656e179dae675eb + tag: latest@sha256:6eefc42ea70871ce4e9beae531636d02c6f2d58643433eb8e4acf613a9661256 persistence: {} podSecurityContext: runAsGroup: 0 diff --git a/incubator/aurora-files/0.0.22/questions.yaml b/incubator/passwordpusherephemeral/0.0.29/questions.yaml similarity index 99% rename from incubator/aurora-files/0.0.22/questions.yaml rename to incubator/passwordpusherephemeral/0.0.29/questions.yaml index 4462814b0d2..5950572f949 100644 --- a/incubator/aurora-files/0.0.22/questions.yaml +++ b/incubator/passwordpusherephemeral/0.0.29/questions.yaml @@ -1852,7 +1852,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -1864,7 +1866,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/incubator/passwordpusherephemeral/0.0.28/templates/common.yaml b/incubator/passwordpusherephemeral/0.0.29/templates/common.yaml similarity index 100% rename from incubator/passwordpusherephemeral/0.0.28/templates/common.yaml rename to incubator/passwordpusherephemeral/0.0.29/templates/common.yaml diff --git a/incubator/passwordpusherephemeral/0.0.28/values.yaml b/incubator/passwordpusherephemeral/0.0.29/values.yaml similarity index 100% rename from incubator/passwordpusherephemeral/0.0.28/values.yaml rename to incubator/passwordpusherephemeral/0.0.29/values.yaml diff --git a/incubator/rickroll/0.0.27/Chart.lock b/incubator/rickroll/0.0.27/Chart.lock deleted file mode 100644 index a24ab3a11bc..00000000000 --- a/incubator/rickroll/0.0.27/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-31T00:00:39.101604019Z" diff --git a/incubator/rickroll/0.0.27/CHANGELOG.md b/incubator/rickroll/0.0.28/CHANGELOG.md similarity index 91% rename from incubator/rickroll/0.0.27/CHANGELOG.md rename to incubator/rickroll/0.0.28/CHANGELOG.md index 24dd59e3537..3e2510b268b 100644 --- a/incubator/rickroll/0.0.27/CHANGELOG.md +++ b/incubator/rickroll/0.0.28/CHANGELOG.md @@ -2,6 +2,15 @@ +## [rickroll-0.0.28](https://github.com/truecharts/charts/compare/rickroll-0.0.27...rickroll-0.0.28) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [rickroll-0.0.27](https://github.com/truecharts/charts/compare/rickroll-0.0.25...rickroll-0.0.27) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ - update docker general non-major ([#3421](https://github.com/truecharts/charts/issues/3421)) - - -## [rickroll-0.0.17](https://github.com/truecharts/charts/compare/rickroll-0.0.16...rickroll-0.0.17) (2022-08-09) - -### Chore - -- update docker general non-major ([#3377](https://github.com/truecharts/charts/issues/3377)) - - ### Fix diff --git a/incubator/rickroll/0.0.28/Chart.lock b/incubator/rickroll/0.0.28/Chart.lock new file mode 100644 index 00000000000..469d83511f1 --- /dev/null +++ b/incubator/rickroll/0.0.28/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:45:36.250318033Z" diff --git a/incubator/rickroll/0.0.27/Chart.yaml b/incubator/rickroll/0.0.28/Chart.yaml similarity index 98% rename from incubator/rickroll/0.0.27/Chart.yaml rename to incubator/rickroll/0.0.28/Chart.yaml index d678c86354d..51b573ce500 100644 --- a/incubator/rickroll/0.0.27/Chart.yaml +++ b/incubator/rickroll/0.0.28/Chart.yaml @@ -26,4 +26,4 @@ sources: - https://github.com/modem7/docker-rickroll - https://hub.docker.com/r/modem7/docker-rickroll type: application -version: 0.0.27 +version: 0.0.28 diff --git a/incubator/rickroll/0.0.27/README.md b/incubator/rickroll/0.0.28/README.md similarity index 98% rename from incubator/rickroll/0.0.27/README.md rename to incubator/rickroll/0.0.28/README.md index b79635130a2..af53c4e424e 100644 --- a/incubator/rickroll/0.0.27/README.md +++ b/incubator/rickroll/0.0.28/README.md @@ -1,6 +1,6 @@ # rickroll -![Version: 0.0.27](https://img.shields.io/badge/Version-0.0.27-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 0.0.28](https://img.shields.io/badge/Version-0.0.28-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) Self-hosted Rickrolls. Image is based on Nginx stable alpine, and all the content is local to the container. diff --git a/incubator/rickroll/0.0.27/app-readme.md b/incubator/rickroll/0.0.28/app-readme.md similarity index 100% rename from incubator/rickroll/0.0.27/app-readme.md rename to incubator/rickroll/0.0.28/app-readme.md diff --git a/incubator/rickroll/0.0.27/charts/common-10.5.6.tgz b/incubator/rickroll/0.0.28/charts/common-10.5.6.tgz similarity index 100% rename from incubator/rickroll/0.0.27/charts/common-10.5.6.tgz rename to incubator/rickroll/0.0.28/charts/common-10.5.6.tgz diff --git a/incubator/rickroll/0.0.27/ci/basic-values.yaml b/incubator/rickroll/0.0.28/ci/basic-values.yaml similarity index 100% rename from incubator/rickroll/0.0.27/ci/basic-values.yaml rename to incubator/rickroll/0.0.28/ci/basic-values.yaml diff --git a/incubator/rickroll/0.0.27/ci/fhd-values.yaml b/incubator/rickroll/0.0.28/ci/fhd-values.yaml similarity index 100% rename from incubator/rickroll/0.0.27/ci/fhd-values.yaml rename to incubator/rickroll/0.0.28/ci/fhd-values.yaml diff --git a/incubator/rickroll/0.0.27/ci/fhdgame-values.yaml b/incubator/rickroll/0.0.28/ci/fhdgame-values.yaml similarity index 100% rename from incubator/rickroll/0.0.27/ci/fhdgame-values.yaml rename to incubator/rickroll/0.0.28/ci/fhdgame-values.yaml diff --git a/incubator/rickroll/0.0.27/ci/fhdonclick-values.yaml b/incubator/rickroll/0.0.28/ci/fhdonclick-values.yaml similarity index 100% rename from incubator/rickroll/0.0.27/ci/fhdonclick-values.yaml rename to incubator/rickroll/0.0.28/ci/fhdonclick-values.yaml diff --git a/incubator/rickroll/0.0.27/ci/onclick-values.yaml b/incubator/rickroll/0.0.28/ci/onclick-values.yaml similarity index 100% rename from incubator/rickroll/0.0.27/ci/onclick-values.yaml rename to incubator/rickroll/0.0.28/ci/onclick-values.yaml diff --git a/incubator/rickroll/0.0.27/ix_values.yaml b/incubator/rickroll/0.0.28/ix_values.yaml similarity index 92% rename from incubator/rickroll/0.0.27/ix_values.yaml rename to incubator/rickroll/0.0.28/ix_values.yaml index 5f6df17268a..681b2ff8e03 100644 --- a/incubator/rickroll/0.0.27/ix_values.yaml +++ b/incubator/rickroll/0.0.28/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: tccr.io/truecharts/rickroll pullPolicy: IfNotPresent - tag: latest@sha256:1294573c126f43e4dde6145491c9feec30f438828f6481c77fed88a9d3cb8532 + tag: latest@sha256:8c9d5abcd05cf405e654acbe92f5bc13ce58d6a226618fdaebd82b7df1f1d9c5 imagefhd: repository: tccr.io/truecharts/rickroll-fhd pullPolicy: IfNotPresent diff --git a/incubator/rickroll/0.0.27/questions.yaml b/incubator/rickroll/0.0.28/questions.yaml similarity index 99% rename from incubator/rickroll/0.0.27/questions.yaml rename to incubator/rickroll/0.0.28/questions.yaml index 2a91c063a14..f3e649ca8b7 100644 --- a/incubator/rickroll/0.0.27/questions.yaml +++ b/incubator/rickroll/0.0.28/questions.yaml @@ -2291,7 +2291,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2303,7 +2305,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/incubator/rickroll/0.0.27/templates/common.yaml b/incubator/rickroll/0.0.28/templates/common.yaml similarity index 100% rename from incubator/rickroll/0.0.27/templates/common.yaml rename to incubator/rickroll/0.0.28/templates/common.yaml diff --git a/incubator/rickroll/0.0.27/values.yaml b/incubator/rickroll/0.0.28/values.yaml similarity index 100% rename from incubator/rickroll/0.0.27/values.yaml rename to incubator/rickroll/0.0.28/values.yaml diff --git a/incubator/rimgo/0.0.46/Chart.lock b/incubator/rimgo/0.0.46/Chart.lock deleted file mode 100644 index 0a42c1c9f2d..00000000000 --- a/incubator/rimgo/0.0.46/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-09-01T20:49:03.155942791Z" diff --git a/incubator/rimgo/0.0.46/CHANGELOG.md b/incubator/rimgo/0.0.47/CHANGELOG.md similarity index 91% rename from incubator/rimgo/0.0.46/CHANGELOG.md rename to incubator/rimgo/0.0.47/CHANGELOG.md index 8b03066e302..07dea1ca872 100644 --- a/incubator/rimgo/0.0.46/CHANGELOG.md +++ b/incubator/rimgo/0.0.47/CHANGELOG.md @@ -2,6 +2,15 @@ +## [rimgo-0.0.47](https://github.com/truecharts/charts/compare/rimgo-0.0.46...rimgo-0.0.47) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [rimgo-0.0.46](https://github.com/truecharts/charts/compare/rimgo-0.0.45...rimgo-0.0.46) (2022-09-01) ### Chore @@ -88,12 +97,3 @@ - -## [rimgo-0.0.35](https://github.com/truecharts/charts/compare/rimgo-0.0.34...rimgo-0.0.35) (2022-08-26) - -### Chore - -- update docker general non-major ([#3573](https://github.com/truecharts/charts/issues/3573)) - - - diff --git a/incubator/rimgo/0.0.47/Chart.lock b/incubator/rimgo/0.0.47/Chart.lock new file mode 100644 index 00000000000..f765383f3ca --- /dev/null +++ b/incubator/rimgo/0.0.47/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:46:00.974172851Z" diff --git a/incubator/rimgo/0.0.46/Chart.yaml b/incubator/rimgo/0.0.47/Chart.yaml similarity index 97% rename from incubator/rimgo/0.0.46/Chart.yaml rename to incubator/rimgo/0.0.47/Chart.yaml index 236d522d820..25cec02c6c9 100644 --- a/incubator/rimgo/0.0.46/Chart.yaml +++ b/incubator/rimgo/0.0.47/Chart.yaml @@ -25,4 +25,4 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/incubator/rimgo - https://quay.io/repository/pussthecatorg/rimgo type: application -version: 0.0.46 +version: 0.0.47 diff --git a/incubator/rimgo/0.0.46/README.md b/incubator/rimgo/0.0.47/README.md similarity index 98% rename from incubator/rimgo/0.0.46/README.md rename to incubator/rimgo/0.0.47/README.md index 9de78e56890..d97ecd497ca 100644 --- a/incubator/rimgo/0.0.46/README.md +++ b/incubator/rimgo/0.0.47/README.md @@ -1,6 +1,6 @@ # rimgo -![Version: 0.0.46](https://img.shields.io/badge/Version-0.0.46-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 0.0.47](https://img.shields.io/badge/Version-0.0.47-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) Alternative Imgur front-end diff --git a/incubator/rimgo/0.0.46/app-readme.md b/incubator/rimgo/0.0.47/app-readme.md similarity index 100% rename from incubator/rimgo/0.0.46/app-readme.md rename to incubator/rimgo/0.0.47/app-readme.md diff --git a/incubator/rimgo/0.0.46/charts/common-10.5.6.tgz b/incubator/rimgo/0.0.47/charts/common-10.5.6.tgz similarity index 100% rename from incubator/rimgo/0.0.46/charts/common-10.5.6.tgz rename to incubator/rimgo/0.0.47/charts/common-10.5.6.tgz diff --git a/incubator/rimgo/0.0.46/ix_values.yaml b/incubator/rimgo/0.0.47/ix_values.yaml similarity index 82% rename from incubator/rimgo/0.0.46/ix_values.yaml rename to incubator/rimgo/0.0.47/ix_values.yaml index a6e32b6e60a..d10015c8896 100644 --- a/incubator/rimgo/0.0.46/ix_values.yaml +++ b/incubator/rimgo/0.0.47/ix_values.yaml @@ -5,7 +5,7 @@ env: image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/rimgo - tag: latest@sha256:20a50ae727443b83223fcdde35df1ab1bffae2a1930577054c084ee5f8aa80e5 + tag: latest@sha256:8214e89a96b8d8fbee42a2fef3c302e1087dd62a753ac17a9f44987af9f40a21 persistence: {} podSecurityContext: runAsGroup: 0 diff --git a/incubator/rimgo/0.0.46/questions.yaml b/incubator/rimgo/0.0.47/questions.yaml similarity index 99% rename from incubator/rimgo/0.0.46/questions.yaml rename to incubator/rimgo/0.0.47/questions.yaml index becd92ee46d..1d85cde8602 100644 --- a/incubator/rimgo/0.0.46/questions.yaml +++ b/incubator/rimgo/0.0.47/questions.yaml @@ -2299,7 +2299,9 @@ questions: required: true - variable: docs group: Documentation - label: Please read the documentation at https://truecharts.org + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2311,7 +2313,9 @@ questions: default: true - variable: donateNag group: Documentation - label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/incubator/rimgo/0.0.46/templates/common.yaml b/incubator/rimgo/0.0.47/templates/common.yaml similarity index 100% rename from incubator/rimgo/0.0.46/templates/common.yaml rename to incubator/rimgo/0.0.47/templates/common.yaml diff --git a/incubator/rimgo/0.0.46/values.yaml b/incubator/rimgo/0.0.47/values.yaml similarity index 100% rename from incubator/rimgo/0.0.46/values.yaml rename to incubator/rimgo/0.0.47/values.yaml diff --git a/incubator/searxng/0.0.36/Chart.lock b/incubator/searxng/0.0.36/Chart.lock deleted file mode 100644 index 35b75000feb..00000000000 --- a/incubator/searxng/0.0.36/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-31T00:02:20.530292763Z" diff --git a/incubator/searxng/0.0.36/CHANGELOG.md b/incubator/searxng/0.0.37/CHANGELOG.md similarity index 91% rename from incubator/searxng/0.0.36/CHANGELOG.md rename to incubator/searxng/0.0.37/CHANGELOG.md index 684e5c987f0..322a148bebb 100644 --- a/incubator/searxng/0.0.36/CHANGELOG.md +++ b/incubator/searxng/0.0.37/CHANGELOG.md @@ -2,6 +2,15 @@ +## [searxng-0.0.37](https://github.com/truecharts/charts/compare/searxng-0.0.36...searxng-0.0.37) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [searxng-0.0.36](https://github.com/truecharts/charts/compare/searxng-0.0.34...searxng-0.0.36) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ - update docker general non-major docker tags ([#3544](https://github.com/truecharts/charts/issues/3544)) - update docker general non-major docker tags ([#3523](https://github.com/truecharts/charts/issues/3523)) - - - -## [searxng-0.0.25](https://github.com/truecharts/charts/compare/searxng-0.0.24...searxng-0.0.25) (2022-08-21) - -### Chore - -- update docker general non-major docker tags ([#3523](https://github.com/truecharts/charts/issues/3523)) - diff --git a/incubator/searxng/0.0.37/Chart.lock b/incubator/searxng/0.0.37/Chart.lock new file mode 100644 index 00000000000..c8de9064617 --- /dev/null +++ b/incubator/searxng/0.0.37/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:46:01.728208152Z" diff --git a/incubator/searxng/0.0.36/Chart.yaml b/incubator/searxng/0.0.37/Chart.yaml similarity index 98% rename from incubator/searxng/0.0.36/Chart.yaml rename to incubator/searxng/0.0.37/Chart.yaml index 3007eea0fe1..fa7cb66329e 100644 --- a/incubator/searxng/0.0.36/Chart.yaml +++ b/incubator/searxng/0.0.37/Chart.yaml @@ -28,4 +28,4 @@ sources: - https://github.com/searxng/searxng - https://hub.docker.com/r/searxng/searxng type: application -version: 0.0.36 +version: 0.0.37 diff --git a/incubator/searxng/0.0.36/README.md b/incubator/searxng/0.0.37/README.md similarity index 98% rename from incubator/searxng/0.0.36/README.md rename to incubator/searxng/0.0.37/README.md index 1085dd37574..42afda48836 100644 --- a/incubator/searxng/0.0.36/README.md +++ b/incubator/searxng/0.0.37/README.md @@ -1,6 +1,6 @@ # searxng -![Version: 0.0.36](https://img.shields.io/badge/Version-0.0.36-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 0.0.37](https://img.shields.io/badge/Version-0.0.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) SearXNG is a free internet metasearch engine which aggregates results from more than 70 search services. Users are neither tracked nor profiled. Additionally, SearXNG can be used over Tor for online anonymity. diff --git a/incubator/searxng/0.0.36/app-readme.md b/incubator/searxng/0.0.37/app-readme.md similarity index 100% rename from incubator/searxng/0.0.36/app-readme.md rename to incubator/searxng/0.0.37/app-readme.md diff --git a/incubator/searxng/0.0.36/charts/common-10.5.6.tgz b/incubator/searxng/0.0.37/charts/common-10.5.6.tgz similarity index 100% rename from incubator/searxng/0.0.36/charts/common-10.5.6.tgz rename to incubator/searxng/0.0.37/charts/common-10.5.6.tgz diff --git a/incubator/searxng/0.0.36/ix_values.yaml b/incubator/searxng/0.0.37/ix_values.yaml similarity index 83% rename from incubator/searxng/0.0.36/ix_values.yaml rename to incubator/searxng/0.0.37/ix_values.yaml index 4e9f9bb4955..69a6b691c0a 100644 --- a/incubator/searxng/0.0.36/ix_values.yaml +++ b/incubator/searxng/0.0.37/ix_values.yaml @@ -3,7 +3,7 @@ env: image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/searxng - tag: latest@sha256:e6a38d683e50a37646b022f56f39c45c11844cbcfb83a211d41c5ee3f7a93995 + tag: latest@sha256:e54050f3de5195e5d5e511906f96ccae2ea011ebccc0db57b8005a68e06c93fb persistence: config: enabled: true diff --git a/incubator/searxng/0.0.36/questions.yaml b/incubator/searxng/0.0.37/questions.yaml similarity index 99% rename from incubator/searxng/0.0.36/questions.yaml rename to incubator/searxng/0.0.37/questions.yaml index 497413fc597..7735cf819b4 100644 --- a/incubator/searxng/0.0.36/questions.yaml +++ b/incubator/searxng/0.0.37/questions.yaml @@ -2472,7 +2472,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2484,7 +2486,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/incubator/searxng/0.0.36/templates/common.yaml b/incubator/searxng/0.0.37/templates/common.yaml similarity index 100% rename from incubator/searxng/0.0.36/templates/common.yaml rename to incubator/searxng/0.0.37/templates/common.yaml diff --git a/incubator/searxng/0.0.36/values.yaml b/incubator/searxng/0.0.37/values.yaml similarity index 100% rename from incubator/searxng/0.0.36/values.yaml rename to incubator/searxng/0.0.37/values.yaml diff --git a/incubator/sftpgo/0.0.24/Chart.lock b/incubator/sftpgo/0.0.24/Chart.lock deleted file mode 100644 index 359324ba0a9..00000000000 --- a/incubator/sftpgo/0.0.24/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-31T00:03:02.888603472Z" diff --git a/incubator/sftpgo/0.0.24/CHANGELOG.md b/incubator/sftpgo/0.0.25/CHANGELOG.md similarity index 89% rename from incubator/sftpgo/0.0.24/CHANGELOG.md rename to incubator/sftpgo/0.0.25/CHANGELOG.md index 4f3594499bf..aecf0890532 100644 --- a/incubator/sftpgo/0.0.24/CHANGELOG.md +++ b/incubator/sftpgo/0.0.25/CHANGELOG.md @@ -2,6 +2,15 @@ +## [sftpgo-0.0.25](https://github.com/truecharts/charts/compare/sftpgo-0.0.24...sftpgo-0.0.25) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [sftpgo-0.0.24](https://github.com/truecharts/charts/compare/sftpgo-0.0.22...sftpgo-0.0.24) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ - update docker general non-major - - - -## [sftpgo-0.0.14](https://github.com/truecharts/apps/compare/sftpgo-0.0.13...sftpgo-0.0.14) (2022-07-26) - -### Chore - -- update home links ([#3291](https://github.com/truecharts/apps/issues/3291)) - - update helm general non-major helm releases ([#3302](https://github.com/truecharts/apps/issues/3302)) diff --git a/incubator/sftpgo/0.0.25/Chart.lock b/incubator/sftpgo/0.0.25/Chart.lock new file mode 100644 index 00000000000..e3a6456f53d --- /dev/null +++ b/incubator/sftpgo/0.0.25/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:46:01.846727272Z" diff --git a/incubator/sftpgo/0.0.24/Chart.yaml b/incubator/sftpgo/0.0.25/Chart.yaml similarity index 98% rename from incubator/sftpgo/0.0.24/Chart.yaml rename to incubator/sftpgo/0.0.25/Chart.yaml index aba7308b669..00fd8dcee6a 100644 --- a/incubator/sftpgo/0.0.24/Chart.yaml +++ b/incubator/sftpgo/0.0.25/Chart.yaml @@ -26,4 +26,4 @@ sources: - https://github.com/drakkan/sftpgo - https://hub.docker.com/r/drakkan/sftpgo type: application -version: 0.0.24 +version: 0.0.25 diff --git a/incubator/sftpgo/0.0.24/README.md b/incubator/sftpgo/0.0.25/README.md similarity index 98% rename from incubator/sftpgo/0.0.24/README.md rename to incubator/sftpgo/0.0.25/README.md index 54d4ec0a862..9e15f5643f8 100644 --- a/incubator/sftpgo/0.0.24/README.md +++ b/incubator/sftpgo/0.0.25/README.md @@ -1,6 +1,6 @@ # sftpgo -![Version: 0.0.24](https://img.shields.io/badge/Version-0.0.24-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 0.0.25](https://img.shields.io/badge/Version-0.0.25-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) Fully featured and highly configurable SFTP server with optional HTTP/S, FTP, FTPS and WebDAV support. Several storage backends are supported: local filesystem, encrypted local filesystem, S3 (compatible) Object Storage, Google Cloud Storage, Azure Blob Storage, SFTP. diff --git a/incubator/sftpgo/0.0.24/app-readme.md b/incubator/sftpgo/0.0.25/app-readme.md similarity index 100% rename from incubator/sftpgo/0.0.24/app-readme.md rename to incubator/sftpgo/0.0.25/app-readme.md diff --git a/incubator/sftpgo/0.0.24/charts/common-10.5.6.tgz b/incubator/sftpgo/0.0.25/charts/common-10.5.6.tgz similarity index 100% rename from incubator/sftpgo/0.0.24/charts/common-10.5.6.tgz rename to incubator/sftpgo/0.0.25/charts/common-10.5.6.tgz diff --git a/incubator/sftpgo/0.0.24/ix_values.yaml b/incubator/sftpgo/0.0.25/ix_values.yaml similarity index 94% rename from incubator/sftpgo/0.0.24/ix_values.yaml rename to incubator/sftpgo/0.0.25/ix_values.yaml index 52cc636d36c..cd5a9dea4f1 100644 --- a/incubator/sftpgo/0.0.24/ix_values.yaml +++ b/incubator/sftpgo/0.0.25/ix_values.yaml @@ -9,7 +9,7 @@ env: image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/sftpgo - tag: latest@sha256:761b9b97327316b8ae5ac3d91008c7dc1679880207d538d9d34ffae37b4199e2 + tag: latest@sha256:9654f931baa5387ac9beaffa4671dc3ae74e6d6eb5ed3bf0296f6653e8726209 persistence: backupdirectory: enabled: true diff --git a/incubator/sftpgo/0.0.24/questions.yaml b/incubator/sftpgo/0.0.25/questions.yaml similarity index 99% rename from incubator/sftpgo/0.0.24/questions.yaml rename to incubator/sftpgo/0.0.25/questions.yaml index 9a1c0431fb9..7517120401d 100644 --- a/incubator/sftpgo/0.0.24/questions.yaml +++ b/incubator/sftpgo/0.0.25/questions.yaml @@ -3555,7 +3555,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -3567,7 +3569,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/incubator/sftpgo/0.0.24/templates/common.yaml b/incubator/sftpgo/0.0.25/templates/common.yaml similarity index 100% rename from incubator/sftpgo/0.0.24/templates/common.yaml rename to incubator/sftpgo/0.0.25/templates/common.yaml diff --git a/incubator/sftpgo/0.0.24/values.yaml b/incubator/sftpgo/0.0.25/values.yaml similarity index 100% rename from incubator/sftpgo/0.0.24/values.yaml rename to incubator/sftpgo/0.0.25/values.yaml diff --git a/incubator/tracks/0.0.23/Chart.lock b/incubator/tracks/0.0.23/Chart.lock deleted file mode 100644 index 5a28c412b2a..00000000000 --- a/incubator/tracks/0.0.23/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-31T00:07:29.011201299Z" diff --git a/incubator/tracks/0.0.23/CHANGELOG.md b/incubator/tracks/0.0.24/CHANGELOG.md similarity index 92% rename from incubator/tracks/0.0.23/CHANGELOG.md rename to incubator/tracks/0.0.24/CHANGELOG.md index 72bf4c5ac44..d4581990489 100644 --- a/incubator/tracks/0.0.23/CHANGELOG.md +++ b/incubator/tracks/0.0.24/CHANGELOG.md @@ -2,6 +2,15 @@ +## [tracks-0.0.24](https://github.com/truecharts/charts/compare/tracks-0.0.23...tracks-0.0.24) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [tracks-0.0.23](https://github.com/truecharts/charts/compare/tracks-0.0.21...tracks-0.0.23) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ - update home links ([#3291](https://github.com/truecharts/apps/issues/3291)) - update helm general non-major helm releases ([#3302](https://github.com/truecharts/apps/issues/3302)) - - - - -## [tracks-0.0.13](https://github.com/truecharts/apps/compare/tracks-0.0.12...tracks-0.0.13) (2022-07-25) - -### Chore - -- update docker general non-major ([#3300](https://github.com/truecharts/apps/issues/3300)) diff --git a/incubator/tracks/0.0.24/Chart.lock b/incubator/tracks/0.0.24/Chart.lock new file mode 100644 index 00000000000..36d6215a4ca --- /dev/null +++ b/incubator/tracks/0.0.24/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:46:20.104095082Z" diff --git a/incubator/tracks/0.0.23/Chart.yaml b/incubator/tracks/0.0.24/Chart.yaml similarity index 98% rename from incubator/tracks/0.0.23/Chart.yaml rename to incubator/tracks/0.0.24/Chart.yaml index 8ba947d0469..fb530372ed6 100644 --- a/incubator/tracks/0.0.23/Chart.yaml +++ b/incubator/tracks/0.0.24/Chart.yaml @@ -26,4 +26,4 @@ sources: - http://www.getontracks.org/ - https://hub.docker.com/r/tracksapp/tracks type: application -version: 0.0.23 +version: 0.0.24 diff --git a/incubator/tracks/0.0.23/README.md b/incubator/tracks/0.0.24/README.md similarity index 98% rename from incubator/tracks/0.0.23/README.md rename to incubator/tracks/0.0.24/README.md index 9ef5210187b..6400324a5f2 100644 --- a/incubator/tracks/0.0.23/README.md +++ b/incubator/tracks/0.0.24/README.md @@ -1,6 +1,6 @@ # tracks -![Version: 0.0.23](https://img.shields.io/badge/Version-0.0.23-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 0.0.24](https://img.shields.io/badge/Version-0.0.24-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) Tracks is a web-based todo application to help you implement the GTD methodology. diff --git a/incubator/tracks/0.0.23/app-readme.md b/incubator/tracks/0.0.24/app-readme.md similarity index 100% rename from incubator/tracks/0.0.23/app-readme.md rename to incubator/tracks/0.0.24/app-readme.md diff --git a/incubator/tracks/0.0.23/charts/common-10.5.6.tgz b/incubator/tracks/0.0.24/charts/common-10.5.6.tgz similarity index 100% rename from incubator/tracks/0.0.23/charts/common-10.5.6.tgz rename to incubator/tracks/0.0.24/charts/common-10.5.6.tgz diff --git a/incubator/tracks/0.0.23/ix_values.yaml b/incubator/tracks/0.0.24/ix_values.yaml similarity index 87% rename from incubator/tracks/0.0.23/ix_values.yaml rename to incubator/tracks/0.0.24/ix_values.yaml index e8bf1e43c4c..e1b30376bb7 100644 --- a/incubator/tracks/0.0.23/ix_values.yaml +++ b/incubator/tracks/0.0.24/ix_values.yaml @@ -11,7 +11,7 @@ env: image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/tracks - tag: latest@sha256:23ab1af5650e33189f6226f2b1c5b45f19b3e80bac8b89a1c4676c33fb7b8322 + tag: latest@sha256:8a654ff9e83b2657081c7a28af38779d8eb01d21d48a32ab8a0e3852a3d89cde persistence: {} podSecurityContext: runAsGroup: 0 diff --git a/incubator/tracks/0.0.23/questions.yaml b/incubator/tracks/0.0.24/questions.yaml similarity index 99% rename from incubator/tracks/0.0.23/questions.yaml rename to incubator/tracks/0.0.24/questions.yaml index 56a1a45ec32..16c430b27ee 100644 --- a/incubator/tracks/0.0.23/questions.yaml +++ b/incubator/tracks/0.0.24/questions.yaml @@ -2335,7 +2335,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2347,7 +2349,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/incubator/tracks/0.0.23/templates/common.yaml b/incubator/tracks/0.0.24/templates/common.yaml similarity index 100% rename from incubator/tracks/0.0.23/templates/common.yaml rename to incubator/tracks/0.0.24/templates/common.yaml diff --git a/incubator/tracks/0.0.23/values.yaml b/incubator/tracks/0.0.24/values.yaml similarity index 100% rename from incubator/tracks/0.0.23/values.yaml rename to incubator/tracks/0.0.24/values.yaml diff --git a/incubator/vertex/0.0.41/Chart.lock b/incubator/vertex/0.0.41/Chart.lock deleted file mode 100644 index 15be1d7e9a8..00000000000 --- a/incubator/vertex/0.0.41/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-09-01T20:49:34.405419407Z" diff --git a/incubator/vertex/0.0.41/CHANGELOG.md b/incubator/vertex/0.0.42/CHANGELOG.md similarity index 91% rename from incubator/vertex/0.0.41/CHANGELOG.md rename to incubator/vertex/0.0.42/CHANGELOG.md index e5c1789bf28..ebf90bfb08b 100644 --- a/incubator/vertex/0.0.41/CHANGELOG.md +++ b/incubator/vertex/0.0.42/CHANGELOG.md @@ -2,6 +2,15 @@ +## [vertex-0.0.42](https://github.com/truecharts/charts/compare/vertex-0.0.41...vertex-0.0.42) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [vertex-0.0.41](https://github.com/truecharts/charts/compare/vertex-0.0.40...vertex-0.0.41) (2022-09-01) ### Chore @@ -88,12 +97,3 @@ - update docker general non-major ([#3552](https://github.com/truecharts/charts/issues/3552)) - - -## [vertex-0.0.29](https://github.com/truecharts/charts/compare/vertex-0.0.28...vertex-0.0.29) (2022-08-23) - -### Chore - -- update helm general non-major helm releases ([#3545](https://github.com/truecharts/charts/issues/3545)) - - diff --git a/incubator/vertex/0.0.42/Chart.lock b/incubator/vertex/0.0.42/Chart.lock new file mode 100644 index 00000000000..ce299032f5c --- /dev/null +++ b/incubator/vertex/0.0.42/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:46:25.498932002Z" diff --git a/incubator/vertex/0.0.41/Chart.yaml b/incubator/vertex/0.0.42/Chart.yaml similarity index 98% rename from incubator/vertex/0.0.41/Chart.yaml rename to incubator/vertex/0.0.42/Chart.yaml index 2bc449cfade..7fcb5f37dc1 100644 --- a/incubator/vertex/0.0.41/Chart.yaml +++ b/incubator/vertex/0.0.42/Chart.yaml @@ -28,4 +28,4 @@ sources: - https://gitlab.lswl.in/lswl/vertex - https://hub.docker.com/r/lswl/vertex type: application -version: 0.0.41 +version: 0.0.42 diff --git a/incubator/vertex/0.0.41/README.md b/incubator/vertex/0.0.42/README.md similarity index 98% rename from incubator/vertex/0.0.41/README.md rename to incubator/vertex/0.0.42/README.md index df478f25f5e..b7d5fe0a05a 100644 --- a/incubator/vertex/0.0.41/README.md +++ b/incubator/vertex/0.0.42/README.md @@ -1,6 +1,6 @@ # vertex -![Version: 0.0.41](https://img.shields.io/badge/Version-0.0.41-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: stable](https://img.shields.io/badge/AppVersion-stable-informational?style=flat-square) +![Version: 0.0.42](https://img.shields.io/badge/Version-0.0.42-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: stable](https://img.shields.io/badge/AppVersion-stable-informational?style=flat-square) Vertex , , , , PT diff --git a/incubator/vertex/0.0.41/app-readme.md b/incubator/vertex/0.0.42/app-readme.md similarity index 100% rename from incubator/vertex/0.0.41/app-readme.md rename to incubator/vertex/0.0.42/app-readme.md diff --git a/incubator/vertex/0.0.41/charts/common-10.5.6.tgz b/incubator/vertex/0.0.42/charts/common-10.5.6.tgz similarity index 100% rename from incubator/vertex/0.0.41/charts/common-10.5.6.tgz rename to incubator/vertex/0.0.42/charts/common-10.5.6.tgz diff --git a/incubator/vertex/0.0.41/ix_values.yaml b/incubator/vertex/0.0.42/ix_values.yaml similarity index 82% rename from incubator/vertex/0.0.41/ix_values.yaml rename to incubator/vertex/0.0.42/ix_values.yaml index 798e51178c3..a70c3a2fc54 100644 --- a/incubator/vertex/0.0.41/ix_values.yaml +++ b/incubator/vertex/0.0.42/ix_values.yaml @@ -3,7 +3,7 @@ env: image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/vertex - tag: vstable@sha256:14921b762fbf16b282343d4985fa70c3e49302b9192ee30113a3f3a518df54c5 + tag: vstable@sha256:9de44ffeddcdf194f7c9609b074db04722394bf755a1bc6e063d1eecbc16a2eb persistence: config: enabled: true diff --git a/incubator/vertex/0.0.41/questions.yaml b/incubator/vertex/0.0.42/questions.yaml similarity index 99% rename from incubator/vertex/0.0.41/questions.yaml rename to incubator/vertex/0.0.42/questions.yaml index e755517a866..97786a93d22 100644 --- a/incubator/vertex/0.0.41/questions.yaml +++ b/incubator/vertex/0.0.42/questions.yaml @@ -2472,7 +2472,9 @@ questions: required: true - variable: docs group: Documentation - label: Please read the documentation at https://truecharts.org + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2484,7 +2486,9 @@ questions: default: true - variable: donateNag group: Documentation - label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/incubator/vertex/0.0.41/templates/common.yaml b/incubator/vertex/0.0.42/templates/common.yaml similarity index 100% rename from incubator/vertex/0.0.41/templates/common.yaml rename to incubator/vertex/0.0.42/templates/common.yaml diff --git a/incubator/vertex/0.0.41/values.yaml b/incubator/vertex/0.0.42/values.yaml similarity index 100% rename from incubator/vertex/0.0.41/values.yaml rename to incubator/vertex/0.0.42/values.yaml diff --git a/incubator/virt-manager/0.0.45/Chart.lock b/incubator/virt-manager/0.0.45/Chart.lock deleted file mode 100644 index e36a6037c5b..00000000000 --- a/incubator/virt-manager/0.0.45/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-09-01T20:49:34.71016899Z" diff --git a/incubator/virt-manager/0.0.45/CHANGELOG.md b/incubator/virt-manager/0.0.46/CHANGELOG.md similarity index 91% rename from incubator/virt-manager/0.0.45/CHANGELOG.md rename to incubator/virt-manager/0.0.46/CHANGELOG.md index e037f4be82b..a12a3f86728 100644 --- a/incubator/virt-manager/0.0.45/CHANGELOG.md +++ b/incubator/virt-manager/0.0.46/CHANGELOG.md @@ -2,6 +2,15 @@ +## [virt-manager-0.0.46](https://github.com/truecharts/charts/compare/virt-manager-0.0.45...virt-manager-0.0.46) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [virt-manager-0.0.45](https://github.com/truecharts/charts/compare/virt-manager-0.0.44...virt-manager-0.0.45) (2022-09-01) ### Chore @@ -88,12 +97,3 @@ - -## [virt-manager-0.0.34](https://github.com/truecharts/charts/compare/virt-manager-0.0.33...virt-manager-0.0.34) (2022-08-26) - -### Chore - -- update docker general non-major ([#3573](https://github.com/truecharts/charts/issues/3573)) - - - diff --git a/incubator/virt-manager/0.0.46/Chart.lock b/incubator/virt-manager/0.0.46/Chart.lock new file mode 100644 index 00000000000..1b61936a784 --- /dev/null +++ b/incubator/virt-manager/0.0.46/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:46:26.269620683Z" diff --git a/incubator/virt-manager/0.0.45/Chart.yaml b/incubator/virt-manager/0.0.46/Chart.yaml similarity index 98% rename from incubator/virt-manager/0.0.45/Chart.yaml rename to incubator/virt-manager/0.0.46/Chart.yaml index e7a4821063b..f19907e1fef 100644 --- a/incubator/virt-manager/0.0.45/Chart.yaml +++ b/incubator/virt-manager/0.0.46/Chart.yaml @@ -25,4 +25,4 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/incubator/virt-manager - https://hub.docker.com/r/mber5/virt-manager type: application -version: 0.0.45 +version: 0.0.46 diff --git a/incubator/virt-manager/0.0.45/README.md b/incubator/virt-manager/0.0.46/README.md similarity index 98% rename from incubator/virt-manager/0.0.45/README.md rename to incubator/virt-manager/0.0.46/README.md index a933609723d..4abcb39a9e6 100644 --- a/incubator/virt-manager/0.0.45/README.md +++ b/incubator/virt-manager/0.0.46/README.md @@ -1,6 +1,6 @@ # virt-manager -![Version: 0.0.45](https://img.shields.io/badge/Version-0.0.45-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 0.0.46](https://img.shields.io/badge/Version-0.0.46-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) The virt-manager application is a desktop user interface for managing virtual machines through libvirt. diff --git a/incubator/virt-manager/0.0.45/app-readme.md b/incubator/virt-manager/0.0.46/app-readme.md similarity index 100% rename from incubator/virt-manager/0.0.45/app-readme.md rename to incubator/virt-manager/0.0.46/app-readme.md diff --git a/incubator/virt-manager/0.0.45/charts/common-10.5.6.tgz b/incubator/virt-manager/0.0.46/charts/common-10.5.6.tgz similarity index 100% rename from incubator/virt-manager/0.0.45/charts/common-10.5.6.tgz rename to incubator/virt-manager/0.0.46/charts/common-10.5.6.tgz diff --git a/incubator/virt-manager/0.0.45/ix_values.yaml b/incubator/virt-manager/0.0.46/ix_values.yaml similarity index 87% rename from incubator/virt-manager/0.0.45/ix_values.yaml rename to incubator/virt-manager/0.0.46/ix_values.yaml index bfdfca00cec..e8938586c51 100644 --- a/incubator/virt-manager/0.0.45/ix_values.yaml +++ b/incubator/virt-manager/0.0.46/ix_values.yaml @@ -3,7 +3,7 @@ env: image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/virt-manager - tag: latest@sha256:ba7346ea6764c1ed465608f144b5e7dd5847b36513f7d408de6e9de0abc0c324 + tag: latest@sha256:03149b745f90a29672a883064f75232f1bfacfe644328d35d56d133cdd3e6cdd persistence: devkvm: enabled: true diff --git a/incubator/virt-manager/0.0.45/questions.yaml b/incubator/virt-manager/0.0.46/questions.yaml similarity index 99% rename from incubator/virt-manager/0.0.45/questions.yaml rename to incubator/virt-manager/0.0.46/questions.yaml index 5e0b3127321..821007510df 100644 --- a/incubator/virt-manager/0.0.45/questions.yaml +++ b/incubator/virt-manager/0.0.46/questions.yaml @@ -3003,7 +3003,9 @@ questions: required: true - variable: docs group: Documentation - label: Please read the documentation at https://truecharts.org + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -3015,7 +3017,9 @@ questions: default: true - variable: donateNag group: Documentation - label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/incubator/virt-manager/0.0.45/templates/common.yaml b/incubator/virt-manager/0.0.46/templates/common.yaml similarity index 100% rename from incubator/virt-manager/0.0.45/templates/common.yaml rename to incubator/virt-manager/0.0.46/templates/common.yaml diff --git a/incubator/virt-manager/0.0.45/values.yaml b/incubator/virt-manager/0.0.46/values.yaml similarity index 100% rename from incubator/virt-manager/0.0.45/values.yaml rename to incubator/virt-manager/0.0.46/values.yaml diff --git a/incubator/yourls/0.0.25/Chart.lock b/incubator/yourls/0.0.25/Chart.lock deleted file mode 100644 index 40adff2943b..00000000000 --- a/incubator/yourls/0.0.25/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-31T00:11:27.998773396Z" diff --git a/incubator/yourls/0.0.25/CHANGELOG.md b/incubator/yourls/0.0.26/CHANGELOG.md similarity index 87% rename from incubator/yourls/0.0.25/CHANGELOG.md rename to incubator/yourls/0.0.26/CHANGELOG.md index 2e116a3a572..0fe29f9b79e 100644 --- a/incubator/yourls/0.0.25/CHANGELOG.md +++ b/incubator/yourls/0.0.26/CHANGELOG.md @@ -2,6 +2,15 @@ +## [yourls-0.0.26](https://github.com/truecharts/charts/compare/yourls-0.0.25...yourls-0.0.26) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [yourls-0.0.25](https://github.com/truecharts/charts/compare/yourls-0.0.23...yourls-0.0.25) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ - update docker general non-major ([#3421](https://github.com/truecharts/charts/issues/3421)) - - -## [yourls-0.0.15](https://github.com/truecharts/charts/compare/yourls-0.0.14...yourls-0.0.15) (2022-08-08) - -### Chore - -- update helm general non-major helm releases ([#3376](https://github.com/truecharts/charts/issues/3376)) - - replace questions parts with templates ([#3402](https://github.com/truecharts/charts/issues/3402)) - diff --git a/incubator/yourls/0.0.26/Chart.lock b/incubator/yourls/0.0.26/Chart.lock new file mode 100644 index 00000000000..549fd08952c --- /dev/null +++ b/incubator/yourls/0.0.26/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:46:26.743020647Z" diff --git a/incubator/yourls/0.0.25/Chart.yaml b/incubator/yourls/0.0.26/Chart.yaml similarity index 98% rename from incubator/yourls/0.0.25/Chart.yaml rename to incubator/yourls/0.0.26/Chart.yaml index 1ac24485122..30865d1bfe9 100644 --- a/incubator/yourls/0.0.25/Chart.yaml +++ b/incubator/yourls/0.0.26/Chart.yaml @@ -31,4 +31,4 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/incubator/yourls - https://hub.docker.com/_/yourls/ type: application -version: 0.0.25 +version: 0.0.26 diff --git a/incubator/yourls/0.0.25/README.md b/incubator/yourls/0.0.26/README.md similarity index 98% rename from incubator/yourls/0.0.25/README.md rename to incubator/yourls/0.0.26/README.md index 18b635ba612..cb01ebb0811 100644 --- a/incubator/yourls/0.0.25/README.md +++ b/incubator/yourls/0.0.26/README.md @@ -1,6 +1,6 @@ # yourls -![Version: 0.0.25](https://img.shields.io/badge/Version-0.0.25-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 0.0.26](https://img.shields.io/badge/Version-0.0.26-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) YOURLS is a set of PHP scripts that will allow you to run Your Own URL Shortener. diff --git a/incubator/yourls/0.0.25/app-readme.md b/incubator/yourls/0.0.26/app-readme.md similarity index 100% rename from incubator/yourls/0.0.25/app-readme.md rename to incubator/yourls/0.0.26/app-readme.md diff --git a/incubator/yourls/0.0.25/charts/common-10.5.6.tgz b/incubator/yourls/0.0.26/charts/common-10.5.6.tgz similarity index 100% rename from incubator/yourls/0.0.25/charts/common-10.5.6.tgz rename to incubator/yourls/0.0.26/charts/common-10.5.6.tgz diff --git a/incubator/yourls/0.0.25/ix_values.yaml b/incubator/yourls/0.0.26/ix_values.yaml similarity index 85% rename from incubator/yourls/0.0.25/ix_values.yaml rename to incubator/yourls/0.0.26/ix_values.yaml index 5049181d509..450aa9ae452 100644 --- a/incubator/yourls/0.0.25/ix_values.yaml +++ b/incubator/yourls/0.0.26/ix_values.yaml @@ -10,7 +10,7 @@ env: image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/yourls - tag: latest@sha256:aba834b7dd59c66354ed577e0db5bbcbd66aab9717aa4a0e4efa2f9bf4804688 + tag: latest@sha256:a015711b8cf709cfe167fe471c3db8e90436fee46eaa5c0791fbf2c62908511d persistence: {} podSecurityContext: runAsGroup: 0 diff --git a/incubator/yourls/0.0.25/questions.yaml b/incubator/yourls/0.0.26/questions.yaml similarity index 99% rename from incubator/yourls/0.0.25/questions.yaml rename to incubator/yourls/0.0.26/questions.yaml index 4b084d40b9d..567c1bb2b66 100644 --- a/incubator/yourls/0.0.25/questions.yaml +++ b/incubator/yourls/0.0.26/questions.yaml @@ -2329,7 +2329,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2341,7 +2343,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/incubator/yourls/0.0.25/templates/common.yaml b/incubator/yourls/0.0.26/templates/common.yaml similarity index 100% rename from incubator/yourls/0.0.25/templates/common.yaml rename to incubator/yourls/0.0.26/templates/common.yaml diff --git a/incubator/yourls/0.0.25/values.yaml b/incubator/yourls/0.0.26/values.yaml similarity index 100% rename from incubator/yourls/0.0.25/values.yaml rename to incubator/yourls/0.0.26/values.yaml diff --git a/stable/authelia/11.0.44/CHANGELOG.md b/stable/authelia/11.0.44/CHANGELOG.md new file mode 100644 index 00000000000..7d5fb27a926 --- /dev/null +++ b/stable/authelia/11.0.44/CHANGELOG.md @@ -0,0 +1,99 @@ +# Changelog + + + +## [authelia-11.0.44](https://github.com/truecharts/charts/compare/authelia-11.0.43...authelia-11.0.44) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + +## [authelia-11.0.43](https://github.com/truecharts/charts/compare/authelia-11.0.42...authelia-11.0.43) (2022-08-30) + +### Chore + +- update helm general non-major ([#3639](https://github.com/truecharts/charts/issues/3639)) + + + + +## [authelia-11.0.42](https://github.com/truecharts/charts/compare/authelia-11.0.41...authelia-11.0.42) (2022-08-30) + +### Chore + +- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) + + + + +## [authelia-11.0.41](https://github.com/truecharts/charts/compare/authelia-11.0.40...authelia-11.0.41) (2022-08-30) + +### Chore + +- update helm general non-major ([#3624](https://github.com/truecharts/charts/issues/3624)) + + + + +## [authelia-11.0.40](https://github.com/truecharts/charts/compare/authelia-11.0.38...authelia-11.0.40) (2022-08-29) + +### Chore + +- update helm general non-major ([#3621](https://github.com/truecharts/charts/issues/3621)) + - update helm general non-major ([#3619](https://github.com/truecharts/charts/issues/3619)) + + + + +## [authelia-11.0.38](https://github.com/truecharts/charts/compare/authelia-11.0.37...authelia-11.0.38) (2022-08-27) + +### Chore + +- update docker general non-major ([#3587](https://github.com/truecharts/charts/issues/3587)) + + + + +## [authelia-11.0.37](https://github.com/truecharts/charts/compare/authelia-11.0.36...authelia-11.0.37) (2022-08-23) + +### Chore + +- update helm general non-major helm releases ([#3545](https://github.com/truecharts/charts/issues/3545)) + + + + +## [authelia-11.0.36](https://github.com/truecharts/charts/compare/authelia-11.0.35...authelia-11.0.36) (2022-08-17) + +### Chore + +- update helm general non-major helm releases ([#3484](https://github.com/truecharts/charts/issues/3484)) + + + + +## [authelia-11.0.35](https://github.com/truecharts/charts/compare/authelia-11.0.34...authelia-11.0.35) (2022-08-12) + +### Chore + +- update helm general non-major helm releases ([#3456](https://github.com/truecharts/charts/issues/3456)) + + + + +## [authelia-11.0.34](https://github.com/truecharts/charts/compare/authelia-11.0.33...authelia-11.0.34) (2022-08-12) + +### Chore + +- add documentation checkbox/section to all SCALE Apps + - update docker general non-major ([#3453](https://github.com/truecharts/charts/issues/3453)) + + ### Fix + +- move extraArgs from .Values.controller to .Values ([#3447](https://github.com/truecharts/charts/issues/3447)) + + + diff --git a/stable/n8n/4.0.51/Chart.lock b/stable/authelia/11.0.44/Chart.lock similarity index 88% rename from stable/n8n/4.0.51/Chart.lock rename to stable/authelia/11.0.44/Chart.lock index b2f60c9d5b3..9b00e440b58 100644 --- a/stable/n8n/4.0.51/Chart.lock +++ b/stable/authelia/11.0.44/Chart.lock @@ -9,4 +9,4 @@ dependencies: repository: https://charts.truecharts.org version: 3.0.67 digest: sha256:1c6ba2cfc84ac5c9cca053fd1d5442cd3f885a349425199967457130aee0eb4a -generated: "2022-09-01T20:51:31.382594366Z" +generated: "2022-09-02T09:47:01.843367343Z" diff --git a/stable/authelia/11.0.44/Chart.yaml b/stable/authelia/11.0.44/Chart.yaml new file mode 100644 index 00000000000..7c46e69bfad --- /dev/null +++ b/stable/authelia/11.0.44/Chart.yaml @@ -0,0 +1,47 @@ +apiVersion: v2 +appVersion: "4.36.6" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 + - condition: postgresql.enabled + name: postgresql + repository: https://charts.truecharts.org/ + version: 8.0.69 + - condition: redis.enabled + name: redis + repository: https://charts.truecharts.org + version: 3.0.67 +deprecated: false +description: Authelia is a Single Sign-On Multi-Factor portal for web apps +home: https://truecharts.org/docs/charts/stable/authelia +icon: https://truecharts.org/img/hotlink-ok/chart-icons/authelia.png +keywords: + - authelia + - authentication + - login + - SSO + - Authentication + - Security + - Two-Factor + - U2F + - YubiKey + - Push Notifications + - LDAP +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: authelia +sources: + - https://github.com/truecharts/charts/tree/master/charts/stable/authelia + - https://github.com/authelia/chartrepo + - https://github.com/authelia/authelia +type: application +version: 11.0.44 +annotations: + truecharts.org/catagories: | + - security + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/stable/authelia/11.0.44/README.md b/stable/authelia/11.0.44/README.md new file mode 100644 index 00000000000..4b4a1fc9b0e --- /dev/null +++ b/stable/authelia/11.0.44/README.md @@ -0,0 +1,111 @@ +# authelia + +![Version: 11.0.44](https://img.shields.io/badge/Version-11.0.44-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.36.6](https://img.shields.io/badge/AppVersion-4.36.6-informational?style=flat-square) + +Authelia is a Single Sign-On Multi-Factor portal for web apps + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. + +This readme is just an automatically generated general guide on installing our Helm Charts and Apps. +For more information, please click here: [authelia](https://truecharts.org/docs/charts/stable/authelia) + +**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)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://charts.truecharts.org/ | postgresql | 8.0.69 | +| https://charts.truecharts.org | redis | 3.0.67 | +| https://library-charts.truecharts.org | common | 10.5.6 | + +## Installing the Chart + +### TrueNAS SCALE + +To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Installing-an-App). + +### Helm + +To install the chart with the release name `authelia` + +```console +helm repo add TrueCharts https://charts.truecharts.org +helm repo update +helm install authelia TrueCharts/authelia +``` + +## Uninstall + +### TrueNAS SCALE + +**Upgrading, Rolling Back and Uninstalling the Chart** + +To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Upgrade-rollback-delete-an-App). + +### Helm + +To uninstall the `authelia` deployment + +```console +helm uninstall authelia +``` + +## Configuration + +### Helm + +#### Available Settings + +Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. +Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). + +#### Configure using the command line + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +```console +helm install authelia \ + --set env.TZ="America/New York" \ + TrueCharts/authelia +``` + +#### Configure using a yaml file + +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. + +```console +helm install authelia TrueCharts/authelia -f values.yaml +``` + +#### Connecting to other charts + +If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/linking-apps) quick-start guide. + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/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/docs/about/sponsor) or contributing back to the project any way you can! + +--- + +All Rights Reserved - The TrueCharts Project diff --git a/stable/authelia/11.0.44/app-readme.md b/stable/authelia/11.0.44/app-readme.md new file mode 100644 index 00000000000..cdf1c3a668b --- /dev/null +++ b/stable/authelia/11.0.44/app-readme.md @@ -0,0 +1,8 @@ +Authelia is a Single Sign-On Multi-Factor portal for web apps + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/docs/charts/stable/authelia](https://truecharts.org/docs/charts/stable/authelia) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can! diff --git a/stable/beets/4.0.35/charts/common-10.5.6.tgz b/stable/authelia/11.0.44/charts/common-10.5.6.tgz similarity index 100% rename from stable/beets/4.0.35/charts/common-10.5.6.tgz rename to stable/authelia/11.0.44/charts/common-10.5.6.tgz diff --git a/stable/mattermost/3.0.38/charts/postgresql-8.0.69.tgz b/stable/authelia/11.0.44/charts/postgresql-8.0.69.tgz similarity index 100% rename from stable/mattermost/3.0.38/charts/postgresql-8.0.69.tgz rename to stable/authelia/11.0.44/charts/postgresql-8.0.69.tgz diff --git a/stable/n8n/4.0.51/charts/redis-3.0.67.tgz b/stable/authelia/11.0.44/charts/redis-3.0.67.tgz similarity index 100% rename from stable/n8n/4.0.51/charts/redis-3.0.67.tgz rename to stable/authelia/11.0.44/charts/redis-3.0.67.tgz diff --git a/stable/authelia/11.0.44/ix_values.yaml b/stable/authelia/11.0.44/ix_values.yaml new file mode 100644 index 00000000000..f35aef81c7e --- /dev/null +++ b/stable/authelia/11.0.44/ix_values.yaml @@ -0,0 +1,625 @@ +image: + repository: tccr.io/truecharts/authelia + pullPolicy: IfNotPresent + tag: 4.36.6@sha256:b1eabe401fa8d858542fa9675a1823424f6ec3343a2349d95283f57b5058ae73 + +command: ["authelia"] +args: ["--config=/configuration.yaml"] + +enableServiceLinks: false + +service: + main: + ports: + main: + port: 9091 + targetPort: 9091 + +persistence: + config: + enabled: true + mountPath: "/config" +# Enabled postgres +postgresql: + enabled: true + existingSecret: "dbcreds" + postgresqlUsername: authelia + postgresqlDatabase: authelia + +# Enabled redis +# ... for more options see https://github.com/tccr.io/truecharts/charts/tree/master/tccr.io/truecharts/redis +redis: + enabled: true + existingSecret: "rediscreds" + +resources: + limits: {} + # limits: + # cpu: "4.00" + # memory: 125Mi + requests: {} + # requests: + # cpu: "0.25" + # memory: 50Mi + +envFrom: + - configMapRef: + name: authelia-paths + +# probes: +# liveness: +# type: HTTP +# path: /api/health" + +# readiness: +# type: HTTP +# path: "/api/health" + +# startup: +# type: HTTP +# path: "/api/health" + +domain: example.com + +## +## Server Configuration +## +server: + ## + ## Port sets the configured port for the daemon, service, and the probes. + ## Default is 9091 and should not need to be changed. + ## + port: 9091 + + ## Buffers usually should be configured to be the same value. + ## Explanation at https://www.authelia.com/docs/configuration/server.html + ## Read buffer size adjusts the server's max incoming request size in bytes. + ## Write buffer size does the same for outgoing responses. + read_buffer_size: 4096 + write_buffer_size: 4096 + ## Set the single level path Authelia listens on. + ## Must be alphanumeric chars and should not contain any slashes. + path: "" + +log: + ## Level of verbosity for logs: info, debug, trace. + level: trace + + ## Format the logs are written as: json, text. + format: text + + ## TODO: Statefulness check should check if this is set, and the configMap should enable it. + ## File path where the logs will be written. If not set logs are written to stdout. + # file_path: /config/authelia.log + +## Default redirection URL +## +## If user tries to authenticate without any referer, Authelia does not know where to redirect the user to at the end +## of the authentication process. This parameter allows you to specify the default redirection URL Authelia will use +## in such a case. +## +## Note: this parameter is optional. If not provided, user won't be redirected upon successful authentication. +## Default is https://www. (value at the top of the values.yaml). +default_redirection_url: "" +# default_redirection_url: https://example.com + +theme: light + +## +## TOTP Configuration +## +## Parameters used for TOTP generation +totp: + ## The issuer name displayed in the Authenticator application of your choice + ## See: https://github.com/google/google-authenticator/wiki/Key-Uri-Format for more info on issuer names + ## Defaults to . + issuer: "" + ## The period in seconds a one-time password is current for. Changing this will require all users to register + ## their TOTP applications again. Warning: before changing period read the docs link below. + period: 30 + ## The skew controls number of one-time passwords either side of the current one that are valid. + ## Warning: before changing skew read the docs link below. + ## See: https://www.authelia.com/docs/configuration/one-time-password.html#period-and-skew to read the documentation. + skew: 1 + +## +## Duo Push API Configuration +## +## Parameters used to contact the Duo API. Those are generated when you protect an application of type +## "Partner Auth API" in the management panel. +duo_api: + enabled: false + hostname: api-123456789.example.com + integration_key: ABCDEF + plain_api_key: "" + +## +## Authentication Backend Provider Configuration +## +## Used for verifying user passwords and retrieve information such as email address and groups users belong to. +## +## The available providers are: `file`, `ldap`. You must use one and only one of these providers. +authentication_backend: + ## Disable both the HTML element and the API for reset password functionality + disable_reset_password: false + + ## The amount of time to wait before we refresh data from the authentication backend. Uses duration notation. + ## To disable this feature set it to 'disable', this will slightly reduce security because for Authelia, users will + ## always belong to groups they belonged to at the time of login even if they have been removed from them in LDAP. + ## To force update on every request you can set this to '0' or 'always', this will increase processor demand. + ## See the below documentation for more information. + ## Duration Notation docs: https://www.authelia.com/docs/configuration/index.html#duration-notation-format + ## Refresh Interval docs: https://www.authelia.com/docs/configuration/authentication/ldap.html#refresh-interval + refresh_interval: 5m + + ## LDAP backend configuration. + ## + ## This backend allows Authelia to be scaled to more + ## than one instance and therefore is recommended for + ## production. + ldap: + ## Enable LDAP Backend. + enabled: false + + ## The LDAP implementation, this affects elements like the attribute utilised for resetting a password. + ## Acceptable options are as follows: + ## - 'activedirectory' - For Microsoft Active Directory. + ## - 'custom' - For custom specifications of attributes and filters. + ## This currently defaults to 'custom' to maintain existing behaviour. + ## + ## Depending on the option here certain other values in this section have a default value, notably all of the + ## attribute mappings have a default value that this config overrides, you can read more about these default values + ## at https://www.authelia.com/docs/configuration/authentication/ldap.html#defaults + implementation: activedirectory + + ## The url to the ldap server. Format: ://
[:]. + ## Scheme can be ldap or ldaps in the format (port optional). + url: ldap://openldap.default.svc.cluster.local + + ## Connection Timeout. + timeout: 5s + + ## Use StartTLS with the LDAP connection. + start_tls: false + + tls: + ## Server Name for certificate validation (in case it's not set correctly in the URL). + server_name: "" + + ## Skip verifying the server certificate (to allow a self-signed certificate). + ## In preference to setting this we strongly recommend you add the public portion of the certificate to the + ## certificates directory which is defined by the `certificates_directory` option at the top of the config. + skip_verify: false + + ## Minimum TLS version for either Secure LDAP or LDAP StartTLS. + minimum_version: TLS1.2 + + ## The base dn for every LDAP query. + base_dn: DC=example,DC=com + + ## The attribute holding the username of the user. This attribute is used to populate the username in the session + ## information. It was introduced due to #561 to handle case insensitive search queries. For you information, + ## Microsoft Active Directory usually uses 'sAMAccountName' and OpenLDAP usually uses 'uid'. Beware that this + ## attribute holds the unique identifiers for the users binding the user and the configuration stored in database. + ## Therefore only single value attributes are allowed and the value must never be changed once attributed to a user + ## otherwise it would break the configuration for that user. Technically, non-unique attributes like 'mail' can also + ## be used but we don't recommend using them, we instead advise to use the attributes mentioned above + ## (sAMAccountName and uid) to follow https://www.ietf.org/rfc/rfc2307.txt. + username_attribute: "" + + ## An additional dn to define the scope to all users. + additional_users_dn: OU=Users + + ## The users filter used in search queries to find the user profile based on input filled in login form. + ## Various placeholders are available in the user filter: + ## - {input} is a placeholder replaced by what the user inputs in the login form. + ## - {username_attribute} is a mandatory placeholder replaced by what is configured in `username_attribute`. + ## - {mail_attribute} is a placeholder replaced by what is configured in `mail_attribute`. + ## - DON'T USE - {0} is an alias for {input} supported for backward compatibility but it will be deprecated in later + ## versions, so please don't use it. + ## + ## Recommended settings are as follows: + ## - Microsoft Active Directory: (&({username_attribute}={input})(objectCategory=person)(objectClass=user)) + ## - OpenLDAP: + ## - (&({username_attribute}={input})(objectClass=person)) + ## - (&({username_attribute}={input})(objectClass=inetOrgPerson)) + ## + ## To allow sign in both with username and email, one can use a filter like + ## (&(|({username_attribute}={input})({mail_attribute}={input}))(objectClass=person)) + users_filter: "" + + ## An additional dn to define the scope of groups. + additional_groups_dn: OU=Groups + + ## The groups filter used in search queries to find the groups of the user. + ## - {input} is a placeholder replaced by what the user inputs in the login form. + ## - {username} is a placeholder replace by the username stored in LDAP (based on `username_attribute`). + ## - {dn} is a matcher replaced by the user distinguished name, aka, user DN. + ## - {username_attribute} is a placeholder replaced by what is configured in `username_attribute`. + ## - {mail_attribute} is a placeholder replaced by what is configured in `mail_attribute`. + ## - DON'T USE - {0} is an alias for {input} supported for backward compatibility but it will be deprecated in later + ## versions, so please don't use it. + ## - DON'T USE - {1} is an alias for {username} supported for backward compatibility but it will be deprecated in + ## later version, so please don't use it. + ## + ## If your groups use the `groupOfUniqueNames` structure use this instead: + ## (&(uniquemember={dn})(objectclass=groupOfUniqueNames)) + groups_filter: "" + + ## The attribute holding the name of the group + group_name_attribute: "" + + ## The attribute holding the mail address of the user. If multiple email addresses are defined for a user, only the + ## first one returned by the LDAP server is used. + mail_attribute: "" + + ## The attribute holding the display name of the user. This will be used to greet an authenticated user. + display_name_attribute: "" + + ## The username of the admin user. + user: CN=Authelia,DC=example,DC=com + plain_password: "" + + ## + ## File (Authentication Provider) + ## + ## With this backend, the users database is stored in a file which is updated when users reset their passwords. + ## Therefore, this backend is meant to be used in a dev environment and not in production since it prevents Authelia + ## to be scaled to more than one instance. The options under 'password' have sane defaults, and as it has security + ## implications it is highly recommended you leave the default values. Before considering changing these settings + ## please read the docs page below: + ## https://www.authelia.com/docs/configuration/authentication/file.html#password-hash-algorithm-tuning + ## + ## Important: Kubernetes (or HA) users must read https://www.authelia.com/docs/features/statelessness.html + ## + file: + enabled: true + path: /config/users_database.yml + password: + algorithm: argon2id + iterations: 1 + key_length: 32 + salt_length: 16 + memory: 1024 + parallelism: 8 + +## +## Access Control Configuration +## +## Access control is a list of rules defining the authorizations applied for one resource to users or group of users. +## +## If 'access_control' is not defined, ACL rules are disabled and the 'bypass' rule is applied, i.e., access is allowed +## to anyone. Otherwise restrictions follow the rules defined. +## +## Note: One can use the wildcard * to match any subdomain. +## It must stand at the beginning of the pattern. (example: *.mydomain.com) +## +## Note: You must put patterns containing wildcards between simple quotes for the YAML to be syntactically correct. +## +## Definition: A 'rule' is an object with the following keys: 'domain', 'subject', 'policy' and 'resources'. +## +## - 'domain' defines which domain or set of domains the rule applies to. +## +## - 'subject' defines the subject to apply authorizations to. This parameter is optional and matching any user if not +## provided. If provided, the parameter represents either a user or a group. It should be of the form +## 'user:' or 'group:'. +## +## - 'policy' is the policy to apply to resources. It must be either 'bypass', 'one_factor', 'two_factor' or 'deny'. +## +## - 'resources' is a list of regular expressions that matches a set of resources to apply the policy to. This parameter +## is optional and matches any resource if not provided. +## +## Note: the order of the rules is important. The first policy matching (domain, resource, subject) applies. +access_control: + ## Default policy can either be 'bypass', 'one_factor', 'two_factor' or 'deny'. It is the policy applied to any + ## resource if there is no policy to be applied to the user. + default_policy: deny + + networks: [] + # networks: + # - name: private + # networks: + # - 10.0.0.0/8 + # - 172.16.0.0/12 + # - 192.168.0.0/16 + # - name: vpn + # networks: + # - 10.9.0.0/16 + + rules: [] + # rules: + # - domain: public.example.com + # policy: bypass + # - domain: "*.example.com" + # policy: bypass + # methods: + # - OPTIONS + # - domain: secure.example.com + # policy: one_factor + # networks: + # - private + # - vpn + # - 192.168.1.0/24 + # - 10.0.0.1 + # - domain: + # - secure.example.com + # - private.example.com + # policy: two_factor + # - domain: singlefactor.example.com + # policy: one_factor + # - domain: "mx2.mail.example.com" + # subject: "group:admins" + # policy: deny + # - domain: "*.example.com" + # subject: + # - "group:admins" + # - "group:moderators" + # policy: two_factor + # - domain: dev.example.com + # resources: + # - "^/groups/dev/.*$" + # subject: "group:dev" + # policy: two_factor + # - domain: dev.example.com + # resources: + # - "^/users/john/.*$" + # subject: + # - ["group:dev", "user:john"] + # - "group:admins" + # policy: two_factor + # - domain: "{user}.example.com" + # policy: bypass + +## +## Session Provider Configuration +## +## The session cookies identify the user once logged in. +## The available providers are: `memory`, `redis`. Memory is the provider unless redis is defined. +session: + ## The name of the session cookie. (default: authelia_session). + name: authelia_session + + ## Sets the Cookie SameSite value. Possible options are none, lax, or strict. + ## Please read https://www.authelia.com/docs/configuration/session.html#same_site + same_site: lax + + ## The time in seconds before the cookie expires and session is reset. + expiration: 1h + + ## The inactivity time in seconds before the session is reset. + inactivity: 5m + + ## The remember me duration. + ## Value is in seconds, or duration notation. Value of 0 disables remember me. + ## See: https://www.authelia.com/docs/configuration/index.html#duration-notation-format + ## Longer periods are considered less secure because a stolen cookie will last longer giving attackers more time to + ## spy or attack. Currently the default is 1M or 1 month. + remember_me_duration: 1M + +## +## Redis Provider +## +## Important: Kubernetes (or HA) users must read https://www.authelia.com/docs/features/statelessness.html +## +## The redis connection details +redisProvider: + port: 6379 + + ## Optional username to be used with authentication. + # username: authelia + username: "" + + ## This is the Redis DB Index https://redis.io/commands/select (sometimes referred to as database number, DB, etc). + database_index: 0 + + ## The maximum number of concurrent active connections to Redis. + maximum_active_connections: 8 + + ## The target number of idle connections to have open ready for work. Useful when opening connections is slow. + minimum_idle_connections: 0 + + ## The Redis TLS configuration. If defined will require a TLS connection to the Redis instance(s). + tls: + enabled: false + + ## Server Name for certificate validation (in case you are using the IP or non-FQDN in the host option). + server_name: "" + + ## Skip verifying the server certificate (to allow a self-signed certificate). + ## In preference to setting this we strongly recommend you add the public portion of the certificate to the + ## certificates directory which is defined by the `certificates_directory` option at the top of the config. + skip_verify: false + + ## Minimum TLS version for the connection. + minimum_version: TLS1.2 + + ## The Redis HA configuration options. + ## This provides specific options to Redis Sentinel, sentinel_name must be defined (Master Name). + high_availability: + enabled: false + enabledSecret: false + ## Sentinel Name / Master Name + sentinel_name: mysentinel + + ## The additional nodes to pre-seed the redis provider with (for sentinel). + ## If the host in the above section is defined, it will be combined with this list to connect to sentinel. + ## For high availability to be used you must have either defined; the host above or at least one node below. + nodes: [] + # nodes: + # - host: sentinel-0.databases.svc.cluster.local + # port: 26379 + # - host: sentinel-1.databases.svc.cluster.local + # port: 26379 + + ## Choose the host with the lowest latency. + route_by_latency: false + + ## Choose the host randomly. + route_randomly: false + +## +## Regulation Configuration +## +## This mechanism prevents attackers from brute forcing the first factor. It bans the user if too many attempts are done +## in a short period of time. +regulation: + ## The number of failed login attempts before user is banned. Set it to 0 to disable regulation. + max_retries: 3 + + ## The time range during which the user can attempt login before being banned. The user is banned if the + ## authentication failed 'max_retries' times in a 'find_time' seconds window. Find Time accepts duration notation. + ## See: https://www.authelia.com/docs/configuration/index.html#duration-notation-format + find_time: 2m + + ## The length of time before a banned user can login again. Ban Time accepts duration notation. + ## See: https://www.authelia.com/docs/configuration/index.html#duration-notation-format + ban_time: 5m + +## +## Storage Provider Configuration +## +## The available providers are: `local`, `mysql`, `postgres`. You must use one and only one of these providers. +storage: + ## + ## PostgreSQL (Storage Provider) + ## + postgres: + port: 5432 + database: authelia + username: authelia + sslmode: disable + timeout: 5s + +## +## Notification Provider +## +## +## Notifications are sent to users when they require a password reset, a u2f registration or a TOTP registration. +## The available providers are: filesystem, smtp. You must use one and only one of these providers. +notifier: + ## You can disable the notifier startup check by setting this to true. + disable_startup_check: false + + ## + ## File System (Notification Provider) + ## + ## Important: Kubernetes (or HA) users must read https://www.authelia.com/docs/features/statelessness.html + ## + filesystem: + enabled: true + filename: /config/notification.txt + + ## + ## SMTP (Notification Provider) + ## + ## Use a SMTP server for sending notifications. Authelia uses the PLAIN or LOGIN methods to authenticate. + ## [Security] By default Authelia will: + ## - force all SMTP connections over TLS including unauthenticated connections + ## - use the disable_require_tls boolean value to disable this requirement + ## (only works for unauthenticated connections) + ## - validate the SMTP server x509 certificate during the TLS handshake against the hosts trusted certificates + ## (configure in tls section) + smtp: + enabled: false + enabledSecret: false + host: smtp.mail.svc.cluster.local + port: 25 + timeout: 5s + username: test + plain_password: test + sender: admin@example.com + ## HELO/EHLO Identifier. Some SMTP Servers may reject the default of localhost. + identifier: localhost + ## Subject configuration of the emails sent. + ## {title} is replaced by the text from the notifier + subject: "[Authelia] {title}" + ## This address is used during the startup check to verify the email configuration is correct. + ## It's not important what it is except if your email server only allows local delivery. + startup_check_address: test@authelia.com + disable_require_tls: false + disable_html_emails: false + + tls: + ## Server Name for certificate validation (in case you are using the IP or non-FQDN in the host option). + server_name: "" + + ## Skip verifying the server certificate (to allow a self-signed certificate). + ## In preference to setting this we strongly recommend you add the public portion of the certificate to the + ## certificates directory which is defined by the `certificates_directory` option at the top of the config. + skip_verify: false + + ## Minimum TLS version for either StartTLS or SMTPS. + minimum_version: TLS1.2 + +identity_providers: + oidc: + ## Enables this in the config map. Currently in beta stage. + ## See https://www.authelia.com/docs/configuration/identity-providers/oidc.html#roadmap + enabled: false + + access_token_lifespan: 1h + authorize_code_lifespan: 1m + id_token_lifespan: 1h + refresh_token_lifespan: 90m + + enable_client_debug_messages: false + + ## SECURITY NOTICE: It's not recommended changing this option, and highly discouraged to have it below 8 for + ## security reasons. + minimum_parameter_entropy: 8 + + clients: [] + # clients: + # - + ## The ID is the OpenID Connect ClientID which is used to link an application to a configuration. + # id: myapp + + ## The description to show to users when they end up on the consent screen. Defaults to the ID above. + # description: My Application + + ## The client secret is a shared secret between Authelia and the consumer of this client. + # secret: apple123 + + ## Sets the client to public. This should typically not be set, please see the documentation for usage. + # public: false + + ## The policy to require for this client; one_factor or two_factor. + # authorization_policy: two_factor + + ## Audience this client is allowed to request. + # audience: [] + + ## Scopes this client is allowed to request. + # scopes: + # - openid + # - profile + # - email + # - groups + + ## Redirect URI's specifies a list of valid case-sensitive callbacks for this client. + # redirect_uris: + # - https://oidc.example.com/oauth2/callback + + ## Grant Types configures which grants this client can obtain. + ## It's not recommended to configure this unless you know what you're doing. + # grant_types: + # - refresh_token + # - authorization_code + + ## Response Types configures which responses this client can be sent. + ## It's not recommended to configure this unless you know what you're doing. + # response_types: + # - code + + ## Response Modes configures which response modes this client supports. + ## It's not recommended to configure this unless you know what you're doing. + # response_modes: + # - form_post + # - query + # - fragment + + ## The algorithm used to sign userinfo endpoint responses for this client, either none or RS256. + # userinfo_signing_algorithm: none + +portal: + enabled: true diff --git a/stable/authelia/11.0.44/questions.yaml b/stable/authelia/11.0.44/questions.yaml new file mode 100644 index 00000000000..d39c2cc0ba2 --- /dev/null +++ b/stable/authelia/11.0.44/questions.yaml @@ -0,0 +1,3382 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: Controller + description: Configure Workload Deployment + - name: Container Configuration + description: Additional Container Configuration + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: global + label: Global Settings + group: Controller + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: Flag this is SCALE + schema: + type: boolean + default: true + hidden: true + - variable: controller + group: Controller + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: Show Advanced Controller Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: Please specify type of workload to deploy + label: (Advanced) Controller Type + schema: + type: string + required: true + enum: + - value: deployment + description: Deployment + - value: statefulset + description: Statefulset + - value: daemonset + description: Daemonset + default: deployment + - variable: replicas + description: Number of desired pod replicas + label: Desired Replicas + schema: + type: int + required: true + default: 1 + - variable: strategy + description: Please specify type of workload to deploy + label: (Advanced) Update Strategy + schema: + type: string + required: true + enum: + - value: Recreate + description: "Recreate: Kill existing pods before creating new ones" + - value: RollingUpdate + description: "RollingUpdate: Create new pods and then kill old ones" + - value: OnDelete + description: "(Legacy) OnDelete: ignore .spec.template changes" + default: Recreate + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Controller Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Controller Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: customextraargs + group: Controller + label: "Extra Args" + description: "Do not click this unless you know what you are doing" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + - variable: TZ + label: Timezone + group: Container Configuration + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - 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..." + group: Container Configuration + 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: expertpodconf + group: Container Configuration + label: Show Expert Configuration + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: tty + label: Enable TTY + description: Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: stdin + label: Enable STDIN + description: Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: termination + group: Container Configuration + label: Termination settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: gracePeriodSeconds + label: Grace Period Seconds + schema: + type: int + default: 10 + - variable: podLabelsList + group: Container Configuration + label: Pod Labels + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: podAnnotationsList + group: Container Configuration + label: Pod Annotations + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: domain + group: "App Configuration" + label: "Domain" + description: "The highest domain level possible, for example: domain.com when using app.domain.com" + schema: + type: string + default: "" + required: true + - variable: default_redirection_url + group: "App Configuration" + label: "Default Redirection Url" + description: "If user tries to authenticate without any referer, this is used" + schema: + type: string + default: "" + - variable: theme + group: "App Configuration" + label: "Theme" + schema: + type: string + default: "light" + enum: + - value: "light" + description: "info" + - value: "grey" + description: "grey" + - value: "dark" + description: "dark" + - variable: log + group: "App Configuration" + label: "Log Configuration " + schema: + additional_attrs: true + type: dict + attrs: + - variable: level + label: "Log Level" + schema: + type: string + default: "info" + enum: + - value: "info" + description: "info" + - value: "debug" + description: "debug" + - value: "trace" + description: "trace" + - variable: format + label: "Log Format" + schema: + type: string + default: "text" + enum: + - value: "json" + description: "json" + - value: "text" + description: "text" + - variable: totp + group: "App Configuration" + label: "TOTP Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: issuer + label: "Issuer" + description: "The issuer name displayed in the Authenticator application of your choice" + schema: + type: string + default: "" + - variable: period + label: "Period" + description: "The period in seconds a one-time password is current for" + schema: + type: int + default: 30 + - variable: skew + label: "skew" + description: "Controls number of one-time passwords either side of the current one that are valid." + schema: + type: int + default: 1 + - variable: duo_api + group: "App Configuration" + label: "DUO API Configuration" + description: "Parameters used to contact the Duo API." + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostname + label: "Hostname" + schema: + type: string + required: true + default: "" + - variable: integration_key + label: "integration_key" + schema: + type: string + default: "" + required: true + - variable: plain_api_key + label: "plain_api_key" + schema: + type: string + default: "" + required: true + - variable: session + group: "App Configuration" + label: "Session Provider" + description: "The session cookies identify the user once logged in." + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: "Cookie Name" + description: "The name of the session cookie." + schema: + type: string + required: true + default: "authelia_session" + - variable: same_site + label: "SameSite Value" + description: "Sets the Cookie SameSite value" + schema: + type: string + default: "lax" + enum: + - value: "lax" + description: "lax" + - value: "strict" + description: "strict" + - variable: expiration + label: "Expiration Time" + description: "The time in seconds before the cookie expires and session is reset." + schema: + type: string + default: "1h" + required: true + - variable: inactivity + label: "Inactivity Time" + description: "The inactivity time in seconds before the session is reset." + schema: + type: string + default: "5m" + required: true + - variable: inactivity + label: "Remember-Me duration" + description: "The remember me duration" + schema: + type: string + default: "5M" + required: true + - variable: regulation + group: "App Configuration" + label: "Regulation Configuration" + description: "his mechanism prevents attackers from brute forcing the first factor." + schema: + additional_attrs: true + type: dict + attrs: + - variable: max_retries + label: "Maximum Retries" + description: "The number of failed login attempts before user is banned. Set it to 0 to disable regulation." + schema: + type: int + default: 3 + - variable: find_time + label: "Find Time" + description: "The time range during which the user can attempt login before being banned." + schema: + type: string + default: "2m" + required: true + - variable: ban_time + label: "Ban Duration" + description: "The length of time before a banned user can login again" + schema: + type: string + default: "5m" + required: true + - variable: authentication_backend + group: "App Configuration" + label: "Authentication Backend Provider" + description: "sed for verifying user passwords and retrieve information such as email address and groups users belong to." + schema: + additional_attrs: true + type: dict + attrs: + - variable: disable_reset_password + label: "Disable Reset Password" + description: "Disable both the HTML element and the API for reset password functionality" + schema: + type: boolean + default: false + - variable: refresh_interval + label: "Reset Interval" + description: "The amount of time to wait before we refresh data from the authentication backend" + schema: + type: string + default: "5m" + required: true + - variable: ldap + label: "LDAP backend configuration" + description: "Used for verifying user passwords and retrieve information such as email address and groups users belong to" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: implementation + label: "Implementation" + description: "The LDAP implementation, this affects elements like the attribute utilised for resetting a password" + schema: + type: string + default: "custom" + enum: + - value: "activedirectory" + description: "activedirectory" + - value: "custom" + description: "custom" + - variable: url + label: "URL" + description: "The url to the ldap server. Format: ://
[:]" + schema: + type: string + default: "ldap://openldap.default.svc.cluster.local" + required: true + - variable: timeout + label: "Connection Timeout" + schema: + type: string + default: "5s" + required: true + - variable: start_tls + label: "Start TLS" + description: "Use StartTLS with the LDAP connection" + schema: + type: boolean + default: false + - variable: tls + label: "TLS Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: server_name + label: "Server Name" + description: "Server Name for certificate validation (in case it's not set correctly in the URL)." + schema: + type: string + default: "" + - variable: skip_verify + label: "Skip Certificate Verification" + description: "Skip verifying the server certificate (to allow a self-signed certificate)" + schema: + type: boolean + default: false + - variable: minimum_version + label: "Minimum TLS version" + description: "Minimum TLS version for either Secure LDAP or LDAP StartTLS." + schema: + type: string + default: "TLS1.2" + enum: + - value: "TLS1.0" + description: "TLS1.0" + - value: "TLS1.1" + description: "TLS1.1" + - value: "TLS1.2" + description: "TLS1.2" + - value: "TLS1.3" + description: "TLS1.3" + - variable: base_dn + label: "Base DN" + description: "The base dn for every LDAP query." + schema: + type: string + default: "DC=example,DC=com" + required: true + - variable: username_attribute + label: "Username Attribute" + description: "The attribute holding the username of the user" + schema: + type: string + default: "" + required: true + - variable: additional_users_dn + label: "Additional Users DN" + description: "An additional dn to define the scope to all users." + schema: + type: string + default: "OU=Users" + required: true + - variable: users_filter + label: "Users Filter" + description: "The groups filter used in search queries to find the groups of the user." + schema: + type: string + default: "" + required: true + - variable: additional_groups_dn + label: "Additional Groups DN" + description: "An additional dn to define the scope of groups." + schema: + type: string + default: "OU=Groups" + required: true + - variable: groups_filter + label: "Groups Filter" + description: "The groups filter used in search queries to find the groups of the user." + schema: + type: string + default: "" + required: true + - variable: group_name_attribute + label: "Group name Attribute" + description: "The attribute holding the name of the group" + schema: + type: string + default: "" + required: true + - variable: mail_attribute + label: "Mail Attribute" + description: "The attribute holding the primary mail address of the user" + schema: + type: string + default: "" + required: true + - variable: display_name_attribute + label: "Display Name Attribute" + description: "he attribute holding the display name of the user. This will be used to greet an authenticated user." + schema: + type: string + default: "" + - variable: user + label: "Admin User" + description: "The username of the admin user used to connect to LDAP." + schema: + type: string + default: "CN=Authelia,DC=example,DC=com" + required: true + - variable: plain_password + label: "Password" + schema: + type: string + default: "" + required: true + - variable: file + label: "File backend configuration" + description: "With this backend, the users database is stored in a file which is updated when users reset their passwords." + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: path + label: "Path" + schema: + type: string + default: "/config/users_database.yml" + required: true + - variable: password + label: "Password Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: algorithm + label: "Algorithm" + schema: + type: string + default: "argon2id" + enum: + - value: "argon2id" + description: "argon2id" + - value: "sha512" + description: "sha512" + - variable: iterations + label: "Iterations" + schema: + type: int + default: 1 + required: true + - variable: key_length + label: "Key Length" + schema: + type: int + default: 32 + required: true + - variable: salt_length + label: "Salt Length" + schema: + type: int + default: 16 + required: true + - variable: memory + label: "Memory" + schema: + type: int + default: 1024 + required: true + - variable: parallelism + label: "Parallelism" + schema: + type: int + default: 8 + required: true + - variable: notifier + group: "App Configuration" + label: "Notifier Configuration" + description: "otifications are sent to users when they require a password reset, a u2f registration or a TOTP registration." + schema: + additional_attrs: true + type: dict + attrs: + - variable: disable_startup_check + label: "Disable Startup Check" + schema: + type: boolean + default: false + - variable: filesystem + label: "Filesystem Provider" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: filename + label: "File Path" + schema: + type: string + default: "/config/notification.txt" + required: true + - variable: smtp + label: "SMTP Provider" + description: "Use a SMTP server for sending notifications. Authelia uses the PLAIN or LOGIN methods to authenticate." + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: true + show_subquestions_if: true + subquestions: + - variable: host + label: "Host" + schema: + type: string + default: "smtp.mail.svc.cluster.local" + required: true + - variable: port + label: "Port" + schema: + type: int + default: 25 + required: true + - variable: timeout + label: "Timeout" + schema: + type: string + default: "5s" + required: true + - variable: username + label: "Username" + schema: + type: string + default: "" + required: true + - variable: plain_password + label: "Password" + schema: + type: string + default: "" + required: true + - variable: sender + label: "Sender" + schema: + type: string + default: "" + required: true + - variable: identifier + label: "Identifier" + description: "HELO/EHLO Identifier. Some SMTP Servers may reject the default of localhost." + schema: + type: string + default: "localhost" + required: true + - variable: subject + label: "Subject" + description: "Subject configuration of the emails sent, {title} is replaced by the text from the notifier" + schema: + type: string + default: "[Authelia] {title}" + required: true + - variable: startup_check_address + label: "Startup Check Address" + description: "This address is used during the startup check to verify the email configuration is correct." + schema: + type: string + default: "test@authelia.com" + required: true + - variable: disable_require_tls + label: "Disable Require TLS" + schema: + type: boolean + default: false + - variable: disable_html_emails + label: "Disable HTML emails" + schema: + type: boolean + default: false + - variable: tls + label: "TLS Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: server_name + label: "Server Name" + description: "Server Name for certificate validation (in case it's not set correctly in the URL)." + schema: + type: string + default: "" + - variable: skip_verify + label: "Skip Certificate Verification" + description: "Skip verifying the server certificate (to allow a self-signed certificate)" + schema: + type: boolean + default: false + - variable: minimum_version + label: "Minimum TLS version" + description: "Minimum TLS version for either Secure LDAP or LDAP StartTLS." + schema: + type: string + default: "TLS1.2" + enum: + - value: "TLS1.0" + description: "TLS1.0" + - value: "TLS1.1" + description: "TLS1.1" + - value: "TLS1.2" + description: "TLS1.2" + - value: "TLS1.3" + description: "TLS1.3" + - variable: access_control + group: "App Configuration" + label: "Access Control Configuration" + description: "Access control is a list of rules defining the authorizations applied for one resource to users or group of users." + schema: + additional_attrs: true + type: dict + attrs: + - variable: default_policy + label: "Default Policy" + description: "Default policy can either be 'bypass', 'one_factor', 'two_factor' or 'deny'." + schema: + type: string + default: "two_factor" + enum: + - value: "bypass" + description: "bypass" + - value: "one_factor" + description: "one_factor" + - value: "two_factor" + description: "two_factor" + - value: "deny" + description: "deny" + - variable: networks + label: "Networks" + schema: + type: list + default: [] + items: + - variable: networkItem + label: "Network Item" + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: networks + label: "Networks" + schema: + type: list + default: [] + items: + - variable: network + label: "network" + schema: + type: string + default: "" + required: true + - variable: rules + label: "Rules" + schema: + type: list + default: [] + items: + - variable: rulesItem + label: "Rule" + schema: + additional_attrs: true + type: dict + attrs: + - variable: domain + label: "Domains" + description: "defines which domain or set of domains the rule applies to." + schema: + type: list + default: [] + items: + - variable: domainEntry + label: "Domain" + schema: + type: string + default: "" + required: true + - variable: policy + label: "Policy" + description: "The policy to apply to resources. It must be either 'bypass', 'one_factor', 'two_factor' or 'deny'." + schema: + type: string + default: "two_factor" + enum: + - value: "bypass" + description: "bypass" + - value: "one_factor" + description: "one_factor" + - value: "two_factor" + description: "two_factor" + - value: "deny" + description: "deny" + - variable: subject + label: "Subject" + description: "defines the subject to apply authorizations to. This parameter is optional and matching any user if not provided" + schema: + type: list + default: [] + items: + - variable: subjectitem + label: "Subject" + schema: + type: string + default: "" + required: true + - variable: networks + label: "Networks" + schema: + type: list + default: [] + items: + - variable: network + label: "Network" + schema: + type: string + default: "" + required: true + - variable: resources + label: "Resources" + description: "is a list of regular expressions that matches a set of resources to apply the policy to" + schema: + type: list + default: [] + items: + - variable: resource + label: "Resource" + schema: + type: string + default: "" + required: true + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: ClusterIP + description: ClusterIP + - value: NodePort + description: NodePort (Advanced) + - value: LoadBalancer + description: LoadBalancer (Advanced) + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: (Advanced) Specify the IP Policy + schema: + show_if: [["type", "!=", "Simple"]] + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: (Advanced) IP Families + description: (Advanced) The IP Families that should be used + schema: + show_if: [["type", "!=", "Simple"]] + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - 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: 9091 + required: true + - variable: advanced + label: Show Advanced Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: Enable the Port + schema: + type: boolean + hidden: true + default: true + - variable: protocol + label: Port Type + schema: + type: string + default: HTTP + enum: + - value: HTTP + description: HTTP + - value: HTTPS + description: HTTPS + - value: TCP + description: TCP + - value: UDP + description: UDP + - variable: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 9091 + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: Networking and Services + label: Host-Networking (Complicated) + schema: + type: boolean + default: false + - variable: externalInterfaces + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + 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: + 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 + show_subquestions_if: static + subquestions: + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + 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: dnsPolicy + group: Networking and Services + label: dnsPolicy + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ClusterFirst + description: ClusterFirst + - value: ClusterFirstWithHostNet + description: ClusterFirstWithHostNet + - value: None + description: None + - variable: dnsConfig + label: DNS Configuration + group: Networking and Services + description: Specify custom DNS configuration which will be applied to the pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: nameservers + label: Name Servers + schema: + default: [] + type: list + items: + - variable: nameserver + label: Name Server + schema: + type: string + - variable: options + label: Options + schema: + default: [] + type: list + items: + - variable: option + label: Option Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: searches + label: Searches + schema: + default: [] + type: list + items: + - variable: search + label: Search Entry + schema: + type: string + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + 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: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort + schema: + type: int + min: 9000 + max: 65535 + - 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: simplePVC + enum: + - value: simplePVC + description: PVC (simple) + - value: simpleHP + description: Host Path (simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: false + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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 + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 999Gi + - variable: hostPathType + label: (Advanced) hostPath Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) storageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: name + label: Name (Optional) + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: simpleHP + enum: + - value: simplePVC + description: PVC (Simple) + - value: simpleHP + description: Host Path (Simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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: 999Gi + - variable: hostPathType + label: (Advanced) Host Path Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) StorageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: [] + 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: tls + label: TLS-Settings + schema: + type: list + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: These middlewares enforce a number of best practices. + label: Enable Default Middlewares + schema: + type: boolean + default: true + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: service + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: security + label: Container Security Settings + group: Security and Permissions + schema: + type: dict + additional_attrs: true + attrs: + - variable: editsecurity + label: Change PUID / UMASK values + description: By enabling this you override default set values. + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - 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 + 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: "002" + - variable: advancedSecurity + label: Show Advanced Security Settings + group: Security and Permissions + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: true + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: capabilities + label: Capabilities + schema: + additional_attrs: true + type: dict + attrs: + - variable: drop + label: Drop Capability + schema: + type: list + default: [] + items: + - variable: dropEntry + label: "" + schema: + type: string + - variable: add + label: Add Capability + schema: + type: list + default: [] + items: + - variable: addEntry + label: "" + schema: + type: string + - variable: podSecurityContext + group: Security and Permissions + label: Pod Security Context + schema: + additional_attrs: true + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - 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 + + - variable: advancedresources + label: Set Custom Resource Limits/Requests (Advanced) + group: Resources and Devices + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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 + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 10m + 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/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 50Mi + 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: hostPath + 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" + # Specify GPU configuration + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] +# - variable: autoscaling +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - 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: +# additional_attrs: true +# type: dict +# attrs: +# - 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: 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: openvpn + description: OpenVPN + - value: wireguard + description: Wireguard + - value: tailscale + description: Tailscale + - variable: openvpn + label: OpenVPN Settings + schema: + 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 + default: "" + required: true + - variable: tailscale + label: Tailscale Settings + schema: + 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: 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: Sock5 Server + 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: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type + schema: + type: string + default: hostPath + hidden: true + - variable: hostPathType + label: hostPathType + schema: + type: string + default: File + hidden: true + - variable: noMount + label: noMount + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: Full Path to File + description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + 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 + - 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: git + label: Git Settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: deployKey + description: Raw SSH Private Key + label: Deploy Key + schema: + type: string + - variable: deployKeyBase64 + description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence + label: Deploy Key Base64 + schema: + type: string + - variable: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: NodePort + enum: + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: nodePort + description: Leave Empty to Disable + label: "nodePort" + schema: + type: int + default: 36107 + - 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: promtail + label: Promtail + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: Loki URL + schema: + type: string + required: true + - variable: logs + label: Log Paths + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: path + label: Path + schema: + type: string + required: true + - variable: args + label: Promtail Command Line Arguments + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + required: true + - variable: envList + label: Promtail 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: 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/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDonate + label: I have considered donating + schema: + type: boolean + default: true + hidden: true + - variable: identity_providers + group: "Advanced" + label: "Authelia Identity Providers (BETA)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: oidc + label: "OpenID Connect(BETA)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: access_token_lifespan + label: "Access Token Lifespan" + schema: + type: string + default: "1h" + required: true + - variable: authorize_code_lifespan + label: "Authorize Code Lifespan" + schema: + type: string + default: "1m" + required: true + - variable: id_token_lifespan + label: "ID Token Lifespan" + schema: + type: string + default: "1h" + required: true + - variable: refresh_token_lifespan + label: "Refresh Token Lifespan" + schema: + type: string + default: "90m" + required: true + - variable: enable_client_debug_messages + label: "Enable Client Debug Messages" + schema: + type: boolean + default: false + - variable: clients + label: "Clients" + schema: + type: list + default: [] + items: + - variable: clientEntry + label: "Client" + schema: + additional_attrs: true + type: dict + attrs: + - variable: id + label: "ID/Name" + description: "The ID is the OpenID Connect ClientID which is used to link an application to a configuration." + schema: + type: string + default: "myapp" + required: true + - variable: description + label: "Description" + description: "The description to show to users when they end up on the consent screen. Defaults to the ID above." + schema: + type: string + default: "My Application" + required: true + - variable: secret + label: "Secret" + description: "The client secret is a shared secret between Authelia and the consumer of this client." + schema: + type: string + default: "" + required: true + - variable: public + label: "public" + description: "Sets the client to public. This should typically not be set, please see the documentation for usage." + schema: + type: boolean + default: false + - variable: authorization_policy + label: "Authorization Policy" + description: "The policy to require for this client; one_factor or two_factor." + schema: + type: string + default: "two_factor" + enum: + - value: "one_factor" + description: "one_factor" + - value: "two_factor" + description: "two_factor" + - variable: userinfo_signing_algorithm + label: "Userinfo Signing Algorithm" + description: "The algorithm used to sign userinfo endpoint responses for this client, either none or RS256." + schema: + type: string + default: "none" + enum: + - value: "none" + description: "none" + - value: "RS256" + description: "RS256" + - variable: audience + label: "Audience" + description: "Audience this client is allowed to request." + schema: + type: list + default: [] + items: + - variable: audienceEntry + label: "" + schema: + type: string + default: "" + required: true + - variable: scopes + label: "Scopes" + description: "Scopes this client is allowed to request." + schema: + type: list + default: [] + items: + - variable: ScopeEntry + label: "Scope" + schema: + type: string + default: "openid" + required: true + - variable: redirect_uris + label: "redirect_uris" + description: "Redirect URI's specifies a list of valid case-sensitive callbacks for this client." + schema: + type: list + default: [] + items: + - variable: uriEntry + label: "Url" + schema: + type: string + default: "https://oidc.example.com/oauth2/callback" + required: true + - variable: grant_types + description: "Grant Types configures which grants this client can obtain." + label: "grant_types" + schema: + type: list + default: [] + items: + - variable: grantEntry + label: "Grant" + schema: + type: string + default: "refresh_token" + required: true + - variable: response_types + description: "Response Types configures which responses this client can be sent." + label: "response_types" + schema: + type: list + default: [] + items: + - variable: responseEntry + label: "type" + schema: + type: string + default: "code" + required: true + - variable: response_modes + description: "Response Modes configures which response modes this client supports." + label: "response_modes" + schema: + type: list + default: [] + items: + - variable: modeEntry + label: "Mode" + schema: + type: string + default: "form_post" + required: true diff --git a/stable/authelia/11.0.44/templates/_configmap.tpl b/stable/authelia/11.0.44/templates/_configmap.tpl new file mode 100644 index 00000000000..57d75320032 --- /dev/null +++ b/stable/authelia/11.0.44/templates/_configmap.tpl @@ -0,0 +1,248 @@ +{{/* Define the configmap */}} +{{- define "authelia.configmap" -}} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: authelia-paths +data: + AUTHELIA_SERVER_DISABLE_HEALTHCHECK: "true" + AUTHELIA_JWT_SECRET_FILE: "/secrets/JWT_TOKEN" + AUTHELIA_SESSION_SECRET_FILE: "/secrets/SESSION_ENCRYPTION_KEY" + AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE: "/secrets/ENCRYPTION_KEY" + AUTHELIA_STORAGE_POSTGRES_PASSWORD_FILE: "/secrets/STORAGE_PASSWORD" + {{- if .Values.authentication_backend.ldap.enabled }} + AUTHELIA_AUTHENTICATION_BACKEND_LDAP_PASSWORD_FILE: "/secrets/LDAP_PASSWORD" + {{- end }} + {{- if .Values.notifier.smtp.enabled }} + AUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE: "/secrets/SMTP_PASSWORD" + {{- end }} + AUTHELIA_SESSION_REDIS_PASSWORD_FILE: "/secrets/REDIS_PASSWORD" + {{- if .Values.redisProvider.high_availability.enabled }} + AUTHELIA_SESSION_REDIS_HIGH_AVAILABILITY_SENTINEL_PASSWORD_FILE: "/secrets/REDIS_SENTINEL_PASSWORD" + {{- end }} + {{- if .Values.duo_api.enabled }} + AUTHELIA_DUO_API_SECRET_KEY_FILE: "/secrets/DUO_API_KEY" + {{- end }} + {{- if .Values.identity_providers.oidc.enabled }} + AUTHELIA_IDENTITY_PROVIDERS_OIDC_HMAC_SECRET_FILE: "/secrets/OIDC_HMAC_SECRET" + AUTHELIA_IDENTITY_PROVIDERS_OIDC_ISSUER_PRIVATE_KEY_FILE: "/secrets/OIDC_PRIVATE_KEY" + {{- end }} + +--- + +apiVersion: v1 +kind: ConfigMap +metadata: + name: authelia-configfile +data: + configuration.yaml: | + --- + theme: {{ default "light" .Values.theme }} + default_redirection_url: {{ default (printf "https://www.%s" .Values.domain) .Values.default_redirection_url }} + server: + host: 0.0.0.0 + port: {{ default 9091 .Values.server.port }} + {{- if not (eq "" (default "" .Values.server.path)) }} + path: {{ .Values.server.path }} + {{- end }} + read_buffer_size: {{ default 4096 .Values.server.read_buffer_size }} + write_buffer_size: {{ default 4096 .Values.server.write_buffer_size }} + enable_pprof: {{ default false .Values.server.enable_pprof }} + enable_expvars: {{ default false .Values.server.enable_expvars }} + log: + level: {{ default "info" .Values.log.level }} + format: {{ default "text" .Values.log.format }} + {{- if not (eq "" (default "" .Values.log.file_path)) }} + file_path: {{ .Values.log.file_path }} + keep_stdout: true + {{- end }} + totp: + issuer: {{ default .Values.domain .Values.totp.issuer }} + period: {{ default 30 .Values.totp.period }} + skew: {{ default 1 .Values.totp.skew }} + {{- if .Values.duo_api.enabled }} + duo_api: + hostname: {{ .Values.duo_api.hostname }} + integration_key: {{ .Values.duo_api.integration_key }} + {{- end }} + {{- with $auth := .Values.authentication_backend }} + authentication_backend: + disable_reset_password: {{ $auth.disable_reset_password }} + {{- if $auth.file.enabled }} + file: + path: {{ $auth.file.path }} + password: {{ toYaml $auth.file.password | nindent 10 }} + {{- end }} + {{- if $auth.ldap.enabled }} + ldap: + implementation: {{ default "custom" $auth.ldap.implementation }} + url: {{ $auth.ldap.url }} + timeout: {{ default "5s" $auth.ldap.timeout }} + start_tls: {{ $auth.ldap.start_tls }} + tls: + {{- if hasKey $auth.ldap.tls "server_name" }} + server_name: {{ default $auth.ldap.host $auth.ldap.tls.server_name }} + {{- end }} + minimum_version: {{ default "TLS1.2" $auth.ldap.tls.minimum_version }} + skip_verify: {{ default false $auth.ldap.tls.skip_verify }} + {{- if $auth.ldap.base_dn }} + base_dn: {{ $auth.ldap.base_dn }} + {{- end }} + {{- if $auth.ldap.username_attribute }} + username_attribute: {{ $auth.ldap.username_attribute }} + {{- end }} + {{- if $auth.ldap.additional_users_dn }} + additional_users_dn: {{ $auth.ldap.additional_users_dn }} + {{- end }} + {{- if $auth.ldap.users_filter }} + users_filter: {{ $auth.ldap.users_filter }} + {{- end }} + {{- if $auth.ldap.additional_groups_dn }} + additional_groups_dn: {{ $auth.ldap.additional_groups_dn }} + {{- end }} + {{- if $auth.ldap.groups_filter }} + groups_filter: {{ $auth.ldap.groups_filter }} + {{- end }} + {{- if $auth.ldap.group_name_attribute }} + group_name_attribute: {{ $auth.ldap.group_name_attribute }} + {{- end }} + {{- if $auth.ldap.mail_attribute }} + mail_attribute: {{ $auth.ldap.mail_attribute }} + {{- end }} + {{- if $auth.ldap.display_name_attribute }} + display_name_attribute: {{ $auth.ldap.display_name_attribute }} + {{- end }} + user: {{ $auth.ldap.user }} + {{- end }} + {{- end }} + {{- with $session := .Values.session }} + session: + name: {{ default "authelia_session" $session.name }} + domain: {{ required "A valid .Values.domain entry required!" $.Values.domain }} + same_site: {{ default "lax" $session.same_site }} + expiration: {{ default "1M" $session.expiration }} + inactivity: {{ default "5m" $session.inactivity }} + remember_me_duration: {{ default "1M" $session.remember_me_duration }} + {{- end }} + redis: + host: {{ .Values.redis.url.plain }} + {{- with $redis := .Values.redisProvider }} + port: {{ default 6379 $redis.port }} + {{- if not (eq $redis.username "") }} + username: {{ $redis.username }} + {{- end }} + maximum_active_connections: {{ default 8 $redis.maximum_active_connections }} + minimum_idle_connections: {{ default 0 $redis.minimum_idle_connections }} + {{- if $redis.tls.enabled }} + tls: + server_name: {{ $redis.tls.server_name }} + minimum_version: {{ default "TLS1.2" $redis.tls.minimum_version }} + skip_verify: {{ $redis.tls.skip_verify }} + {{- end }} + {{- if $redis.high_availability.enabled }} + high_availability: + sentinel_name: {{ $redis.high_availability.sentinel_name }} + {{- if $redis.high_availability.nodes }} + nodes: {{ toYaml $redis.high_availability.nodes | nindent 10 }} + {{- end }} + route_by_latency: {{ $redis.high_availability.route_by_latency }} + route_randomly: {{ $redis.high_availability.route_randomly }} + {{- end }} + {{- end }} + regulation: {{ toYaml .Values.regulation | nindent 6 }} + storage: + postgres: + host: {{ printf "%v-%v" .Release.Name "postgresql" }} + {{- with $storage := .Values.storage }} + port: {{ default 5432 $storage.postgres.port }} + database: {{ default "authelia" $storage.postgres.database }} + username: {{ default "authelia" $storage.postgres.username }} + timeout: {{ default "5s" $storage.postgres.timeout }} + sslmode: {{ default "disable" $storage.postgres.sslmode }} + {{- end }} + {{- with $notifier := .Values.notifier }} + notifier: + disable_startup_check: {{ $.Values.notifier.disable_startup_check }} + {{- if $notifier.filesystem.enabled }} + filesystem: + filename: {{ $notifier.filesystem.filename }} + {{- end }} + {{- if $notifier.smtp.enabled }} + smtp: + host: {{ $notifier.smtp.host }} + port: {{ default 25 $notifier.smtp.port }} + timeout: {{ default "5s" $notifier.smtp.timeout }} + username: {{ $notifier.smtp.username }} + sender: {{ $notifier.smtp.sender }} + identifier: {{ $notifier.smtp.identifier }} + subject: {{ $notifier.smtp.subject | quote }} + startup_check_address: {{ $notifier.smtp.startup_check_address }} + disable_require_tls: {{ $notifier.smtp.disable_require_tls }} + disable_html_emails: {{ $notifier.smtp.disable_html_emails }} + tls: + server_name: {{ default $notifier.smtp.host $notifier.smtp.tls.server_name }} + minimum_version: {{ default "TLS1.2" $notifier.smtp.tls.minimum_version }} + skip_verify: {{ default false $notifier.smtp.tls.skip_verify }} + {{- end }} + {{- end }} + {{- if .Values.identity_providers.oidc.enabled }} + identity_providers: + oidc: + access_token_lifespan: {{ default "1h" .Values.identity_providers.oidc.access_token_lifespan }} + authorize_code_lifespan: {{ default "1m" .Values.identity_providers.oidc.authorize_code_lifespan }} + id_token_lifespan: {{ default "1h" .Values.identity_providers.oidc.id_token_lifespan }} + refresh_token_lifespan: {{ default "90m" .Values.identity_providers.oidc.refresh_token_lifespan }} + enable_client_debug_messages: {{ default false .Values.identity_providers.oidc.enable_client_debug_messages }} + minimum_parameter_entropy: {{ default 8 .Values.identity_providers.oidc.minimum_parameter_entropy }} + {{- if gt (len .Values.identity_providers.oidc.clients) 0 }} + clients: + {{- range $client := .Values.identity_providers.oidc.clients }} + - id: {{ $client.id }} + description: {{ default $client.id $client.description }} + secret: {{ default (randAlphaNum 128) $client.secret }} + {{- if $client.public }} + public: {{ $client.public }} + {{- end }} + authorization_policy: {{ default "two_factor" $client.authorization_policy }} + redirect_uris: + {{- range $client.redirect_uris }} + - {{ . }} + {{- end }} + {{- if $client.audience }} + audience: {{ toYaml $client.audience | nindent 10 }} + {{- end }} + scopes: {{ toYaml (default (list "openid" "profile" "email" "groups") $client.scopes) | nindent 10 }} + grant_types: {{ toYaml (default (list "refresh_token" "authorization_code") $client.grant_types) | nindent 10 }} + response_types: {{ toYaml (default (list "code") $client.response_types) | nindent 10 }} + {{- if $client.response_modes }} + response_modes: {{ toYaml $client.response_modes | nindent 10 }} + {{- end }} + userinfo_signing_algorithm: {{ default "none" $client.userinfo_signing_algorithm }} + {{- end }} + {{- end }} + {{- end }} + access_control: + {{- if (eq (len .Values.access_control.rules) 0) }} + {{- if (eq .Values.access_control.default_policy "bypass") }} + default_policy: one_factor + {{- else if (eq .Values.access_control.default_policy "deny") }} + default_policy: two_factor + {{- else }} + default_policy: {{ .Values.access_control.default_policy }} + {{- end }} + {{- else }} + default_policy: {{ .Values.access_control.default_policy }} + {{- end }} + {{- if (eq (len .Values.access_control.networks) 0) }} + networks: [] + {{- else }} + networks: {{ toYaml .Values.access_control.networks | nindent 6 }} + {{- end }} + {{- if (eq (len .Values.access_control.rules) 0) }} + rules: [] + {{- else }} + rules: {{ toYaml .Values.access_control.rules | nindent 6 }} + {{- end }} + ... +{{- end -}} diff --git a/stable/authelia/11.0.44/templates/_secrets.tpl b/stable/authelia/11.0.44/templates/_secrets.tpl new file mode 100644 index 00000000000..81fbe92ff70 --- /dev/null +++ b/stable/authelia/11.0.44/templates/_secrets.tpl @@ -0,0 +1,67 @@ +{{/* Define the secrets */}} +{{- define "authelia.secrets" -}} +--- + +apiVersion: v1 +kind: Secret +type: Opaque +metadata: + name: authelia-secrets +{{- $autheliaprevious := lookup "v1" "Secret" .Release.Namespace "authelia-secrets" }} +{{- $oidckey := "" }} +{{- $oidcsecret := "" }} +{{- $jwtsecret := "" }} +{{- $sessionsecret := "" }} +{{- $encryptionkey := "" }} +data: + {{- if $autheliaprevious }} + SESSION_ENCRYPTION_KEY: {{ index $autheliaprevious.data "SESSION_ENCRYPTION_KEY" }} + JWT_TOKEN: {{ index $autheliaprevious.data "JWT_TOKEN" }} + {{- if ( hasKey $autheliaprevious.data "ENCRYPTION_KEY" ) }} + ENCRYPTION_KEY: {{ index $autheliaprevious.data "ENCRYPTION_KEY" }} + {{- else }} + {{- $encryptionkey := randAlphaNum 100 }} + ENCRYPTION_KEY: {{ $encryptionkey | b64enc }} + {{- end }} + {{- else }} + {{- $jwtsecret := randAlphaNum 50 }} + {{- $sessionsecret := randAlphaNum 50 }} + {{- $encryptionkey := randAlphaNum 100 }} + SESSION_ENCRYPTION_KEY: {{ $sessionsecret | b64enc }} + JWT_TOKEN: {{ $jwtsecret | b64enc}} + ENCRYPTION_KEY: {{ $encryptionkey | b64enc }} + {{- end }} + + {{- if .Values.authentication_backend.ldap.enabled }} + LDAP_PASSWORD: {{ .Values.authentication_backend.ldap.plain_password | b64enc | quote }} + {{- end }} + + {{- if .Values.notifier.smtp.enabled }} + SMTP_PASSWORD: {{ .Values.notifier.smtp.plain_password | b64enc | quote }} + {{- end }} + + {{- if .Values.duo_api.enabled }} + DUO_API_KEY: {{ .Values.duo_api.plain_api_key | b64enc }} + {{- end }} + + STORAGE_PASSWORD: {{ .Values.postgresql.postgresqlPassword | trimAll "\"" | b64enc }} + + REDIS_PASSWORD: {{ .Values.redis.redisPassword | trimAll "\"" | b64enc }} + {{- if .Values.redisProvider.high_availability.enabled}} + REDIS_SENTINEL_PASSWORD: {{ .Values.redis.sentinelPassword | trimAll "\"" | b64enc }} + {{- end }} + + {{- if $autheliaprevious }} + {{- if and ( hasKey $autheliaprevious.data "OIDC_PRIVATE_KEY" ) ( hasKey $autheliaprevious.data "OIDC_HMAC_SECRET" ) }} + OIDC_PRIVATE_KEY: {{ index $autheliaprevious.data "OIDC_PRIVATE_KEY" }} + OIDC_HMAC_SECRET: {{ index $autheliaprevious.data "OIDC_HMAC_SECRET" }} + {{- else }} + {{- $oidckey := genPrivateKey "rsa" }} + {{- $oidcsecret := randAlphaNum 32 }} + OIDC_PRIVATE_KEY: {{ $oidckey | b64enc }} + OIDC_HMAC_SECRET: {{ $oidcsecret | b64enc }} + {{- end }} + {{- end }} + + +{{- end -}} diff --git a/stable/authelia/11.0.44/templates/common.yaml b/stable/authelia/11.0.44/templates/common.yaml new file mode 100644 index 00000000000..614b468adf3 --- /dev/null +++ b/stable/authelia/11.0.44/templates/common.yaml @@ -0,0 +1,74 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.common.loader.init" . }} + +{{/* Render configmap for authelia */}} +{{- include "authelia.configmap" . }} + +{{/* Render secrets for authelia */}} +{{- include "authelia.secrets" . }} + +{{/* Append the general configMap volume to the volumes */}} +{{- define "authelia.configmapVolume" -}} +enabled: "true" +mountPath: " /configuration.yaml" +readOnly: true +subPath: configuration.yaml +type: "custom" +volumeSpec: + configMap: + name: authelia-configfile + items: + - key: configuration.yaml + path: configuration.yaml +{{- end -}} + +{{/* Append the general secret volumes to the volumes */}} +{{- define "authelia.secretVolumes" -}} +enabled: "true" +mountPath: "/secrets" +readOnly: true +type: "custom" +volumeSpec: + secret: + secretName: authelia-secrets + items: + - key: "JWT_TOKEN" + path: JWT_TOKEN + - key: "SESSION_ENCRYPTION_KEY" + path: SESSION_ENCRYPTION_KEY + - key: "ENCRYPTION_KEY" + path: ENCRYPTION_KEY + - key: "STORAGE_PASSWORD" + path: STORAGE_PASSWORD + {{- if .Values.authentication_backend.ldap.enabled }} + - key: "LDAP_PASSWORD" + path: LDAP_PASSWORD + {{- end }} + {{- if .Values.notifier.smtp.enabled }} + - key: "SMTP_PASSWORD" + path: SMTP_PASSWORD + {{- end }} + - key: "REDIS_PASSWORD" + path: REDIS_PASSWORD + {{- if .Values.redisProvider.high_availability.enabled}} + - key: "REDIS_SENTINEL_PASSWORD" + path: REDIS_SENTINEL_PASSWORD + {{- end }} + {{- if .Values.duo_api.enabled }} + - key: "DUO_API_KEY" + path: DUO_API_KEY + {{- end }} + {{- if .Values.identity_providers.oidc.enabled }} + - key: "OIDC_PRIVATE_KEY" + path: OIDC_PRIVATE_KEY + - key: "OIDC_HMAC_SECRET" + path: OIDC_HMAC_SECRET + {{- end }} +{{- end -}} + +{{- $_ := set .Values.persistence "authelia-configfile" (include "authelia.configmapVolume" . | fromYaml) -}} +{{- $_ := set .Values.persistence "authelia-secrets" (include "authelia.secretVolumes" . | fromYaml) -}} + + +{{/* Render the templates */}} +{{ include "tc.common.loader.apply" . }} diff --git a/stable/beets/4.0.35/values.yaml b/stable/authelia/11.0.44/values.yaml similarity index 100% rename from stable/beets/4.0.35/values.yaml rename to stable/authelia/11.0.44/values.yaml diff --git a/stable/bazarr/11.0.32/CHANGELOG.md b/stable/bazarr/11.0.32/CHANGELOG.md new file mode 100644 index 00000000000..8c4998389f8 --- /dev/null +++ b/stable/bazarr/11.0.32/CHANGELOG.md @@ -0,0 +1,99 @@ +# Changelog + + + +## [bazarr-11.0.32](https://github.com/truecharts/charts/compare/bazarr-11.0.31...bazarr-11.0.32) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + +## [bazarr-11.0.31](https://github.com/truecharts/charts/compare/bazarr-11.0.30...bazarr-11.0.31) (2022-08-30) + +### Chore + +- update helm general non-major ([#3639](https://github.com/truecharts/charts/issues/3639)) + + + + +## [bazarr-11.0.30](https://github.com/truecharts/charts/compare/bazarr-11.0.29...bazarr-11.0.30) (2022-08-30) + +### Chore + +- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) + + + + +## [bazarr-11.0.29](https://github.com/truecharts/charts/compare/bazarr-11.0.28...bazarr-11.0.29) (2022-08-29) + +### Chore + +- update helm general non-major ([#3619](https://github.com/truecharts/charts/issues/3619)) + + + + +## [bazarr-11.0.28](https://github.com/truecharts/charts/compare/bazarr-11.0.27...bazarr-11.0.28) (2022-08-23) + +### Chore + +- update helm general non-major helm releases ([#3545](https://github.com/truecharts/charts/issues/3545)) + + + + +## [bazarr-11.0.27](https://github.com/truecharts/charts/compare/bazarr-11.0.26...bazarr-11.0.27) (2022-08-12) + +### Chore + +- add documentation checkbox/section to all SCALE Apps + - update helm general non-major helm releases ([#3456](https://github.com/truecharts/charts/issues/3456)) + + ### Fix + +- move extraArgs from .Values.controller to .Values ([#3447](https://github.com/truecharts/charts/issues/3447)) + + + + +## [bazarr-11.0.26](https://github.com/truecharts/charts/compare/bazarr-11.0.25...bazarr-11.0.26) (2022-08-10) + +### Chore + +- update docker general non-major ([#3421](https://github.com/truecharts/charts/issues/3421)) + + + + +## [bazarr-11.0.25](https://github.com/truecharts/charts/compare/bazarr-11.0.24...bazarr-11.0.25) (2022-08-08) + +### Chore + +- update helm general non-major helm releases ([#3376](https://github.com/truecharts/charts/issues/3376)) + - replace questions parts with templates ([#3402](https://github.com/truecharts/charts/issues/3402)) + + + + +## [bazarr-11.0.24](https://github.com/truecharts/apps/compare/bazarr-11.0.23...bazarr-11.0.24) (2022-07-26) + +### Chore + +- update home links ([#3291](https://github.com/truecharts/apps/issues/3291)) + - update helm general non-major helm releases ([#3302](https://github.com/truecharts/apps/issues/3302)) + + + + +## [bazarr-11.0.23](https://github.com/truecharts/apps/compare/bazarr-11.0.22...bazarr-11.0.23) (2022-07-25) + +### Chore + +- Auto-update chart README [skip ci] + - update docker general non-major ([#3295](https://github.com/truecharts/apps/issues/3295)) + diff --git a/stable/bazarr/11.0.32/Chart.lock b/stable/bazarr/11.0.32/Chart.lock new file mode 100644 index 00000000000..d716009ffe8 --- /dev/null +++ b/stable/bazarr/11.0.32/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:46:50.388465708Z" diff --git a/stable/bazarr/11.0.32/Chart.yaml b/stable/bazarr/11.0.32/Chart.yaml new file mode 100644 index 00000000000..97bc0b1c0ab --- /dev/null +++ b/stable/bazarr/11.0.32/Chart.yaml @@ -0,0 +1,34 @@ +apiVersion: v2 +appVersion: "1.1.1" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +deprecated: false +description: Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements +home: https://truecharts.org/docs/charts/stable/bazarr +icon: https://truecharts.org/img/hotlink-ok/chart-icons/bazarr.png +keywords: + - bazarr + - radarr + - sonarr + - subtitles + - usenet + - torrent +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: bazarr +sources: + - https://github.com/truecharts/charts/tree/master/charts/stable/bazarr + - https://github.com/morpheus65535/bazarr + - https://hub.docker.com/r/linuxserver/bazarr +type: application +version: 11.0.32 +annotations: + truecharts.org/catagories: | + - media + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/stable/bazarr/11.0.32/README.md b/stable/bazarr/11.0.32/README.md new file mode 100644 index 00000000000..c475dcc47bf --- /dev/null +++ b/stable/bazarr/11.0.32/README.md @@ -0,0 +1,109 @@ +# bazarr + +![Version: 11.0.32](https://img.shields.io/badge/Version-11.0.32-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.1.1](https://img.shields.io/badge/AppVersion-1.1.1-informational?style=flat-square) + +Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. + +This readme is just an automatically generated general guide on installing our Helm Charts and Apps. +For more information, please click here: [bazarr](https://truecharts.org/docs/charts/stable/bazarr) + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://library-charts.truecharts.org | common | 10.5.6 | + +## Installing the Chart + +### TrueNAS SCALE + +To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Installing-an-App). + +### Helm + +To install the chart with the release name `bazarr` + +```console +helm repo add TrueCharts https://charts.truecharts.org +helm repo update +helm install bazarr TrueCharts/bazarr +``` + +## Uninstall + +### TrueNAS SCALE + +**Upgrading, Rolling Back and Uninstalling the Chart** + +To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Upgrade-rollback-delete-an-App). + +### Helm + +To uninstall the `bazarr` deployment + +```console +helm uninstall bazarr +``` + +## Configuration + +### Helm + +#### Available Settings + +Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. +Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). + +#### Configure using the command line + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +```console +helm install bazarr \ + --set env.TZ="America/New York" \ + TrueCharts/bazarr +``` + +#### Configure using a yaml file + +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. + +```console +helm install bazarr TrueCharts/bazarr -f values.yaml +``` + +#### Connecting to other charts + +If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/linking-apps) quick-start guide. + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/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/docs/about/sponsor) or contributing back to the project any way you can! + +--- + +All Rights Reserved - The TrueCharts Project diff --git a/stable/bazarr/11.0.32/app-readme.md b/stable/bazarr/11.0.32/app-readme.md new file mode 100644 index 00000000000..28c311a374b --- /dev/null +++ b/stable/bazarr/11.0.32/app-readme.md @@ -0,0 +1,8 @@ +Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/docs/charts/stable/bazarr](https://truecharts.org/docs/charts/stable/bazarr) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can! diff --git a/stable/code-server/4.0.35/charts/common-10.5.6.tgz b/stable/bazarr/11.0.32/charts/common-10.5.6.tgz similarity index 100% rename from stable/code-server/4.0.35/charts/common-10.5.6.tgz rename to stable/bazarr/11.0.32/charts/common-10.5.6.tgz diff --git a/stable/bazarr/11.0.32/ix_values.yaml b/stable/bazarr/11.0.32/ix_values.yaml new file mode 100644 index 00000000000..1b3e5921188 --- /dev/null +++ b/stable/bazarr/11.0.32/ix_values.yaml @@ -0,0 +1,19 @@ +image: + repository: tccr.io/truecharts/bazarr + pullPolicy: IfNotPresent + tag: 1.1.1@sha256:a1a3f6090214a04140226cc5ec023bb80399db602462e77d9bd3a3864d408ecc + +service: + main: + ports: + main: + port: 6767 + targetPort: 6767 + +persistence: + config: + enabled: true + mountPath: "/config" + +portal: + enabled: true diff --git a/stable/bazarr/11.0.32/questions.yaml b/stable/bazarr/11.0.32/questions.yaml new file mode 100644 index 00000000000..760939d837c --- /dev/null +++ b/stable/bazarr/11.0.32/questions.yaml @@ -0,0 +1,2488 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: Controller + description: Configure Workload Deployment + - name: Container Configuration + description: Additional Container Configuration + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: global + label: Global Settings + group: Controller + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: Flag this is SCALE + schema: + type: boolean + default: true + hidden: true + - variable: controller + group: Controller + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: Show Advanced Controller Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: Please specify type of workload to deploy + label: (Advanced) Controller Type + schema: + type: string + required: true + enum: + - value: deployment + description: Deployment + - value: statefulset + description: Statefulset + - value: daemonset + description: Daemonset + default: deployment + - variable: replicas + description: Number of desired pod replicas + label: Desired Replicas + schema: + type: int + required: true + default: 1 + - variable: strategy + description: Please specify type of workload to deploy + label: (Advanced) Update Strategy + schema: + type: string + required: true + enum: + - value: Recreate + description: "Recreate: Kill existing pods before creating new ones" + - value: RollingUpdate + description: "RollingUpdate: Create new pods and then kill old ones" + - value: OnDelete + description: "(Legacy) OnDelete: ignore .spec.template changes" + default: Recreate + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Controller Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Controller Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: customextraargs + group: Controller + label: "Extra Args" + description: "Do not click this unless you know what you are doing" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + - variable: TZ + label: Timezone + group: Container Configuration + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - 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..." + group: Container Configuration + 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: expertpodconf + group: Container Configuration + label: Show Expert Configuration + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: tty + label: Enable TTY + description: Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: stdin + label: Enable STDIN + description: Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: termination + group: Container Configuration + label: Termination settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: gracePeriodSeconds + label: Grace Period Seconds + schema: + type: int + default: 10 + - variable: podLabelsList + group: Container Configuration + label: Pod Labels + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: podAnnotationsList + group: Container Configuration + label: Pod Annotations + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: ClusterIP + description: ClusterIP + - value: NodePort + description: NodePort (Advanced) + - value: LoadBalancer + description: LoadBalancer (Advanced) + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: (Advanced) Specify the IP Policy + schema: + show_if: [["type", "!=", "Simple"]] + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: (Advanced) IP Families + description: (Advanced) The IP Families that should be used + schema: + show_if: [["type", "!=", "Simple"]] + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 6767 + required: true + - variable: advanced + label: Show Advanced Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: Enable the Port + schema: + type: boolean + hidden: true + default: true + - variable: protocol + label: Port Type + schema: + type: string + default: HTTP + enum: + - value: HTTP + description: HTTP + - value: HTTPS + description: HTTPS + - value: TCP + description: TCP + - value: UDP + description: UDP + - variable: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 6767 + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: Networking and Services + label: Host-Networking (Complicated) + schema: + type: boolean + default: false + - variable: externalInterfaces + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + 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: + 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 + show_subquestions_if: static + subquestions: + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + 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: dnsPolicy + group: Networking and Services + label: dnsPolicy + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ClusterFirst + description: ClusterFirst + - value: ClusterFirstWithHostNet + description: ClusterFirstWithHostNet + - value: None + description: None + - variable: dnsConfig + label: DNS Configuration + group: Networking and Services + description: Specify custom DNS configuration which will be applied to the pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: nameservers + label: Name Servers + schema: + default: [] + type: list + items: + - variable: nameserver + label: Name Server + schema: + type: string + - variable: options + label: Options + schema: + default: [] + type: list + items: + - variable: option + label: Option Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: searches + label: Searches + schema: + default: [] + type: list + items: + - variable: search + label: Search Entry + schema: + type: string + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + 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: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort + schema: + type: int + min: 9000 + max: 65535 + - 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: simplePVC + enum: + - value: simplePVC + description: PVC (simple) + - value: simpleHP + description: Host Path (simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: false + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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 + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 999Gi + - variable: hostPathType + label: (Advanced) hostPath Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) storageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: name + label: Name (Optional) + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: simpleHP + enum: + - value: simplePVC + description: PVC (Simple) + - value: simpleHP + description: Host Path (Simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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: 999Gi + - variable: hostPathType + label: (Advanced) Host Path Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) StorageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: [] + 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: tls + label: TLS-Settings + schema: + type: list + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: These middlewares enforce a number of best practices. + label: Enable Default Middlewares + schema: + type: boolean + default: true + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: service + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: security + label: Container Security Settings + group: Security and Permissions + schema: + type: dict + additional_attrs: true + attrs: + - variable: editsecurity + label: Change PUID / UMASK values + description: By enabling this you override default set values. + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - 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 + 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: "002" + - variable: advancedSecurity + label: Show Advanced Security Settings + group: Security and Permissions + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: true + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: capabilities + label: Capabilities + schema: + additional_attrs: true + type: dict + attrs: + - variable: drop + label: Drop Capability + schema: + type: list + default: [] + items: + - variable: dropEntry + label: "" + schema: + type: string + - variable: add + label: Add Capability + schema: + type: list + default: [] + items: + - variable: addEntry + label: "" + schema: + type: string + - variable: podSecurityContext + group: Security and Permissions + label: Pod Security Context + schema: + additional_attrs: true + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - 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 + + - variable: advancedresources + label: Set Custom Resource Limits/Requests (Advanced) + group: Resources and Devices + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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 + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 10m + 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/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 50Mi + 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: hostPath + 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" + # Specify GPU configuration + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] +# - variable: autoscaling +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - 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: +# additional_attrs: true +# type: dict +# attrs: +# - 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: 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: openvpn + description: OpenVPN + - value: wireguard + description: Wireguard + - value: tailscale + description: Tailscale + - variable: openvpn + label: OpenVPN Settings + schema: + 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 + default: "" + required: true + - variable: tailscale + label: Tailscale Settings + schema: + 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: 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: Sock5 Server + 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: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type + schema: + type: string + default: hostPath + hidden: true + - variable: hostPathType + label: hostPathType + schema: + type: string + default: File + hidden: true + - variable: noMount + label: noMount + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: Full Path to File + description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + 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 + - 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: git + label: Git Settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: deployKey + description: Raw SSH Private Key + label: Deploy Key + schema: + type: string + - variable: deployKeyBase64 + description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence + label: Deploy Key Base64 + schema: + type: string + - variable: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: NodePort + enum: + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: nodePort + description: Leave Empty to Disable + label: "nodePort" + schema: + type: int + default: 36107 + - 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: promtail + label: Promtail + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: Loki URL + schema: + type: string + required: true + - variable: logs + label: Log Paths + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: path + label: Path + schema: + type: string + required: true + - variable: args + label: Promtail Command Line Arguments + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + required: true + - variable: envList + label: Promtail 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: 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/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/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/custom-app/5.1.52/templates/common.yaml b/stable/bazarr/11.0.32/templates/common.yaml similarity index 100% rename from stable/custom-app/5.1.52/templates/common.yaml rename to stable/bazarr/11.0.32/templates/common.yaml diff --git a/stable/code-server/4.0.35/values.yaml b/stable/bazarr/11.0.32/values.yaml similarity index 100% rename from stable/code-server/4.0.35/values.yaml rename to stable/bazarr/11.0.32/values.yaml diff --git a/stable/beets/4.0.35/Chart.lock b/stable/beets/4.0.35/Chart.lock deleted file mode 100644 index 257d07d5996..00000000000 --- a/stable/beets/4.0.35/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-31T00:14:30.192266795Z" diff --git a/stable/beets/4.0.35/CHANGELOG.md b/stable/beets/4.0.36/CHANGELOG.md similarity index 91% rename from stable/beets/4.0.35/CHANGELOG.md rename to stable/beets/4.0.36/CHANGELOG.md index 90a003ccd8e..cb66405991b 100644 --- a/stable/beets/4.0.35/CHANGELOG.md +++ b/stable/beets/4.0.36/CHANGELOG.md @@ -2,6 +2,15 @@ +## [beets-4.0.36](https://github.com/truecharts/charts/compare/beets-4.0.35...beets-4.0.36) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [beets-4.0.35](https://github.com/truecharts/charts/compare/beets-4.0.34...beets-4.0.35) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ - -## [beets-4.0.26](https://github.com/truecharts/apps/compare/beets-4.0.25...beets-4.0.26) (2022-07-28) - -### Chore - -- update docker general non-major ([#3326](https://github.com/truecharts/apps/issues/3326)) - - - diff --git a/stable/beets/4.0.36/Chart.lock b/stable/beets/4.0.36/Chart.lock new file mode 100644 index 00000000000..cf12185a896 --- /dev/null +++ b/stable/beets/4.0.36/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:46:52.188430977Z" diff --git a/stable/beets/4.0.35/Chart.yaml b/stable/beets/4.0.36/Chart.yaml similarity index 98% rename from stable/beets/4.0.35/Chart.yaml rename to stable/beets/4.0.36/Chart.yaml index f9662ec3752..809ad589ca5 100644 --- a/stable/beets/4.0.35/Chart.yaml +++ b/stable/beets/4.0.36/Chart.yaml @@ -24,7 +24,7 @@ sources: - https://github.com/linuxserver/docker-beets - https://beets.io/ type: application -version: 4.0.35 +version: 4.0.36 annotations: truecharts.org/catagories: | - media diff --git a/stable/beets/4.0.35/README.md b/stable/beets/4.0.36/README.md similarity index 98% rename from stable/beets/4.0.35/README.md rename to stable/beets/4.0.36/README.md index fe396c1af1a..c500941d982 100644 --- a/stable/beets/4.0.35/README.md +++ b/stable/beets/4.0.36/README.md @@ -1,6 +1,6 @@ # beets -![Version: 4.0.35](https://img.shields.io/badge/Version-4.0.35-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.6.0](https://img.shields.io/badge/AppVersion-1.6.0-informational?style=flat-square) +![Version: 4.0.36](https://img.shields.io/badge/Version-4.0.36-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.6.0](https://img.shields.io/badge/AppVersion-1.6.0-informational?style=flat-square) A music library manager and not, for the most part, a music player. diff --git a/stable/beets/4.0.35/app-readme.md b/stable/beets/4.0.36/app-readme.md similarity index 100% rename from stable/beets/4.0.35/app-readme.md rename to stable/beets/4.0.36/app-readme.md diff --git a/stable/custom-app/5.1.52/charts/common-10.5.6.tgz b/stable/beets/4.0.36/charts/common-10.5.6.tgz similarity index 100% rename from stable/custom-app/5.1.52/charts/common-10.5.6.tgz rename to stable/beets/4.0.36/charts/common-10.5.6.tgz diff --git a/stable/beets/4.0.35/ix_values.yaml b/stable/beets/4.0.36/ix_values.yaml similarity index 82% rename from stable/beets/4.0.35/ix_values.yaml rename to stable/beets/4.0.36/ix_values.yaml index 34c967b94df..41b7433031c 100644 --- a/stable/beets/4.0.35/ix_values.yaml +++ b/stable/beets/4.0.36/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: tccr.io/truecharts/beets pullPolicy: IfNotPresent - tag: v1.6.0@sha256:a3cfa57d23077d8d085c81c384739ab796edb9ee7b11cd74ea3d8372bc8389df + tag: v1.6.0@sha256:7ec4d8b9c9d6154949b75c7bfc83a196bc4ef4d3cd6633e0453dbbba699fc5e0 securityContext: readOnlyRootFilesystem: false diff --git a/stable/beets/4.0.35/questions.yaml b/stable/beets/4.0.36/questions.yaml similarity index 99% rename from stable/beets/4.0.35/questions.yaml rename to stable/beets/4.0.36/questions.yaml index bd3e149577e..e84faa7fc49 100644 --- a/stable/beets/4.0.35/questions.yaml +++ b/stable/beets/4.0.36/questions.yaml @@ -2459,7 +2459,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2471,7 +2473,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/stable/beets/4.0.35/templates/common.yaml b/stable/beets/4.0.36/templates/common.yaml similarity index 100% rename from stable/beets/4.0.35/templates/common.yaml rename to stable/beets/4.0.36/templates/common.yaml diff --git a/stable/custom-app/5.1.52/values.yaml b/stable/beets/4.0.36/values.yaml similarity index 100% rename from stable/custom-app/5.1.52/values.yaml rename to stable/beets/4.0.36/values.yaml diff --git a/stable/code-server/4.0.35/Chart.lock b/stable/code-server/4.0.35/Chart.lock deleted file mode 100644 index 0ca73347481..00000000000 --- a/stable/code-server/4.0.35/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-31T00:16:20.606804604Z" diff --git a/stable/code-server/4.0.35/CHANGELOG.md b/stable/code-server/4.0.36/CHANGELOG.md similarity index 91% rename from stable/code-server/4.0.35/CHANGELOG.md rename to stable/code-server/4.0.36/CHANGELOG.md index 32bb6ef983e..7f945d4a043 100644 --- a/stable/code-server/4.0.35/CHANGELOG.md +++ b/stable/code-server/4.0.36/CHANGELOG.md @@ -2,6 +2,15 @@ +## [code-server-4.0.36](https://github.com/truecharts/charts/compare/openvscode-server-2.0.34...code-server-4.0.36) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [code-server-4.0.35](https://github.com/truecharts/charts/compare/code-server-4.0.34...code-server-4.0.35) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ - update helm general non-major helm releases ([#3302](https://github.com/truecharts/apps/issues/3302)) - - -## [code-server-4.0.26](https://github.com/truecharts/apps/compare/code-server-4.0.25...code-server-4.0.26) (2022-07-25) - -### Chore - -- Auto-update chart README [skip ci] - - update docker general non-major ([#3295](https://github.com/truecharts/apps/issues/3295)) - diff --git a/stable/code-server/4.0.36/Chart.lock b/stable/code-server/4.0.36/Chart.lock new file mode 100644 index 00000000000..0200f9271aa --- /dev/null +++ b/stable/code-server/4.0.36/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:46:52.392966698Z" diff --git a/stable/code-server/4.0.35/Chart.yaml b/stable/code-server/4.0.36/Chart.yaml similarity index 95% rename from stable/code-server/4.0.35/Chart.yaml rename to stable/code-server/4.0.36/Chart.yaml index 1bccfa33026..bd1427a82bc 100644 --- a/stable/code-server/4.0.35/Chart.yaml +++ b/stable/code-server/4.0.36/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: "4.6.0" +appVersion: "4.6.1" dependencies: - name: common repository: https://library-charts.truecharts.org @@ -22,7 +22,7 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/code-server - https://github.com/cdr/code-server type: application -version: 4.0.35 +version: 4.0.36 annotations: truecharts.org/catagories: | - media diff --git a/stable/code-server/4.0.35/README.md b/stable/code-server/4.0.36/README.md similarity index 95% rename from stable/code-server/4.0.35/README.md rename to stable/code-server/4.0.36/README.md index e489b42cc3c..7a70939477a 100644 --- a/stable/code-server/4.0.35/README.md +++ b/stable/code-server/4.0.36/README.md @@ -1,6 +1,6 @@ # code-server -![Version: 4.0.35](https://img.shields.io/badge/Version-4.0.35-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.6.0](https://img.shields.io/badge/AppVersion-4.6.0-informational?style=flat-square) +![Version: 4.0.36](https://img.shields.io/badge/Version-4.0.36-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.6.1](https://img.shields.io/badge/AppVersion-4.6.1-informational?style=flat-square) Run VS Code on any machine anywhere and access it in the browser. diff --git a/stable/code-server/4.0.35/app-readme.md b/stable/code-server/4.0.36/app-readme.md similarity index 100% rename from stable/code-server/4.0.35/app-readme.md rename to stable/code-server/4.0.36/app-readme.md diff --git a/stable/cyberchef/2.0.75/charts/common-10.5.6.tgz b/stable/code-server/4.0.36/charts/common-10.5.6.tgz similarity index 100% rename from stable/cyberchef/2.0.75/charts/common-10.5.6.tgz rename to stable/code-server/4.0.36/charts/common-10.5.6.tgz diff --git a/stable/code-server/4.0.35/ix_values.yaml b/stable/code-server/4.0.36/ix_values.yaml similarity index 85% rename from stable/code-server/4.0.35/ix_values.yaml rename to stable/code-server/4.0.36/ix_values.yaml index 8426b63f8fd..1fbc5ec63c1 100644 --- a/stable/code-server/4.0.35/ix_values.yaml +++ b/stable/code-server/4.0.36/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: tccr.io/truecharts/code-server pullPolicy: IfNotPresent - tag: 4.6.0@sha256:6b8bb7b4fd3821d2838e8d2131e17bb35779c91434277684ee1e8899d1d4d0bb + tag: 4.6.1@sha256:50fe4d2604da5c4e2e0e5422a091282c78ca17f3a085bb5d6026f150f2e3b31c args: - --user-data-dir diff --git a/stable/code-server/4.0.35/questions.yaml b/stable/code-server/4.0.36/questions.yaml similarity index 99% rename from stable/code-server/4.0.35/questions.yaml rename to stable/code-server/4.0.36/questions.yaml index 49c8a517e4a..b1eb8bf5055 100644 --- a/stable/code-server/4.0.35/questions.yaml +++ b/stable/code-server/4.0.36/questions.yaml @@ -2472,7 +2472,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2484,7 +2486,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/stable/code-server/4.0.35/templates/common.yaml b/stable/code-server/4.0.36/templates/common.yaml similarity index 100% rename from stable/code-server/4.0.35/templates/common.yaml rename to stable/code-server/4.0.36/templates/common.yaml diff --git a/stable/cyberchef/2.0.75/values.yaml b/stable/code-server/4.0.36/values.yaml similarity index 100% rename from stable/cyberchef/2.0.75/values.yaml rename to stable/code-server/4.0.36/values.yaml diff --git a/stable/custom-app/5.1.52/Chart.lock b/stable/custom-app/5.1.52/Chart.lock deleted file mode 100644 index a3137e580e8..00000000000 --- a/stable/custom-app/5.1.52/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-31T06:40:14.636756815Z" diff --git a/stable/custom-app/5.1.52/CHANGELOG.md b/stable/custom-app/5.1.53/CHANGELOG.md similarity index 91% rename from stable/custom-app/5.1.52/CHANGELOG.md rename to stable/custom-app/5.1.53/CHANGELOG.md index 40638b0b37b..c94ef74aa14 100644 --- a/stable/custom-app/5.1.52/CHANGELOG.md +++ b/stable/custom-app/5.1.53/CHANGELOG.md @@ -2,6 +2,15 @@ +## [custom-app-5.1.53](https://github.com/truecharts/charts/compare/custom-app-5.1.52...custom-app-5.1.53) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [custom-app-5.1.52](https://github.com/truecharts/charts/compare/custom-app-5.1.51...custom-app-5.1.52) (2022-08-31) ### Chore @@ -88,12 +97,3 @@ ### Chore - update helm general non-major helm releases ([#3545](https://github.com/truecharts/charts/issues/3545)) - - - - -## [custom-app-5.1.42](https://github.com/truecharts/charts/compare/custom-app-5.1.41...custom-app-5.1.42) (2022-08-23) - -### Chore - -- update docker general non-major docker tags ([#3544](https://github.com/truecharts/charts/issues/3544)) diff --git a/stable/custom-app/5.1.53/Chart.lock b/stable/custom-app/5.1.53/Chart.lock new file mode 100644 index 00000000000..6df016fb4b6 --- /dev/null +++ b/stable/custom-app/5.1.53/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:47:14.665962958Z" diff --git a/stable/custom-app/5.1.52/Chart.yaml b/stable/custom-app/5.1.53/Chart.yaml similarity index 94% rename from stable/custom-app/5.1.52/Chart.yaml rename to stable/custom-app/5.1.53/Chart.yaml index ee27fee5a6a..2e1b441ee45 100644 --- a/stable/custom-app/5.1.52/Chart.yaml +++ b/stable/custom-app/5.1.53/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: "0.20.1814" +appVersion: "0.20.1821" dependencies: - name: common repository: https://library-charts.truecharts.org @@ -19,7 +19,7 @@ name: custom-app sources: - https://github.com/truecharts/charts/tree/master/charts/stable/custom-app type: application -version: 5.1.52 +version: 5.1.53 annotations: truecharts.org/catagories: | - custom diff --git a/stable/custom-app/5.1.52/README.md b/stable/custom-app/5.1.53/README.md similarity index 95% rename from stable/custom-app/5.1.52/README.md rename to stable/custom-app/5.1.53/README.md index 82f6a154202..769d0f1f205 100644 --- a/stable/custom-app/5.1.52/README.md +++ b/stable/custom-app/5.1.53/README.md @@ -1,6 +1,6 @@ # custom-app -![Version: 5.1.52](https://img.shields.io/badge/Version-5.1.52-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.20.1814](https://img.shields.io/badge/AppVersion-0.20.1814-informational?style=flat-square) +![Version: 5.1.53](https://img.shields.io/badge/Version-5.1.53-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.20.1821](https://img.shields.io/badge/AppVersion-0.20.1821-informational?style=flat-square) Advanced tool to create your own TrueCharts-based App diff --git a/stable/custom-app/5.1.52/app-readme.md b/stable/custom-app/5.1.53/app-readme.md similarity index 100% rename from stable/custom-app/5.1.52/app-readme.md rename to stable/custom-app/5.1.53/app-readme.md diff --git a/stable/drawio/2.0.41/charts/common-10.5.6.tgz b/stable/custom-app/5.1.53/charts/common-10.5.6.tgz similarity index 100% rename from stable/drawio/2.0.41/charts/common-10.5.6.tgz rename to stable/custom-app/5.1.53/charts/common-10.5.6.tgz diff --git a/stable/custom-app/5.1.52/ci/test-values.yaml b/stable/custom-app/5.1.53/ci/test-values.yaml similarity index 88% rename from stable/custom-app/5.1.52/ci/test-values.yaml rename to stable/custom-app/5.1.53/ci/test-values.yaml index a5fc087ccce..59bb4586d2c 100644 --- a/stable/custom-app/5.1.52/ci/test-values.yaml +++ b/stable/custom-app/5.1.53/ci/test-values.yaml @@ -1,7 +1,7 @@ image: repository: tccr.io/truecharts/jackett pullPolicy: IfNotPresent - tag: 0.20.1814@sha256:d0ef19ab00ad75cd05e91d5f54aaf9b4122481f12307ab94b271fc066dbcfda0 + tag: 0.20.1821@sha256:599f2692fb1e347da8af542a77ce785358e1e59999872773748b10e98755ba91 securityContext: readOnlyRootFilesystem: false diff --git a/stable/custom-app/5.1.52/ix_values.yaml b/stable/custom-app/5.1.53/ix_values.yaml similarity index 52% rename from stable/custom-app/5.1.52/ix_values.yaml rename to stable/custom-app/5.1.53/ix_values.yaml index 25ad2d5d148..61da60cb19b 100644 --- a/stable/custom-app/5.1.52/ix_values.yaml +++ b/stable/custom-app/5.1.53/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: tccr.io/truecharts/jackett pullPolicy: IfNotPresent - tag: 0.20.1814@sha256:d0ef19ab00ad75cd05e91d5f54aaf9b4122481f12307ab94b271fc066dbcfda0 + tag: 0.20.1821@sha256:599f2692fb1e347da8af542a77ce785358e1e59999872773748b10e98755ba91 portal: enabled: true diff --git a/stable/custom-app/5.1.52/questions.yaml b/stable/custom-app/5.1.53/questions.yaml similarity index 99% rename from stable/custom-app/5.1.52/questions.yaml rename to stable/custom-app/5.1.53/questions.yaml index 1922f5bd35a..96ea3d0c0e9 100644 --- a/stable/custom-app/5.1.52/questions.yaml +++ b/stable/custom-app/5.1.53/questions.yaml @@ -2467,7 +2467,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2479,7 +2481,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/stable/cyberchef/2.0.75/templates/common.yaml b/stable/custom-app/5.1.53/templates/common.yaml similarity index 100% rename from stable/cyberchef/2.0.75/templates/common.yaml rename to stable/custom-app/5.1.53/templates/common.yaml diff --git a/stable/drawio/2.0.41/values.yaml b/stable/custom-app/5.1.53/values.yaml similarity index 100% rename from stable/drawio/2.0.41/values.yaml rename to stable/custom-app/5.1.53/values.yaml diff --git a/stable/cyberchef/2.0.75/Chart.lock b/stable/cyberchef/2.0.75/Chart.lock deleted file mode 100644 index 6cf5ca7d229..00000000000 --- a/stable/cyberchef/2.0.75/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-09-01T20:50:06.064387354Z" diff --git a/stable/cyberchef/2.0.75/CHANGELOG.md b/stable/cyberchef/2.0.76/CHANGELOG.md similarity index 91% rename from stable/cyberchef/2.0.75/CHANGELOG.md rename to stable/cyberchef/2.0.76/CHANGELOG.md index c388a5d4d29..22b07286aae 100644 --- a/stable/cyberchef/2.0.75/CHANGELOG.md +++ b/stable/cyberchef/2.0.76/CHANGELOG.md @@ -2,6 +2,15 @@ +## [cyberchef-2.0.76](https://github.com/truecharts/charts/compare/cyberchef-2.0.75...cyberchef-2.0.76) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [cyberchef-2.0.75](https://github.com/truecharts/charts/compare/cyberchef-2.0.74...cyberchef-2.0.75) (2022-09-01) ### Chore @@ -88,12 +97,3 @@ ### Chore -- update docker general non-major ([#3552](https://github.com/truecharts/charts/issues/3552)) - - - - -## [cyberchef-2.0.64](https://github.com/truecharts/charts/compare/cyberchef-2.0.63...cyberchef-2.0.64) (2022-08-23) - -### Chore - diff --git a/stable/cyberchef/2.0.76/Chart.lock b/stable/cyberchef/2.0.76/Chart.lock new file mode 100644 index 00000000000..66ded821d43 --- /dev/null +++ b/stable/cyberchef/2.0.76/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:47:17.114211427Z" diff --git a/stable/cyberchef/2.0.75/Chart.yaml b/stable/cyberchef/2.0.76/Chart.yaml similarity index 98% rename from stable/cyberchef/2.0.75/Chart.yaml rename to stable/cyberchef/2.0.76/Chart.yaml index c6a24d3512e..b607e849c72 100644 --- a/stable/cyberchef/2.0.75/Chart.yaml +++ b/stable/cyberchef/2.0.76/Chart.yaml @@ -18,7 +18,7 @@ name: cyberchef sources: - https://github.com/truecharts/charts/tree/master/charts/stable/cyberchef - https://hub.docker.com/r/mpepping/cyberchef -version: 2.0.75 +version: 2.0.76 annotations: truecharts.org/catagories: | - utilities diff --git a/stable/cyberchef/2.0.75/README.md b/stable/cyberchef/2.0.76/README.md similarity index 98% rename from stable/cyberchef/2.0.75/README.md rename to stable/cyberchef/2.0.76/README.md index 23c32d4b798..abb101309b7 100644 --- a/stable/cyberchef/2.0.75/README.md +++ b/stable/cyberchef/2.0.76/README.md @@ -1,6 +1,6 @@ # cyberchef -![Version: 2.0.75](https://img.shields.io/badge/Version-2.0.75-informational?style=flat-square) ![AppVersion: 9.46.0](https://img.shields.io/badge/AppVersion-9.46.0-informational?style=flat-square) +![Version: 2.0.76](https://img.shields.io/badge/Version-2.0.76-informational?style=flat-square) ![AppVersion: 9.46.0](https://img.shields.io/badge/AppVersion-9.46.0-informational?style=flat-square) CyberChef is a simple, intuitive web app for carrying out all manner of "cyber" operations within a web browser. diff --git a/stable/cyberchef/2.0.75/app-readme.md b/stable/cyberchef/2.0.76/app-readme.md similarity index 100% rename from stable/cyberchef/2.0.75/app-readme.md rename to stable/cyberchef/2.0.76/app-readme.md diff --git a/stable/filezilla/4.0.35/charts/common-10.5.6.tgz b/stable/cyberchef/2.0.76/charts/common-10.5.6.tgz similarity index 100% rename from stable/filezilla/4.0.35/charts/common-10.5.6.tgz rename to stable/cyberchef/2.0.76/charts/common-10.5.6.tgz diff --git a/stable/cyberchef/2.0.75/ix_values.yaml b/stable/cyberchef/2.0.76/ix_values.yaml similarity index 78% rename from stable/cyberchef/2.0.75/ix_values.yaml rename to stable/cyberchef/2.0.76/ix_values.yaml index f8f2ee01bc4..f75108b0b5b 100644 --- a/stable/cyberchef/2.0.75/ix_values.yaml +++ b/stable/cyberchef/2.0.76/ix_values.yaml @@ -1,6 +1,6 @@ image: repository: tccr.io/truecharts/cyberchef - tag: v9.46.0@sha256:1db9eea696953fd237b917ed7d1b1ce59ff6b95fe08be8492b2c5f5d2ae6a6a4 + tag: v9.46.0@sha256:4b1fcd48ce281845af300da0db13bd8f46887cdff3d4bf6ab2cc269e856e1e82 pullPolicy: IfNotPresent securityContext: diff --git a/stable/cyberchef/2.0.75/questions.yaml b/stable/cyberchef/2.0.76/questions.yaml similarity index 99% rename from stable/cyberchef/2.0.75/questions.yaml rename to stable/cyberchef/2.0.76/questions.yaml index 9701402b980..57b305c7898 100644 --- a/stable/cyberchef/2.0.75/questions.yaml +++ b/stable/cyberchef/2.0.76/questions.yaml @@ -2274,7 +2274,9 @@ questions: required: true - variable: docs group: Documentation - label: Please read the documentation at https://truecharts.org + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2286,7 +2288,9 @@ questions: default: true - variable: donateNag group: Documentation - label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/stable/drawio/2.0.41/templates/common.yaml b/stable/cyberchef/2.0.76/templates/common.yaml similarity index 100% rename from stable/drawio/2.0.41/templates/common.yaml rename to stable/cyberchef/2.0.76/templates/common.yaml diff --git a/stable/filezilla/4.0.35/values.yaml b/stable/cyberchef/2.0.76/values.yaml similarity index 100% rename from stable/filezilla/4.0.35/values.yaml rename to stable/cyberchef/2.0.76/values.yaml diff --git a/stable/drawio/2.0.41/Chart.lock b/stable/drawio/2.0.41/Chart.lock deleted file mode 100644 index 86c3faf5be1..00000000000 --- a/stable/drawio/2.0.41/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-31T00:19:06.476082517Z" diff --git a/stable/drawio/2.0.41/CHANGELOG.md b/stable/drawio/2.0.42/CHANGELOG.md similarity index 92% rename from stable/drawio/2.0.41/CHANGELOG.md rename to stable/drawio/2.0.42/CHANGELOG.md index 92ad2a69cdc..b29c795b1e4 100644 --- a/stable/drawio/2.0.41/CHANGELOG.md +++ b/stable/drawio/2.0.42/CHANGELOG.md @@ -2,6 +2,15 @@ +## [drawio-2.0.42](https://github.com/truecharts/charts/compare/drawio-2.0.41...drawio-2.0.42) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [drawio-2.0.41](https://github.com/truecharts/charts/compare/drawio-2.0.40...drawio-2.0.41) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ - -## [drawio-2.0.32](https://github.com/truecharts/apps/compare/drawio-2.0.31...drawio-2.0.32) (2022-07-28) - -### Chore - -- update docker general non-major ([#3326](https://github.com/truecharts/apps/issues/3326)) - - - diff --git a/stable/drawio/2.0.42/Chart.lock b/stable/drawio/2.0.42/Chart.lock new file mode 100644 index 00000000000..0901965ddc2 --- /dev/null +++ b/stable/drawio/2.0.42/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:47:17.770486832Z" diff --git a/stable/drawio/2.0.41/Chart.yaml b/stable/drawio/2.0.42/Chart.yaml similarity index 95% rename from stable/drawio/2.0.41/Chart.yaml rename to stable/drawio/2.0.42/Chart.yaml index 5f78751b77e..38440f679b5 100644 --- a/stable/drawio/2.0.41/Chart.yaml +++ b/stable/drawio/2.0.42/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: "20.2.6" +appVersion: "20.2.8" dependencies: - name: common repository: https://library-charts.truecharts.org @@ -19,7 +19,7 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/drawio - https://hub.docker.com/r/jgraph/drawio - https://github.com/jgraph/drawio -version: 2.0.41 +version: 2.0.42 annotations: truecharts.org/catagories: | - media diff --git a/stable/drawio/2.0.41/README.md b/stable/drawio/2.0.42/README.md similarity index 94% rename from stable/drawio/2.0.41/README.md rename to stable/drawio/2.0.42/README.md index 3d57c3095b7..b7e60d77899 100644 --- a/stable/drawio/2.0.41/README.md +++ b/stable/drawio/2.0.42/README.md @@ -1,6 +1,6 @@ # drawio -![Version: 2.0.41](https://img.shields.io/badge/Version-2.0.41-informational?style=flat-square) ![AppVersion: 20.2.6](https://img.shields.io/badge/AppVersion-20.2.6-informational?style=flat-square) +![Version: 2.0.42](https://img.shields.io/badge/Version-2.0.42-informational?style=flat-square) ![AppVersion: 20.2.8](https://img.shields.io/badge/AppVersion-20.2.8-informational?style=flat-square) Drawio is free online diagram software. diff --git a/stable/drawio/2.0.41/app-readme.md b/stable/drawio/2.0.42/app-readme.md similarity index 100% rename from stable/drawio/2.0.41/app-readme.md rename to stable/drawio/2.0.42/app-readme.md diff --git a/stable/impostor-server/1.0.37/charts/common-10.5.6.tgz b/stable/drawio/2.0.42/charts/common-10.5.6.tgz similarity index 100% rename from stable/impostor-server/1.0.37/charts/common-10.5.6.tgz rename to stable/drawio/2.0.42/charts/common-10.5.6.tgz diff --git a/stable/drawio/2.0.41/ix_values.yaml b/stable/drawio/2.0.42/ix_values.yaml similarity index 78% rename from stable/drawio/2.0.41/ix_values.yaml rename to stable/drawio/2.0.42/ix_values.yaml index e32a61c0110..317e5c47d70 100644 --- a/stable/drawio/2.0.41/ix_values.yaml +++ b/stable/drawio/2.0.42/ix_values.yaml @@ -1,6 +1,6 @@ image: repository: tccr.io/truecharts/drawio - tag: 20.2.6@sha256:73293670169cf7a9e86f5e409d326c91294d530e883ad941775bb14934aac4d0 + tag: 20.2.8@sha256:0f95035986b4a8392afe8a861b0abfb735c311a6b313c9d58c3365fcba3d020e pullPolicy: IfNotPresent securityContext: diff --git a/stable/drawio/2.0.41/questions.yaml b/stable/drawio/2.0.42/questions.yaml similarity index 99% rename from stable/drawio/2.0.41/questions.yaml rename to stable/drawio/2.0.42/questions.yaml index 07ba6950cbe..52cb8aba41b 100644 --- a/stable/drawio/2.0.41/questions.yaml +++ b/stable/drawio/2.0.42/questions.yaml @@ -2274,7 +2274,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2286,7 +2288,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/stable/impostor-server/1.0.37/templates/common.yaml b/stable/drawio/2.0.42/templates/common.yaml similarity index 100% rename from stable/impostor-server/1.0.37/templates/common.yaml rename to stable/drawio/2.0.42/templates/common.yaml diff --git a/stable/impostor-server/1.0.37/values.yaml b/stable/drawio/2.0.42/values.yaml similarity index 100% rename from stable/impostor-server/1.0.37/values.yaml rename to stable/drawio/2.0.42/values.yaml diff --git a/stable/esphome/11.0.34/CHANGELOG.md b/stable/esphome/11.0.34/CHANGELOG.md new file mode 100644 index 00000000000..2946ceced8c --- /dev/null +++ b/stable/esphome/11.0.34/CHANGELOG.md @@ -0,0 +1,99 @@ +# Changelog + + + +## [esphome-11.0.34](https://github.com/truecharts/charts/compare/esphome-11.0.33...esphome-11.0.34) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + +## [esphome-11.0.33](https://github.com/truecharts/charts/compare/esphome-11.0.32...esphome-11.0.33) (2022-08-30) + +### Chore + +- update helm general non-major ([#3639](https://github.com/truecharts/charts/issues/3639)) + + + + +## [esphome-11.0.32](https://github.com/truecharts/charts/compare/esphome-11.0.31...esphome-11.0.32) (2022-08-30) + +### Chore + +- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) + + + + +## [esphome-11.0.31](https://github.com/truecharts/charts/compare/esphome-11.0.30...esphome-11.0.31) (2022-08-29) + +### Chore + +- update helm general non-major ([#3619](https://github.com/truecharts/charts/issues/3619)) + + + + +## [esphome-11.0.30](https://github.com/truecharts/charts/compare/esphome-11.0.29...esphome-11.0.30) (2022-08-23) + +### Chore + +- update helm general non-major helm releases ([#3545](https://github.com/truecharts/charts/issues/3545)) + + + + +## [esphome-11.0.29](https://github.com/truecharts/charts/compare/esphome-11.0.28...esphome-11.0.29) (2022-08-18) + +### Chore + +- update docker general non-major ([#3503](https://github.com/truecharts/charts/issues/3503)) + + + + +## [esphome-11.0.28](https://github.com/truecharts/charts/compare/esphome-11.0.27...esphome-11.0.28) (2022-08-12) + +### Chore + +- update helm general non-major helm releases ([#3456](https://github.com/truecharts/charts/issues/3456)) + + + + +## [esphome-11.0.27](https://github.com/truecharts/charts/compare/esphome-11.0.26...esphome-11.0.27) (2022-08-12) + +### Chore + +- add documentation checkbox/section to all SCALE Apps + - update docker general non-major ([#3453](https://github.com/truecharts/charts/issues/3453)) + + ### Fix + +- move extraArgs from .Values.controller to .Values ([#3447](https://github.com/truecharts/charts/issues/3447)) + + + + +## [esphome-11.0.26](https://github.com/truecharts/charts/compare/esphome-11.0.25...esphome-11.0.26) (2022-08-08) + +### Chore + +- update helm general non-major helm releases ([#3376](https://github.com/truecharts/charts/issues/3376)) + - replace questions parts with templates ([#3402](https://github.com/truecharts/charts/issues/3402)) + + + + +## [esphome-11.0.25](https://github.com/truecharts/apps/compare/esphome-11.0.24...esphome-11.0.25) (2022-07-26) + +### Chore + +- update home links ([#3291](https://github.com/truecharts/apps/issues/3291)) + - update helm general non-major helm releases ([#3302](https://github.com/truecharts/apps/issues/3302)) + + diff --git a/stable/esphome/11.0.34/Chart.lock b/stable/esphome/11.0.34/Chart.lock new file mode 100644 index 00000000000..a2a37a6b24f --- /dev/null +++ b/stable/esphome/11.0.34/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:47:38.604231095Z" diff --git a/stable/esphome/11.0.34/Chart.yaml b/stable/esphome/11.0.34/Chart.yaml new file mode 100644 index 00000000000..7c3cdd4c498 --- /dev/null +++ b/stable/esphome/11.0.34/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: "2022.8.1" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +deprecated: false +description: ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. +home: https://truecharts.org/docs/charts/stable/esphome +icon: https://truecharts.org/img/hotlink-ok/chart-icons/esphome.png +keywords: + - esphome +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: esphome +sources: + - https://github.com/truecharts/charts/tree/master/charts/stable/esphome + - https://github.com/esphome/esphome + - https://hub.docker.com/u/esphome +type: application +version: 11.0.34 +annotations: + truecharts.org/catagories: | + - tools + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/stable/esphome/11.0.34/README.md b/stable/esphome/11.0.34/README.md new file mode 100644 index 00000000000..191b5d2806d --- /dev/null +++ b/stable/esphome/11.0.34/README.md @@ -0,0 +1,109 @@ +# esphome + +![Version: 11.0.34](https://img.shields.io/badge/Version-11.0.34-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2022.8.1](https://img.shields.io/badge/AppVersion-2022.8.1-informational?style=flat-square) + +ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. + +This readme is just an automatically generated general guide on installing our Helm Charts and Apps. +For more information, please click here: [esphome](https://truecharts.org/docs/charts/stable/esphome) + +**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)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://library-charts.truecharts.org | common | 10.5.6 | + +## Installing the Chart + +### TrueNAS SCALE + +To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Installing-an-App). + +### Helm + +To install the chart with the release name `esphome` + +```console +helm repo add TrueCharts https://charts.truecharts.org +helm repo update +helm install esphome TrueCharts/esphome +``` + +## Uninstall + +### TrueNAS SCALE + +**Upgrading, Rolling Back and Uninstalling the Chart** + +To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Upgrade-rollback-delete-an-App). + +### Helm + +To uninstall the `esphome` deployment + +```console +helm uninstall esphome +``` + +## Configuration + +### Helm + +#### Available Settings + +Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. +Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). + +#### Configure using the command line + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +```console +helm install esphome \ + --set env.TZ="America/New York" \ + TrueCharts/esphome +``` + +#### Configure using a yaml file + +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. + +```console +helm install esphome TrueCharts/esphome -f values.yaml +``` + +#### Connecting to other charts + +If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/linking-apps) quick-start guide. + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/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/docs/about/sponsor) or contributing back to the project any way you can! + +--- + +All Rights Reserved - The TrueCharts Project diff --git a/stable/esphome/11.0.34/app-readme.md b/stable/esphome/11.0.34/app-readme.md new file mode 100644 index 00000000000..4c8d1d55300 --- /dev/null +++ b/stable/esphome/11.0.34/app-readme.md @@ -0,0 +1,8 @@ +ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/docs/charts/stable/esphome](https://truecharts.org/docs/charts/stable/esphome) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can! diff --git a/stable/matomo/3.0.56/charts/common-10.5.6.tgz b/stable/esphome/11.0.34/charts/common-10.5.6.tgz similarity index 100% rename from stable/matomo/3.0.56/charts/common-10.5.6.tgz rename to stable/esphome/11.0.34/charts/common-10.5.6.tgz diff --git a/stable/esphome/11.0.34/ix_values.yaml b/stable/esphome/11.0.34/ix_values.yaml new file mode 100644 index 00000000000..5cf39ef377e --- /dev/null +++ b/stable/esphome/11.0.34/ix_values.yaml @@ -0,0 +1,43 @@ +image: + repository: tccr.io/truecharts/esphome + pullPolicy: IfNotPresent + tag: 2022.8.1@sha256:3c3e4b1168f8bf95060acb417d3980ddc03917d0e81e21dcc83c53a78f9972c0 + +# App needs to run as root because of this: https://github.com/esphome/issues/issues/2752 +securityContext: + runAsNonRoot: false + readOnlyRootFilesystem: false + privileged: true + allowPrivilegeEscalation: true + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +service: + main: + ports: + main: + port: 6052 + targetPort: 6052 + +env: + {} + # ESPHOME_DASHBOARD_USE_PING: true + # ESPHOME_DASHBOARD_RELATIVE_URL: "/" + # ESPHOME_QUICKWIZARD: + # ESPHOME_IS_HASSIO: + # DISABLE_HA_AUTHENTICATION: + # USERNAME: + # PASSWORD: + +persistence: + config: + enabled: true + mountPath: "/config" + platformio: + enabled: true + mountPath: "/.platformio" + +portal: + enabled: true diff --git a/stable/esphome/11.0.34/questions.yaml b/stable/esphome/11.0.34/questions.yaml new file mode 100644 index 00000000000..c2a420bc593 --- /dev/null +++ b/stable/esphome/11.0.34/questions.yaml @@ -0,0 +1,2666 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: Controller + description: Configure Workload Deployment + - name: Container Configuration + description: Additional Container Configuration + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: global + label: Global Settings + group: Controller + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: Flag this is SCALE + schema: + type: boolean + default: true + hidden: true + - variable: controller + group: Controller + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: Show Advanced Controller Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: Please specify type of workload to deploy + label: (Advanced) Controller Type + schema: + type: string + required: true + enum: + - value: deployment + description: Deployment + - value: statefulset + description: Statefulset + - value: daemonset + description: Daemonset + default: deployment + - variable: replicas + description: Number of desired pod replicas + label: Desired Replicas + schema: + type: int + required: true + default: 1 + - variable: strategy + description: Please specify type of workload to deploy + label: (Advanced) Update Strategy + schema: + type: string + required: true + enum: + - value: Recreate + description: "Recreate: Kill existing pods before creating new ones" + - value: RollingUpdate + description: "RollingUpdate: Create new pods and then kill old ones" + - value: OnDelete + description: "(Legacy) OnDelete: ignore .spec.template changes" + default: Recreate + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Controller Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Controller Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: customextraargs + group: Controller + label: "Extra Args" + description: "Do not click this unless you know what you are doing" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + - variable: TZ + label: Timezone + group: Container Configuration + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - 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..." + group: Container Configuration + 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: expertpodconf + group: Container Configuration + label: Show Expert Configuration + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: tty + label: Enable TTY + description: Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: stdin + label: Enable STDIN + description: Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: termination + group: Container Configuration + label: Termination settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: gracePeriodSeconds + label: Grace Period Seconds + schema: + type: int + default: 10 + - variable: podLabelsList + group: Container Configuration + label: Pod Labels + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: podAnnotationsList + group: Container Configuration + label: Pod Annotations + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: ClusterIP + description: ClusterIP + - value: NodePort + description: NodePort (Advanced) + - value: LoadBalancer + description: LoadBalancer (Advanced) + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: (Advanced) Specify the IP Policy + schema: + show_if: [["type", "!=", "Simple"]] + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: (Advanced) IP Families + description: (Advanced) The IP Families that should be used + schema: + show_if: [["type", "!=", "Simple"]] + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - 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: 6052 + required: true + - variable: advanced + label: Show Advanced Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: Enable the Port + schema: + type: boolean + hidden: true + default: true + - variable: protocol + label: Port Type + schema: + type: string + default: HTTP + enum: + - value: HTTP + description: HTTP + - value: HTTPS + description: HTTPS + - value: TCP + description: TCP + - value: UDP + description: UDP + - variable: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 6052 + # Configure app volumes + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: Networking and Services + label: Host-Networking (Complicated) + schema: + type: boolean + default: false + - variable: externalInterfaces + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + 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: + 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 + show_subquestions_if: static + subquestions: + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + 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: dnsPolicy + group: Networking and Services + label: dnsPolicy + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ClusterFirst + description: ClusterFirst + - value: ClusterFirstWithHostNet + description: ClusterFirstWithHostNet + - value: None + description: None + - variable: dnsConfig + label: DNS Configuration + group: Networking and Services + description: Specify custom DNS configuration which will be applied to the pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: nameservers + label: Name Servers + schema: + default: [] + type: list + items: + - variable: nameserver + label: Name Server + schema: + type: string + - variable: options + label: Options + schema: + default: [] + type: list + items: + - variable: option + label: Option Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: searches + label: Searches + schema: + default: [] + type: list + items: + - variable: search + label: Search Entry + schema: + type: string + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + 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: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort + schema: + type: int + min: 9000 + max: 65535 + - 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: simplePVC + enum: + - value: simplePVC + description: PVC (simple) + - value: simpleHP + description: Host Path (simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: false + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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 + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 999Gi + - variable: hostPathType + label: (Advanced) hostPath Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) storageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: platformio + label: "Platformio 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: simplePVC + enum: + - value: simplePVC + description: PVC (simple) + - value: simpleHP + description: Host Path (simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: false + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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 + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 999Gi + - variable: hostPathType + label: (Advanced) hostPath Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) storageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: name + label: Name (Optional) + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: simpleHP + enum: + - value: simplePVC + description: PVC (Simple) + - value: simpleHP + description: Host Path (Simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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: 999Gi + - variable: hostPathType + label: (Advanced) Host Path Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) StorageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: [] + 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: tls + label: TLS-Settings + schema: + type: list + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: These middlewares enforce a number of best practices. + label: Enable Default Middlewares + schema: + type: boolean + default: true + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: service + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: security + label: Container Security Settings + group: Security and Permissions + schema: + type: dict + additional_attrs: true + attrs: + - variable: editsecurity + label: Change PUID / UMASK values + description: By enabling this you override default set values. + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - 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 + 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: "002" + - variable: advancedSecurity + label: Show Advanced Security Settings + group: Security and Permissions + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: true + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: true + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: capabilities + label: Capabilities + schema: + additional_attrs: true + type: dict + attrs: + - variable: drop + label: Drop Capability + schema: + type: list + default: [] + items: + - variable: dropEntry + label: "" + schema: + type: string + - variable: add + label: Add Capability + schema: + type: list + default: [] + items: + - variable: addEntry + label: "" + schema: + type: string + - variable: podSecurityContext + group: Security and Permissions + label: Pod Security Context + schema: + additional_attrs: true + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - 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 + + - variable: advancedresources + label: Set Custom Resource Limits/Requests (Advanced) + group: Resources and Devices + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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 + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 10m + 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/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 50Mi + 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: hostPath + 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" + # Specify GPU configuration + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] +# - variable: autoscaling +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - 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: +# additional_attrs: true +# type: dict +# attrs: +# - 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: 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: openvpn + description: OpenVPN + - value: wireguard + description: Wireguard + - value: tailscale + description: Tailscale + - variable: openvpn + label: OpenVPN Settings + schema: + 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 + default: "" + required: true + - variable: tailscale + label: Tailscale Settings + schema: + 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: 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: Sock5 Server + 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: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type + schema: + type: string + default: hostPath + hidden: true + - variable: hostPathType + label: hostPathType + schema: + type: string + default: File + hidden: true + - variable: noMount + label: noMount + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: Full Path to File + description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + 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 + - 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: git + label: Git Settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: deployKey + description: Raw SSH Private Key + label: Deploy Key + schema: + type: string + - variable: deployKeyBase64 + description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence + label: Deploy Key Base64 + schema: + type: string + - variable: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: NodePort + enum: + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: nodePort + description: Leave Empty to Disable + label: "nodePort" + schema: + type: int + default: 36107 + - 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: promtail + label: Promtail + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: Loki URL + schema: + type: string + required: true + - variable: logs + label: Log Paths + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: path + label: Path + schema: + type: string + required: true + - variable: args + label: Promtail Command Line Arguments + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + required: true + - variable: envList + label: Promtail 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: 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/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/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/matomo/3.0.56/templates/common.yaml b/stable/esphome/11.0.34/templates/common.yaml similarity index 100% rename from stable/matomo/3.0.56/templates/common.yaml rename to stable/esphome/11.0.34/templates/common.yaml diff --git a/stable/matomo/3.0.56/values.yaml b/stable/esphome/11.0.34/values.yaml similarity index 100% rename from stable/matomo/3.0.56/values.yaml rename to stable/esphome/11.0.34/values.yaml diff --git a/stable/filezilla/4.0.35/Chart.lock b/stable/filezilla/4.0.35/Chart.lock deleted file mode 100644 index 4c171c758d1..00000000000 --- a/stable/filezilla/4.0.35/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-31T00:20:58.968359733Z" diff --git a/stable/filezilla/4.0.35/CHANGELOG.md b/stable/filezilla/4.0.36/CHANGELOG.md similarity index 91% rename from stable/filezilla/4.0.35/CHANGELOG.md rename to stable/filezilla/4.0.36/CHANGELOG.md index ea07b92dde4..7dd1ceb2fdb 100644 --- a/stable/filezilla/4.0.35/CHANGELOG.md +++ b/stable/filezilla/4.0.36/CHANGELOG.md @@ -2,6 +2,15 @@ +## [filezilla-4.0.36](https://github.com/truecharts/charts/compare/filezilla-4.0.35...filezilla-4.0.36) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [filezilla-4.0.35](https://github.com/truecharts/charts/compare/filezilla-4.0.34...filezilla-4.0.35) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ - -## [filezilla-4.0.26](https://github.com/truecharts/apps/compare/filezilla-4.0.25...filezilla-4.0.26) (2022-07-28) - -### Chore - -- update docker general non-major ([#3326](https://github.com/truecharts/apps/issues/3326)) - - - diff --git a/stable/filezilla/4.0.36/Chart.lock b/stable/filezilla/4.0.36/Chart.lock new file mode 100644 index 00000000000..1bb15c9f8ab --- /dev/null +++ b/stable/filezilla/4.0.36/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:47:41.722373277Z" diff --git a/stable/filezilla/4.0.35/Chart.yaml b/stable/filezilla/4.0.36/Chart.yaml similarity index 98% rename from stable/filezilla/4.0.35/Chart.yaml rename to stable/filezilla/4.0.36/Chart.yaml index 3d10e583b0c..8bd1bb8ada1 100644 --- a/stable/filezilla/4.0.35/Chart.yaml +++ b/stable/filezilla/4.0.36/Chart.yaml @@ -24,7 +24,7 @@ sources: - https://filezilla-project.org/ - https://github.com/linuxserver/docker-filezilla type: application -version: 4.0.35 +version: 4.0.36 annotations: truecharts.org/catagories: | - media diff --git a/stable/filezilla/4.0.35/README.md b/stable/filezilla/4.0.36/README.md similarity index 98% rename from stable/filezilla/4.0.35/README.md rename to stable/filezilla/4.0.36/README.md index 631217557b2..8c10abc9be6 100644 --- a/stable/filezilla/4.0.35/README.md +++ b/stable/filezilla/4.0.36/README.md @@ -1,6 +1,6 @@ # filezilla -![Version: 4.0.35](https://img.shields.io/badge/Version-4.0.35-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.55.1](https://img.shields.io/badge/AppVersion-3.55.1-informational?style=flat-square) +![Version: 4.0.36](https://img.shields.io/badge/Version-4.0.36-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.55.1](https://img.shields.io/badge/AppVersion-3.55.1-informational?style=flat-square) A Helm chart for Kubernetes diff --git a/stable/filezilla/4.0.35/app-readme.md b/stable/filezilla/4.0.36/app-readme.md similarity index 100% rename from stable/filezilla/4.0.35/app-readme.md rename to stable/filezilla/4.0.36/app-readme.md diff --git a/stable/mattermost/3.0.38/charts/common-10.5.6.tgz b/stable/filezilla/4.0.36/charts/common-10.5.6.tgz similarity index 100% rename from stable/mattermost/3.0.38/charts/common-10.5.6.tgz rename to stable/filezilla/4.0.36/charts/common-10.5.6.tgz diff --git a/stable/filezilla/4.0.35/ix_values.yaml b/stable/filezilla/4.0.36/ix_values.yaml similarity index 82% rename from stable/filezilla/4.0.35/ix_values.yaml rename to stable/filezilla/4.0.36/ix_values.yaml index 94cb8cfb606..f646200a562 100644 --- a/stable/filezilla/4.0.35/ix_values.yaml +++ b/stable/filezilla/4.0.36/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: tccr.io/truecharts/filezilla pullPolicy: IfNotPresent - tag: v3.55.1@sha256:a4da979406c4cef4b20ece6ab19696111f433fe80a63a10b6dbf7b9e9a2ce984 + tag: v3.55.1@sha256:e3c176fed8ff5eec21af81cf09cec38b90c7baddcc3d10e8f078c6c13fb53f73 securityContext: readOnlyRootFilesystem: false diff --git a/stable/filezilla/4.0.35/questions.yaml b/stable/filezilla/4.0.36/questions.yaml similarity index 99% rename from stable/filezilla/4.0.35/questions.yaml rename to stable/filezilla/4.0.36/questions.yaml index ea8e0e5b5ac..465bb59cabb 100644 --- a/stable/filezilla/4.0.35/questions.yaml +++ b/stable/filezilla/4.0.36/questions.yaml @@ -2459,7 +2459,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2471,7 +2473,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/stable/filezilla/4.0.35/templates/common.yaml b/stable/filezilla/4.0.36/templates/common.yaml similarity index 100% rename from stable/filezilla/4.0.35/templates/common.yaml rename to stable/filezilla/4.0.36/templates/common.yaml diff --git a/stable/mattermost/3.0.38/values.yaml b/stable/filezilla/4.0.36/values.yaml similarity index 100% rename from stable/mattermost/3.0.38/values.yaml rename to stable/filezilla/4.0.36/values.yaml diff --git a/stable/impostor-server/1.0.37/Chart.lock b/stable/impostor-server/1.0.37/Chart.lock deleted file mode 100644 index 28d064eb0fc..00000000000 --- a/stable/impostor-server/1.0.37/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-09-01T20:50:38.507646522Z" diff --git a/stable/impostor-server/1.0.37/CHANGELOG.md b/stable/impostor-server/1.0.38/CHANGELOG.md similarity index 91% rename from stable/impostor-server/1.0.37/CHANGELOG.md rename to stable/impostor-server/1.0.38/CHANGELOG.md index e758749b1ec..23bb1cba884 100644 --- a/stable/impostor-server/1.0.37/CHANGELOG.md +++ b/stable/impostor-server/1.0.38/CHANGELOG.md @@ -2,6 +2,15 @@ +## [impostor-server-1.0.38](https://github.com/truecharts/charts/compare/impostor-server-1.0.37...impostor-server-1.0.38) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [impostor-server-1.0.37](https://github.com/truecharts/charts/compare/impostor-server-1.0.36...impostor-server-1.0.37) (2022-09-01) ### Chore @@ -88,12 +97,3 @@ - update helm general non-major helm releases ([#3376](https://github.com/truecharts/charts/issues/3376)) - replace questions parts with templates ([#3402](https://github.com/truecharts/charts/issues/3402)) - - - -## [impostor-server-1.0.28](https://github.com/truecharts/apps/compare/impostor-server-1.0.27...impostor-server-1.0.28) (2022-07-26) - -### Chore - -- update helm general non-major helm releases ([#3302](https://github.com/truecharts/apps/issues/3302)) - diff --git a/stable/impostor-server/1.0.38/Chart.lock b/stable/impostor-server/1.0.38/Chart.lock new file mode 100644 index 00000000000..3917b73e1df --- /dev/null +++ b/stable/impostor-server/1.0.38/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:47:42.801274457Z" diff --git a/stable/impostor-server/1.0.37/Chart.yaml b/stable/impostor-server/1.0.38/Chart.yaml similarity index 97% rename from stable/impostor-server/1.0.37/Chart.yaml rename to stable/impostor-server/1.0.38/Chart.yaml index 8a085522359..a3d8bf0c0f0 100644 --- a/stable/impostor-server/1.0.37/Chart.yaml +++ b/stable/impostor-server/1.0.38/Chart.yaml @@ -19,7 +19,7 @@ name: impostor-server sources: - https://github.com/truecharts/charts/tree/master/charts/stable/impostor-server type: application -version: 1.0.37 +version: 1.0.38 annotations: truecharts.org/catagories: | - games diff --git a/stable/impostor-server/1.0.37/README.md b/stable/impostor-server/1.0.38/README.md similarity index 98% rename from stable/impostor-server/1.0.37/README.md rename to stable/impostor-server/1.0.38/README.md index 0541d713cd4..f6b1f8caeaf 100644 --- a/stable/impostor-server/1.0.37/README.md +++ b/stable/impostor-server/1.0.38/README.md @@ -1,6 +1,6 @@ # impostor-server -![Version: 1.0.37](https://img.shields.io/badge/Version-1.0.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.7.2](https://img.shields.io/badge/AppVersion-1.7.2-informational?style=flat-square) +![Version: 1.0.38](https://img.shields.io/badge/Version-1.0.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.7.2](https://img.shields.io/badge/AppVersion-1.7.2-informational?style=flat-square) A private Among Us server diff --git a/stable/impostor-server/1.0.37/app-readme.md b/stable/impostor-server/1.0.38/app-readme.md similarity index 100% rename from stable/impostor-server/1.0.37/app-readme.md rename to stable/impostor-server/1.0.38/app-readme.md diff --git a/stable/monica/3.0.44/charts/common-10.5.6.tgz b/stable/impostor-server/1.0.38/charts/common-10.5.6.tgz similarity index 100% rename from stable/monica/3.0.44/charts/common-10.5.6.tgz rename to stable/impostor-server/1.0.38/charts/common-10.5.6.tgz diff --git a/stable/impostor-server/1.0.37/ci/base-values.yaml b/stable/impostor-server/1.0.38/ci/base-values.yaml similarity index 100% rename from stable/impostor-server/1.0.37/ci/base-values.yaml rename to stable/impostor-server/1.0.38/ci/base-values.yaml diff --git a/stable/impostor-server/1.0.37/ci/values.yaml b/stable/impostor-server/1.0.38/ci/values.yaml similarity index 50% rename from stable/impostor-server/1.0.37/ci/values.yaml rename to stable/impostor-server/1.0.38/ci/values.yaml index 5d52ea2f33f..106c59cf991 100644 --- a/stable/impostor-server/1.0.37/ci/values.yaml +++ b/stable/impostor-server/1.0.38/ci/values.yaml @@ -1,4 +1,4 @@ image: repository: tccr.io/truecharts/impostor-server-nightly pullPolicy: IfNotPresent - tag: vnightly@sha256:31aa82e9f3fd54251fc200a14fdd9ab62478ae3abe9a051d5b34c9ef93fe029a + tag: vnightly@sha256:33b4322ee540fa2b0cd1d991bbfac7a49910a7d66d53f316632b235ee426f401 diff --git a/stable/impostor-server/1.0.37/ix_values.yaml b/stable/impostor-server/1.0.38/ix_values.yaml similarity index 79% rename from stable/impostor-server/1.0.37/ix_values.yaml rename to stable/impostor-server/1.0.38/ix_values.yaml index 8c1bf29ce23..56f208f3ddf 100644 --- a/stable/impostor-server/1.0.37/ix_values.yaml +++ b/stable/impostor-server/1.0.38/ix_values.yaml @@ -1,12 +1,12 @@ image: repository: tccr.io/truecharts/impostor-server pullPolicy: IfNotPresent - tag: 1.7.2@sha256:59dd9845c6fe8d05ae26479477692c659a6c5d3faafd89f4e482fba22145bd25 + tag: 1.7.2@sha256:0f2e87f2791b5971077e427fd5ae8ba965f3e471c9c28e25b5b6356e6193dddf nightlyImage: repository: tccr.io/truecharts/impostor-server-nightly pullPolicy: IfNotPresent - tag: vnightly@sha256:31aa82e9f3fd54251fc200a14fdd9ab62478ae3abe9a051d5b34c9ef93fe029a + tag: vnightly@sha256:33b4322ee540fa2b0cd1d991bbfac7a49910a7d66d53f316632b235ee426f401 env: IMPOSTOR_Server__PublicIp: "127.0.0.1" diff --git a/stable/impostor-server/1.0.37/questions.yaml b/stable/impostor-server/1.0.38/questions.yaml similarity index 99% rename from stable/impostor-server/1.0.37/questions.yaml rename to stable/impostor-server/1.0.38/questions.yaml index 0f70d1b9d69..a37f5137580 100644 --- a/stable/impostor-server/1.0.37/questions.yaml +++ b/stable/impostor-server/1.0.38/questions.yaml @@ -2161,7 +2161,9 @@ questions: required: true - variable: docs group: Documentation - label: Please read the documentation at https://truecharts.org + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2173,7 +2175,9 @@ questions: default: true - variable: donateNag group: Documentation - label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/stable/mattermost/3.0.38/templates/common.yaml b/stable/impostor-server/1.0.38/templates/common.yaml similarity index 100% rename from stable/mattermost/3.0.38/templates/common.yaml rename to stable/impostor-server/1.0.38/templates/common.yaml diff --git a/stable/monica/3.0.44/values.yaml b/stable/impostor-server/1.0.38/values.yaml similarity index 100% rename from stable/monica/3.0.44/values.yaml rename to stable/impostor-server/1.0.38/values.yaml diff --git a/stable/jackett/11.0.76/CHANGELOG.md b/stable/jackett/11.0.76/CHANGELOG.md new file mode 100644 index 00000000000..8639a65da94 --- /dev/null +++ b/stable/jackett/11.0.76/CHANGELOG.md @@ -0,0 +1,99 @@ +# Changelog + + + +## [jackett-11.0.76](https://github.com/truecharts/charts/compare/jackett-11.0.75...jackett-11.0.76) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + +## [jackett-11.0.75](https://github.com/truecharts/charts/compare/jackett-11.0.74...jackett-11.0.75) (2022-08-31) + +### Chore + +- update docker general non-major ([#3640](https://github.com/truecharts/charts/issues/3640)) + + + + +## [jackett-11.0.74](https://github.com/truecharts/charts/compare/jackett-11.0.72...jackett-11.0.74) (2022-08-30) + +### Chore + +- Auto-update chart README [skip ci] + - update helm general non-major ([#3639](https://github.com/truecharts/charts/issues/3639)) + - update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) + + + + +## [jackett-11.0.73](https://github.com/truecharts/charts/compare/jackett-11.0.72...jackett-11.0.73) (2022-08-30) + +### Chore + +- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) + + + + +## [jackett-11.0.72](https://github.com/truecharts/charts/compare/jackett-11.0.71...jackett-11.0.72) (2022-08-29) + +### Chore + +- update helm general non-major ([#3619](https://github.com/truecharts/charts/issues/3619)) + + + + +## [jackett-11.0.71](https://github.com/truecharts/charts/compare/jackett-11.0.70...jackett-11.0.71) (2022-08-29) + +### Chore + +- update docker general non-major ([#3606](https://github.com/truecharts/charts/issues/3606)) + + + + +## [jackett-11.0.70](https://github.com/truecharts/charts/compare/jackett-11.0.69...jackett-11.0.70) (2022-08-28) + +### Chore + +- update docker general non-major ([#3600](https://github.com/truecharts/charts/issues/3600)) + + + + +## [jackett-11.0.69](https://github.com/truecharts/charts/compare/jackett-11.0.68...jackett-11.0.69) (2022-08-27) + +### Chore + +- update docker general non-major ([#3587](https://github.com/truecharts/charts/issues/3587)) + + + + +## [jackett-11.0.68](https://github.com/truecharts/charts/compare/jackett-11.0.67...jackett-11.0.68) (2022-08-25) + +### Chore + +- update docker general non-major ([#3561](https://github.com/truecharts/charts/issues/3561)) + + + + +## [jackett-11.0.67](https://github.com/truecharts/charts/compare/jackett-11.0.66...jackett-11.0.67) (2022-08-24) + +### Chore + +- update docker general non-major ([#3552](https://github.com/truecharts/charts/issues/3552)) + + + + +## [jackett-11.0.66](https://github.com/truecharts/charts/compare/jackett-11.0.65...jackett-11.0.66) (2022-08-23) + +### Chore diff --git a/stable/jackett/11.0.76/Chart.lock b/stable/jackett/11.0.76/Chart.lock new file mode 100644 index 00000000000..652e6f446ea --- /dev/null +++ b/stable/jackett/11.0.76/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:47:46.133596389Z" diff --git a/stable/jackett/11.0.76/Chart.yaml b/stable/jackett/11.0.76/Chart.yaml new file mode 100644 index 00000000000..481e3a95dd9 --- /dev/null +++ b/stable/jackett/11.0.76/Chart.yaml @@ -0,0 +1,31 @@ +apiVersion: v2 +appVersion: "0.20.1821" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +deprecated: false +description: API Support for your favorite torrent trackers. +home: https://truecharts.org/docs/charts/stable/jackett +icon: https://truecharts.org/img/hotlink-ok/chart-icons/jackett.png +keywords: + - jackett + - torrent + - usenet +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: jackett +sources: + - https://github.com/truecharts/charts/tree/master/charts/stable/jackett + - https://github.com/Jackett/Jackett +type: application +version: 11.0.76 +annotations: + truecharts.org/catagories: | + - media + - test + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/stable/jackett/11.0.76/README.md b/stable/jackett/11.0.76/README.md new file mode 100644 index 00000000000..c913d7c4066 --- /dev/null +++ b/stable/jackett/11.0.76/README.md @@ -0,0 +1,108 @@ +# jackett + +![Version: 11.0.76](https://img.shields.io/badge/Version-11.0.76-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.20.1821](https://img.shields.io/badge/AppVersion-0.20.1821-informational?style=flat-square) + +API Support for your favorite torrent trackers. + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. + +This readme is just an automatically generated general guide on installing our Helm Charts and Apps. +For more information, please click here: [jackett](https://truecharts.org/docs/charts/stable/jackett) + +**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)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://library-charts.truecharts.org | common | 10.5.6 | + +## Installing the Chart + +### TrueNAS SCALE + +To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Installing-an-App). + +### Helm + +To install the chart with the release name `jackett` + +```console +helm repo add TrueCharts https://charts.truecharts.org +helm repo update +helm install jackett TrueCharts/jackett +``` + +## Uninstall + +### TrueNAS SCALE + +**Upgrading, Rolling Back and Uninstalling the Chart** + +To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Upgrade-rollback-delete-an-App). + +### Helm + +To uninstall the `jackett` deployment + +```console +helm uninstall jackett +``` + +## Configuration + +### Helm + +#### Available Settings + +Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. +Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). + +#### Configure using the command line + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +```console +helm install jackett \ + --set env.TZ="America/New York" \ + TrueCharts/jackett +``` + +#### Configure using a yaml file + +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. + +```console +helm install jackett TrueCharts/jackett -f values.yaml +``` + +#### Connecting to other charts + +If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/linking-apps) quick-start guide. + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/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/docs/about/sponsor) or contributing back to the project any way you can! + +--- + +All Rights Reserved - The TrueCharts Project diff --git a/stable/jackett/11.0.76/app-readme.md b/stable/jackett/11.0.76/app-readme.md new file mode 100644 index 00000000000..94165e2dadb --- /dev/null +++ b/stable/jackett/11.0.76/app-readme.md @@ -0,0 +1,8 @@ +API Support for your favorite torrent trackers. + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/docs/charts/stable/jackett](https://truecharts.org/docs/charts/stable/jackett) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can! diff --git a/stable/n8n/4.0.51/charts/common-10.5.6.tgz b/stable/jackett/11.0.76/charts/common-10.5.6.tgz similarity index 100% rename from stable/n8n/4.0.51/charts/common-10.5.6.tgz rename to stable/jackett/11.0.76/charts/common-10.5.6.tgz diff --git a/stable/jackett/11.0.76/ix_values.yaml b/stable/jackett/11.0.76/ix_values.yaml new file mode 100644 index 00000000000..dde02ebf512 --- /dev/null +++ b/stable/jackett/11.0.76/ix_values.yaml @@ -0,0 +1,33 @@ +image: + repository: tccr.io/truecharts/jackett + pullPolicy: IfNotPresent + tag: 0.20.1821@sha256:599f2692fb1e347da8af542a77ce785358e1e59999872773748b10e98755ba91 + +securityContext: + readOnlyRootFilesystem: false + +service: + main: + ports: + main: + protocol: HTTP + targetPort: 9117 + port: 9117 + +probes: + liveness: + path: "/UI/Login" + + readiness: + path: "/UI/Login" + + startup: + path: "/UI/Login" + +persistence: + config: + enabled: true + mountPath: "/config" + +portal: + enabled: true diff --git a/stable/jackett/11.0.76/questions.yaml b/stable/jackett/11.0.76/questions.yaml new file mode 100644 index 00000000000..e8ad1ca9289 --- /dev/null +++ b/stable/jackett/11.0.76/questions.yaml @@ -0,0 +1,2488 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: Controller + description: Configure Workload Deployment + - name: Container Configuration + description: Additional Container Configuration + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: global + label: Global Settings + group: Controller + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: Flag this is SCALE + schema: + type: boolean + default: true + hidden: true + - variable: controller + group: Controller + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: Show Advanced Controller Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: Please specify type of workload to deploy + label: (Advanced) Controller Type + schema: + type: string + required: true + enum: + - value: deployment + description: Deployment + - value: statefulset + description: Statefulset + - value: daemonset + description: Daemonset + default: deployment + - variable: replicas + description: Number of desired pod replicas + label: Desired Replicas + schema: + type: int + required: true + default: 1 + - variable: strategy + description: Please specify type of workload to deploy + label: (Advanced) Update Strategy + schema: + type: string + required: true + enum: + - value: Recreate + description: "Recreate: Kill existing pods before creating new ones" + - value: RollingUpdate + description: "RollingUpdate: Create new pods and then kill old ones" + - value: OnDelete + description: "(Legacy) OnDelete: ignore .spec.template changes" + default: Recreate + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Controller Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Controller Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: customextraargs + group: Controller + label: "Extra Args" + description: "Do not click this unless you know what you are doing" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + - variable: TZ + label: Timezone + group: Container Configuration + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - 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..." + group: Container Configuration + 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: expertpodconf + group: Container Configuration + label: Show Expert Configuration + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: tty + label: Enable TTY + description: Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: stdin + label: Enable STDIN + description: Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: termination + group: Container Configuration + label: Termination settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: gracePeriodSeconds + label: Grace Period Seconds + schema: + type: int + default: 10 + - variable: podLabelsList + group: Container Configuration + label: Pod Labels + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: podAnnotationsList + group: Container Configuration + label: Pod Annotations + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: ClusterIP + description: ClusterIP + - value: NodePort + description: NodePort (Advanced) + - value: LoadBalancer + description: LoadBalancer (Advanced) + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: (Advanced) Specify the IP Policy + schema: + show_if: [["type", "!=", "Simple"]] + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: (Advanced) IP Families + description: (Advanced) The IP Families that should be used + schema: + show_if: [["type", "!=", "Simple"]] + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - 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: 9117 + required: true + - variable: advanced + label: Show Advanced Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: Enable the Port + schema: + type: boolean + hidden: true + default: true + - variable: protocol + label: Port Type + schema: + type: string + default: HTTP + enum: + - value: HTTP + description: HTTP + - value: HTTPS + description: HTTPS + - value: TCP + description: TCP + - value: UDP + description: UDP + - variable: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 9117 + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: Networking and Services + label: Host-Networking (Complicated) + schema: + type: boolean + default: false + - variable: externalInterfaces + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + 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: + 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 + show_subquestions_if: static + subquestions: + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + 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: dnsPolicy + group: Networking and Services + label: dnsPolicy + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ClusterFirst + description: ClusterFirst + - value: ClusterFirstWithHostNet + description: ClusterFirstWithHostNet + - value: None + description: None + - variable: dnsConfig + label: DNS Configuration + group: Networking and Services + description: Specify custom DNS configuration which will be applied to the pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: nameservers + label: Name Servers + schema: + default: [] + type: list + items: + - variable: nameserver + label: Name Server + schema: + type: string + - variable: options + label: Options + schema: + default: [] + type: list + items: + - variable: option + label: Option Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: searches + label: Searches + schema: + default: [] + type: list + items: + - variable: search + label: Search Entry + schema: + type: string + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + 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: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort + schema: + type: int + min: 9000 + max: 65535 + - 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: simplePVC + enum: + - value: simplePVC + description: PVC (simple) + - value: simpleHP + description: Host Path (simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: false + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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 + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 999Gi + - variable: hostPathType + label: (Advanced) hostPath Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) storageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: name + label: Name (Optional) + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: simpleHP + enum: + - value: simplePVC + description: PVC (Simple) + - value: simpleHP + description: Host Path (Simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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: 999Gi + - variable: hostPathType + label: (Advanced) Host Path Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) StorageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: [] + 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: tls + label: TLS-Settings + schema: + type: list + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: These middlewares enforce a number of best practices. + label: Enable Default Middlewares + schema: + type: boolean + default: true + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: service + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: security + label: Container Security Settings + group: Security and Permissions + schema: + type: dict + additional_attrs: true + attrs: + - variable: editsecurity + label: Change PUID / UMASK values + description: By enabling this you override default set values. + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - 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 + 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: "002" + - variable: advancedSecurity + label: Show Advanced Security Settings + group: Security and Permissions + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: capabilities + label: Capabilities + schema: + additional_attrs: true + type: dict + attrs: + - variable: drop + label: Drop Capability + schema: + type: list + default: [] + items: + - variable: dropEntry + label: "" + schema: + type: string + - variable: add + label: Add Capability + schema: + type: list + default: [] + items: + - variable: addEntry + label: "" + schema: + type: string + - variable: podSecurityContext + group: Security and Permissions + label: Pod Security Context + schema: + additional_attrs: true + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - 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 + + - variable: advancedresources + label: Set Custom Resource Limits/Requests (Advanced) + group: Resources and Devices + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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 + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 10m + 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/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 50Mi + 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: hostPath + 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" + # Specify GPU configuration + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] +# - variable: autoscaling +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - 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: +# additional_attrs: true +# type: dict +# attrs: +# - 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: 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: openvpn + description: OpenVPN + - value: wireguard + description: Wireguard + - value: tailscale + description: Tailscale + - variable: openvpn + label: OpenVPN Settings + schema: + 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 + default: "" + required: true + - variable: tailscale + label: Tailscale Settings + schema: + 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: 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: Sock5 Server + 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: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type + schema: + type: string + default: hostPath + hidden: true + - variable: hostPathType + label: hostPathType + schema: + type: string + default: File + hidden: true + - variable: noMount + label: noMount + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: Full Path to File + description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + 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 + - 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: git + label: Git Settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: deployKey + description: Raw SSH Private Key + label: Deploy Key + schema: + type: string + - variable: deployKeyBase64 + description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence + label: Deploy Key Base64 + schema: + type: string + - variable: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: NodePort + enum: + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: nodePort + description: Leave Empty to Disable + label: "nodePort" + schema: + type: int + default: 36107 + - 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: promtail + label: Promtail + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: Loki URL + schema: + type: string + required: true + - variable: logs + label: Log Paths + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: path + label: Path + schema: + type: string + required: true + - variable: args + label: Promtail Command Line Arguments + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + required: true + - variable: envList + label: Promtail 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: 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/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/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/rsshub/3.0.85/templates/common.yaml b/stable/jackett/11.0.76/templates/common.yaml similarity index 100% rename from stable/rsshub/3.0.85/templates/common.yaml rename to stable/jackett/11.0.76/templates/common.yaml diff --git a/stable/n8n/4.0.51/values.yaml b/stable/jackett/11.0.76/values.yaml similarity index 100% rename from stable/n8n/4.0.51/values.yaml rename to stable/jackett/11.0.76/values.yaml diff --git a/stable/lazylibrarian/11.0.52/CHANGELOG.md b/stable/lazylibrarian/11.0.52/CHANGELOG.md new file mode 100644 index 00000000000..fe1daa17f25 --- /dev/null +++ b/stable/lazylibrarian/11.0.52/CHANGELOG.md @@ -0,0 +1,99 @@ +# Changelog + + + +## [lazylibrarian-11.0.52](https://github.com/truecharts/charts/compare/lazylibrarian-11.0.51...lazylibrarian-11.0.52) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + +## [lazylibrarian-11.0.51](https://github.com/truecharts/charts/compare/lazylibrarian-11.0.50...lazylibrarian-11.0.51) (2022-08-31) + +### Chore + +- update docker general non-major ([#3640](https://github.com/truecharts/charts/issues/3640)) + + + + +## [lazylibrarian-11.0.50](https://github.com/truecharts/charts/compare/lazylibrarian-11.0.48...lazylibrarian-11.0.50) (2022-08-30) + +### Chore + +- Auto-update chart README [skip ci] + - update helm general non-major ([#3639](https://github.com/truecharts/charts/issues/3639)) + - update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) + + + + +## [lazylibrarian-11.0.49](https://github.com/truecharts/charts/compare/lazylibrarian-11.0.48...lazylibrarian-11.0.49) (2022-08-30) + +### Chore + +- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) + + + + +## [lazylibrarian-11.0.48](https://github.com/truecharts/charts/compare/lazylibrarian-11.0.47...lazylibrarian-11.0.48) (2022-08-29) + +### Chore + +- update helm general non-major ([#3619](https://github.com/truecharts/charts/issues/3619)) + + + + +## [lazylibrarian-11.0.47](https://github.com/truecharts/charts/compare/lazylibrarian-11.0.46...lazylibrarian-11.0.47) (2022-08-29) + +### Chore + +- update docker general non-major ([#3606](https://github.com/truecharts/charts/issues/3606)) + + + + +## [lazylibrarian-11.0.46](https://github.com/truecharts/charts/compare/lazylibrarian-11.0.45...lazylibrarian-11.0.46) (2022-08-28) + +### Chore + +- update docker general non-major ([#3600](https://github.com/truecharts/charts/issues/3600)) + + + + +## [lazylibrarian-11.0.45](https://github.com/truecharts/charts/compare/lazylibrarian-11.0.44...lazylibrarian-11.0.45) (2022-08-26) + +### Chore + +- update docker general non-major ([#3573](https://github.com/truecharts/charts/issues/3573)) + + + + +## [lazylibrarian-11.0.44](https://github.com/truecharts/charts/compare/lazylibrarian-11.0.43...lazylibrarian-11.0.44) (2022-08-25) + +### Chore + +- update docker general non-major ([#3561](https://github.com/truecharts/charts/issues/3561)) + + + + +## [lazylibrarian-11.0.43](https://github.com/truecharts/charts/compare/lazylibrarian-11.0.42...lazylibrarian-11.0.43) (2022-08-24) + +### Chore + +- update docker general non-major ([#3552](https://github.com/truecharts/charts/issues/3552)) + + + + +## [lazylibrarian-11.0.42](https://github.com/truecharts/charts/compare/lazylibrarian-11.0.41...lazylibrarian-11.0.42) (2022-08-23) + +### Chore diff --git a/stable/lazylibrarian/11.0.52/Chart.lock b/stable/lazylibrarian/11.0.52/Chart.lock new file mode 100644 index 00000000000..b8e6be462f9 --- /dev/null +++ b/stable/lazylibrarian/11.0.52/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:48:04.414493495Z" diff --git a/stable/lazylibrarian/11.0.52/Chart.yaml b/stable/lazylibrarian/11.0.52/Chart.yaml new file mode 100644 index 00000000000..c911db38b26 --- /dev/null +++ b/stable/lazylibrarian/11.0.52/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: "latest" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +deprecated: false +description: Get all your books, like series with Sonarr... +home: https://truecharts.org/docs/charts/stable/lazylibrarian +icon: https://truecharts.org/img/hotlink-ok/chart-icons/lazylibrarian.png +keywords: + - lazylibrarian + - ebooks +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: lazylibrarian +sources: + - https://github.com/truecharts/charts/tree/master/charts/stable/lazylibrarian + - https://gitlab.com/LazyLibrarian/LazyLibrarian.git + - https://lazylibrarian.gitlab.io +type: application +version: 11.0.52 +annotations: + truecharts.org/catagories: | + - media + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/stable/lazylibrarian/11.0.52/README.md b/stable/lazylibrarian/11.0.52/README.md new file mode 100644 index 00000000000..db25f45dc9f --- /dev/null +++ b/stable/lazylibrarian/11.0.52/README.md @@ -0,0 +1,109 @@ +# lazylibrarian + +![Version: 11.0.52](https://img.shields.io/badge/Version-11.0.52-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) + +Get all your books, like series with Sonarr... + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. + +This readme is just an automatically generated general guide on installing our Helm Charts and Apps. +For more information, please click here: [lazylibrarian](https://truecharts.org/docs/charts/stable/lazylibrarian) + +**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)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://library-charts.truecharts.org | common | 10.5.6 | + +## Installing the Chart + +### TrueNAS SCALE + +To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Installing-an-App). + +### Helm + +To install the chart with the release name `lazylibrarian` + +```console +helm repo add TrueCharts https://charts.truecharts.org +helm repo update +helm install lazylibrarian TrueCharts/lazylibrarian +``` + +## Uninstall + +### TrueNAS SCALE + +**Upgrading, Rolling Back and Uninstalling the Chart** + +To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Upgrade-rollback-delete-an-App). + +### Helm + +To uninstall the `lazylibrarian` deployment + +```console +helm uninstall lazylibrarian +``` + +## Configuration + +### Helm + +#### Available Settings + +Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. +Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). + +#### Configure using the command line + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +```console +helm install lazylibrarian \ + --set env.TZ="America/New York" \ + TrueCharts/lazylibrarian +``` + +#### Configure using a yaml file + +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. + +```console +helm install lazylibrarian TrueCharts/lazylibrarian -f values.yaml +``` + +#### Connecting to other charts + +If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/linking-apps) quick-start guide. + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/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/docs/about/sponsor) or contributing back to the project any way you can! + +--- + +All Rights Reserved - The TrueCharts Project diff --git a/stable/lazylibrarian/11.0.52/app-readme.md b/stable/lazylibrarian/11.0.52/app-readme.md new file mode 100644 index 00000000000..53f655886ec --- /dev/null +++ b/stable/lazylibrarian/11.0.52/app-readme.md @@ -0,0 +1,8 @@ +Get all your books, like series with Sonarr... + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/docs/charts/stable/lazylibrarian](https://truecharts.org/docs/charts/stable/lazylibrarian) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can! diff --git a/stable/prometheus/4.0.75/charts/common-10.5.6.tgz b/stable/lazylibrarian/11.0.52/charts/common-10.5.6.tgz similarity index 100% rename from stable/prometheus/4.0.75/charts/common-10.5.6.tgz rename to stable/lazylibrarian/11.0.52/charts/common-10.5.6.tgz diff --git a/stable/lazylibrarian/11.0.52/ix_values.yaml b/stable/lazylibrarian/11.0.52/ix_values.yaml new file mode 100644 index 00000000000..daf384342dd --- /dev/null +++ b/stable/lazylibrarian/11.0.52/ix_values.yaml @@ -0,0 +1,29 @@ +image: + repository: tccr.io/truecharts/lazylibrarian + pullPolicy: IfNotPresent + tag: latest@sha256:f4475492e859ea59f062699c0ce4fd704c7ef3ec315fa236df943283f2b8c9e1 + +securityContext: + runAsNonRoot: false + readOnlyRootFilesystem: false + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +service: + main: + ports: + main: + port: 5299 + targetPort: 5299 + +persistence: + config: + enabled: true + mountPath: "/config" + varrun: + enabled: true + +portal: + enabled: true diff --git a/stable/lazylibrarian/11.0.52/questions.yaml b/stable/lazylibrarian/11.0.52/questions.yaml new file mode 100644 index 00000000000..6638941e6f4 --- /dev/null +++ b/stable/lazylibrarian/11.0.52/questions.yaml @@ -0,0 +1,2488 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: Controller + description: Configure Workload Deployment + - name: Container Configuration + description: Additional Container Configuration + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: global + label: Global Settings + group: Controller + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: Flag this is SCALE + schema: + type: boolean + default: true + hidden: true + - variable: controller + group: Controller + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: Show Advanced Controller Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: Please specify type of workload to deploy + label: (Advanced) Controller Type + schema: + type: string + required: true + enum: + - value: deployment + description: Deployment + - value: statefulset + description: Statefulset + - value: daemonset + description: Daemonset + default: deployment + - variable: replicas + description: Number of desired pod replicas + label: Desired Replicas + schema: + type: int + required: true + default: 1 + - variable: strategy + description: Please specify type of workload to deploy + label: (Advanced) Update Strategy + schema: + type: string + required: true + enum: + - value: Recreate + description: "Recreate: Kill existing pods before creating new ones" + - value: RollingUpdate + description: "RollingUpdate: Create new pods and then kill old ones" + - value: OnDelete + description: "(Legacy) OnDelete: ignore .spec.template changes" + default: Recreate + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Controller Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Controller Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: customextraargs + group: Controller + label: "Extra Args" + description: "Do not click this unless you know what you are doing" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + - variable: TZ + label: Timezone + group: Container Configuration + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - 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..." + group: Container Configuration + 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: expertpodconf + group: Container Configuration + label: Show Expert Configuration + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: tty + label: Enable TTY + description: Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: stdin + label: Enable STDIN + description: Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: termination + group: Container Configuration + label: Termination settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: gracePeriodSeconds + label: Grace Period Seconds + schema: + type: int + default: 10 + - variable: podLabelsList + group: Container Configuration + label: Pod Labels + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: podAnnotationsList + group: Container Configuration + label: Pod Annotations + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: ClusterIP + description: ClusterIP + - value: NodePort + description: NodePort (Advanced) + - value: LoadBalancer + description: LoadBalancer (Advanced) + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: (Advanced) Specify the IP Policy + schema: + show_if: [["type", "!=", "Simple"]] + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: (Advanced) IP Families + description: (Advanced) The IP Families that should be used + schema: + show_if: [["type", "!=", "Simple"]] + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - 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: 5299 + required: true + - variable: advanced + label: Show Advanced Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: Enable the Port + schema: + type: boolean + hidden: true + default: true + - variable: protocol + label: Port Type + schema: + type: string + default: HTTP + enum: + - value: HTTP + description: HTTP + - value: HTTPS + description: HTTPS + - value: TCP + description: TCP + - value: UDP + description: UDP + - variable: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 5299 + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: Networking and Services + label: Host-Networking (Complicated) + schema: + type: boolean + default: false + - variable: externalInterfaces + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + 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: + 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 + show_subquestions_if: static + subquestions: + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + 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: dnsPolicy + group: Networking and Services + label: dnsPolicy + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ClusterFirst + description: ClusterFirst + - value: ClusterFirstWithHostNet + description: ClusterFirstWithHostNet + - value: None + description: None + - variable: dnsConfig + label: DNS Configuration + group: Networking and Services + description: Specify custom DNS configuration which will be applied to the pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: nameservers + label: Name Servers + schema: + default: [] + type: list + items: + - variable: nameserver + label: Name Server + schema: + type: string + - variable: options + label: Options + schema: + default: [] + type: list + items: + - variable: option + label: Option Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: searches + label: Searches + schema: + default: [] + type: list + items: + - variable: search + label: Search Entry + schema: + type: string + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + 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: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort + schema: + type: int + min: 9000 + max: 65535 + - 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: simplePVC + enum: + - value: simplePVC + description: PVC (simple) + - value: simpleHP + description: Host Path (simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: false + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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 + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 999Gi + - variable: hostPathType + label: (Advanced) hostPath Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) storageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: name + label: Name (Optional) + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: simpleHP + enum: + - value: simplePVC + description: PVC (Simple) + - value: simpleHP + description: Host Path (Simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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: 999Gi + - variable: hostPathType + label: (Advanced) Host Path Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) StorageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: [] + 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: tls + label: TLS-Settings + schema: + type: list + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: These middlewares enforce a number of best practices. + label: Enable Default Middlewares + schema: + type: boolean + default: true + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: service + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: security + label: Container Security Settings + group: Security and Permissions + schema: + type: dict + additional_attrs: true + attrs: + - variable: editsecurity + label: Change PUID / UMASK values + description: By enabling this you override default set values. + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - 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 + 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: "002" + - variable: advancedSecurity + label: Show Advanced Security Settings + group: Security and Permissions + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: capabilities + label: Capabilities + schema: + additional_attrs: true + type: dict + attrs: + - variable: drop + label: Drop Capability + schema: + type: list + default: [] + items: + - variable: dropEntry + label: "" + schema: + type: string + - variable: add + label: Add Capability + schema: + type: list + default: [] + items: + - variable: addEntry + label: "" + schema: + type: string + - variable: podSecurityContext + group: Security and Permissions + label: Pod Security Context + schema: + additional_attrs: true + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - 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 + + - variable: advancedresources + label: Set Custom Resource Limits/Requests (Advanced) + group: Resources and Devices + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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 + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 10m + 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/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 50Mi + 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: hostPath + 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" + # Specify GPU configuration + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] +# - variable: autoscaling +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - 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: +# additional_attrs: true +# type: dict +# attrs: +# - 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: 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: openvpn + description: OpenVPN + - value: wireguard + description: Wireguard + - value: tailscale + description: Tailscale + - variable: openvpn + label: OpenVPN Settings + schema: + 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 + default: "" + required: true + - variable: tailscale + label: Tailscale Settings + schema: + 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: 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: Sock5 Server + 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: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type + schema: + type: string + default: hostPath + hidden: true + - variable: hostPathType + label: hostPathType + schema: + type: string + default: File + hidden: true + - variable: noMount + label: noMount + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: Full Path to File + description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + 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 + - 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: git + label: Git Settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: deployKey + description: Raw SSH Private Key + label: Deploy Key + schema: + type: string + - variable: deployKeyBase64 + description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence + label: Deploy Key Base64 + schema: + type: string + - variable: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: NodePort + enum: + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: nodePort + description: Leave Empty to Disable + label: "nodePort" + schema: + type: int + default: 36107 + - 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: promtail + label: Promtail + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: Loki URL + schema: + type: string + required: true + - variable: logs + label: Log Paths + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: path + label: Path + schema: + type: string + required: true + - variable: args + label: Promtail Command Line Arguments + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + required: true + - variable: envList + label: Promtail 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: 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/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/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/storj-node/2.0.45/templates/common.yaml b/stable/lazylibrarian/11.0.52/templates/common.yaml similarity index 100% rename from stable/storj-node/2.0.45/templates/common.yaml rename to stable/lazylibrarian/11.0.52/templates/common.yaml diff --git a/stable/prometheus/4.0.75/values.yaml b/stable/lazylibrarian/11.0.52/values.yaml similarity index 100% rename from stable/prometheus/4.0.75/values.yaml rename to stable/lazylibrarian/11.0.52/values.yaml diff --git a/stable/matomo/3.0.56/CHANGELOG.md b/stable/matomo/3.0.57/CHANGELOG.md similarity index 92% rename from stable/matomo/3.0.56/CHANGELOG.md rename to stable/matomo/3.0.57/CHANGELOG.md index 14c84f65181..9fd26a271e4 100644 --- a/stable/matomo/3.0.56/CHANGELOG.md +++ b/stable/matomo/3.0.57/CHANGELOG.md @@ -2,6 +2,15 @@ +## [matomo-3.0.57](https://github.com/truecharts/charts/compare/matomo-3.0.56...matomo-3.0.57) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [matomo-3.0.56](https://github.com/truecharts/charts/compare/matomo-3.0.54...matomo-3.0.56) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ ## [matomo-3.0.46](https://github.com/truecharts/charts/compare/matomo-3.0.45...matomo-3.0.46) (2022-08-12) - -### Chore - -- update helm general non-major helm releases ([#3456](https://github.com/truecharts/charts/issues/3456)) - - - - -## [matomo-3.0.45](https://github.com/truecharts/charts/compare/matomo-3.0.44...matomo-3.0.45) (2022-08-12) diff --git a/stable/matomo/3.0.56/Chart.lock b/stable/matomo/3.0.57/Chart.lock similarity index 85% rename from stable/matomo/3.0.56/Chart.lock rename to stable/matomo/3.0.57/Chart.lock index 436b1a63a08..eaeaf9c28e6 100644 --- a/stable/matomo/3.0.56/Chart.lock +++ b/stable/matomo/3.0.57/Chart.lock @@ -6,4 +6,4 @@ dependencies: repository: https://charts.truecharts.org/ version: 3.0.66 digest: sha256:ad3438017628a13d5791d7dbcc46c6f6e65eda54b043ad10b6796f702f527b88 -generated: "2022-08-31T00:30:53.327433146Z" +generated: "2022-09-02T09:48:15.799722722Z" diff --git a/stable/matomo/3.0.56/Chart.yaml b/stable/matomo/3.0.57/Chart.yaml similarity index 98% rename from stable/matomo/3.0.56/Chart.yaml rename to stable/matomo/3.0.57/Chart.yaml index 8f17908b5f7..157403021b4 100644 --- a/stable/matomo/3.0.56/Chart.yaml +++ b/stable/matomo/3.0.57/Chart.yaml @@ -24,7 +24,7 @@ sources: - https://hub.docker.com/r/bitnami/matomo - https://github.com/bitnami/bitnami-docker-matomo - https://github.com/matomo-org/matomo -version: 3.0.56 +version: 3.0.57 annotations: truecharts.org/catagories: | - productivity diff --git a/stable/matomo/3.0.56/README.md b/stable/matomo/3.0.57/README.md similarity index 98% rename from stable/matomo/3.0.56/README.md rename to stable/matomo/3.0.57/README.md index 4e18ed4a881..b05b9061a31 100644 --- a/stable/matomo/3.0.56/README.md +++ b/stable/matomo/3.0.57/README.md @@ -1,6 +1,6 @@ # matomo -![Version: 3.0.56](https://img.shields.io/badge/Version-3.0.56-informational?style=flat-square) ![AppVersion: 4.11.0](https://img.shields.io/badge/AppVersion-4.11.0-informational?style=flat-square) +![Version: 3.0.57](https://img.shields.io/badge/Version-3.0.57-informational?style=flat-square) ![AppVersion: 4.11.0](https://img.shields.io/badge/AppVersion-4.11.0-informational?style=flat-square) Matomo is the leading Free/Libre open analytics platform diff --git a/stable/matomo/3.0.56/app-readme.md b/stable/matomo/3.0.57/app-readme.md similarity index 100% rename from stable/matomo/3.0.56/app-readme.md rename to stable/matomo/3.0.57/app-readme.md diff --git a/stable/rsshub/3.0.85/charts/common-10.5.6.tgz b/stable/matomo/3.0.57/charts/common-10.5.6.tgz similarity index 100% rename from stable/rsshub/3.0.85/charts/common-10.5.6.tgz rename to stable/matomo/3.0.57/charts/common-10.5.6.tgz diff --git a/stable/matomo/3.0.56/charts/mariadb-3.0.66.tgz b/stable/matomo/3.0.57/charts/mariadb-3.0.66.tgz similarity index 100% rename from stable/matomo/3.0.56/charts/mariadb-3.0.66.tgz rename to stable/matomo/3.0.57/charts/mariadb-3.0.66.tgz diff --git a/stable/matomo/3.0.56/ix_values.yaml b/stable/matomo/3.0.57/ix_values.yaml similarity index 96% rename from stable/matomo/3.0.56/ix_values.yaml rename to stable/matomo/3.0.57/ix_values.yaml index 03429ebe423..c54463ea59f 100644 --- a/stable/matomo/3.0.56/ix_values.yaml +++ b/stable/matomo/3.0.57/ix_values.yaml @@ -1,6 +1,6 @@ image: repository: tccr.io/truecharts/matomo - tag: 4.11.0@sha256:d483f1ffa4cfc4fd26bd9e55ac0ecf95e500ccf3ff77696164a458319bf193b8 + tag: 4.11.0@sha256:be7753272349edf361c699a6096abd03767f1360c78a4ece3e03c1c604b001a4 pullPolicy: IfNotPresent securityContext: diff --git a/stable/matomo/3.0.56/questions.yaml b/stable/matomo/3.0.57/questions.yaml similarity index 99% rename from stable/matomo/3.0.56/questions.yaml rename to stable/matomo/3.0.57/questions.yaml index 8573f30a927..46c919105c7 100644 --- a/stable/matomo/3.0.56/questions.yaml +++ b/stable/matomo/3.0.57/questions.yaml @@ -2623,7 +2623,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2635,7 +2637,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/stable/wekan/5.0.5/templates/common.yaml b/stable/matomo/3.0.57/templates/common.yaml similarity index 100% rename from stable/wekan/5.0.5/templates/common.yaml rename to stable/matomo/3.0.57/templates/common.yaml diff --git a/stable/rsshub/3.0.85/values.yaml b/stable/matomo/3.0.57/values.yaml similarity index 100% rename from stable/rsshub/3.0.85/values.yaml rename to stable/matomo/3.0.57/values.yaml diff --git a/stable/mattermost/3.0.38/CHANGELOG.md b/stable/mattermost/3.0.39/CHANGELOG.md similarity index 88% rename from stable/mattermost/3.0.38/CHANGELOG.md rename to stable/mattermost/3.0.39/CHANGELOG.md index c0253ec7d90..ad3e6f553d7 100644 --- a/stable/mattermost/3.0.38/CHANGELOG.md +++ b/stable/mattermost/3.0.39/CHANGELOG.md @@ -2,6 +2,15 @@ +## [mattermost-3.0.39](https://github.com/truecharts/charts/compare/mattermost-3.0.38...mattermost-3.0.39) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [mattermost-3.0.38](https://github.com/truecharts/charts/compare/mattermost-3.0.36...mattermost-3.0.38) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ - update helm general non-major helm releases to v10.4.9 ([#3413](https://github.com/truecharts/charts/issues/3413)) - - - -## [mattermost-3.0.28](https://github.com/truecharts/charts/compare/mattermost-3.0.27...mattermost-3.0.28) (2022-08-08) - -### Chore - -- update helm general non-major helm releases ([#3376](https://github.com/truecharts/charts/issues/3376)) - - replace questions parts with templates ([#3402](https://github.com/truecharts/charts/issues/3402)) diff --git a/stable/mattermost/3.0.38/Chart.lock b/stable/mattermost/3.0.39/Chart.lock similarity index 85% rename from stable/mattermost/3.0.38/Chart.lock rename to stable/mattermost/3.0.39/Chart.lock index 6885a986fd1..a42bc01fd6e 100644 --- a/stable/mattermost/3.0.38/Chart.lock +++ b/stable/mattermost/3.0.39/Chart.lock @@ -6,4 +6,4 @@ dependencies: repository: https://charts.truecharts.org/ version: 8.0.69 digest: sha256:ee7892824e92faa59af92ce8587e05ce7471f6a28751b79f51dfceffefb33cf3 -generated: "2022-08-31T00:31:11.022937413Z" +generated: "2022-09-02T09:48:17.276258187Z" diff --git a/stable/mattermost/3.0.38/Chart.yaml b/stable/mattermost/3.0.39/Chart.yaml similarity index 98% rename from stable/mattermost/3.0.38/Chart.yaml rename to stable/mattermost/3.0.39/Chart.yaml index c32246dc02f..30b55da9d7c 100644 --- a/stable/mattermost/3.0.38/Chart.yaml +++ b/stable/mattermost/3.0.39/Chart.yaml @@ -25,7 +25,7 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/mattermost - https://github.com/mattermost/mattermost-server - https://github.com/mattermost/docker -version: 3.0.38 +version: 3.0.39 annotations: truecharts.org/catagories: | - hosting diff --git a/stable/mattermost/3.0.38/README.md b/stable/mattermost/3.0.39/README.md similarity index 98% rename from stable/mattermost/3.0.38/README.md rename to stable/mattermost/3.0.39/README.md index ae478d2f6fd..1cec1d60b54 100644 --- a/stable/mattermost/3.0.38/README.md +++ b/stable/mattermost/3.0.39/README.md @@ -1,6 +1,6 @@ # mattermost -![Version: 3.0.38](https://img.shields.io/badge/Version-3.0.38-informational?style=flat-square) ![AppVersion: 6.3](https://img.shields.io/badge/AppVersion-6.3-informational?style=flat-square) +![Version: 3.0.39](https://img.shields.io/badge/Version-3.0.39-informational?style=flat-square) ![AppVersion: 6.3](https://img.shields.io/badge/AppVersion-6.3-informational?style=flat-square) Mattermost is an open source platform for secure collaboration across the entire software development lifecycle. diff --git a/stable/mattermost/3.0.38/app-readme.md b/stable/mattermost/3.0.39/app-readme.md similarity index 100% rename from stable/mattermost/3.0.38/app-readme.md rename to stable/mattermost/3.0.39/app-readme.md diff --git a/stable/storj-node/2.0.45/charts/common-10.5.6.tgz b/stable/mattermost/3.0.39/charts/common-10.5.6.tgz similarity index 100% rename from stable/storj-node/2.0.45/charts/common-10.5.6.tgz rename to stable/mattermost/3.0.39/charts/common-10.5.6.tgz diff --git a/stable/n8n/4.0.51/charts/postgresql-8.0.69.tgz b/stable/mattermost/3.0.39/charts/postgresql-8.0.69.tgz similarity index 100% rename from stable/n8n/4.0.51/charts/postgresql-8.0.69.tgz rename to stable/mattermost/3.0.39/charts/postgresql-8.0.69.tgz diff --git a/stable/mattermost/3.0.38/ix_values.yaml b/stable/mattermost/3.0.39/ix_values.yaml similarity index 92% rename from stable/mattermost/3.0.38/ix_values.yaml rename to stable/mattermost/3.0.39/ix_values.yaml index 4973ffee65e..d6738b968ac 100644 --- a/stable/mattermost/3.0.38/ix_values.yaml +++ b/stable/mattermost/3.0.39/ix_values.yaml @@ -1,6 +1,6 @@ image: repository: tccr.io/truecharts/mattermost - tag: v6.3@sha256:74201d8af73f0427f7a27d8eb647bacc0ad9fc1b7da56809e07be56b210eb301 + tag: v6.3@sha256:2c8f1590d1ca58862bc008db4df1f016d617384689b643b28f2dab99151abf14 pullPolicy: IfNotPresent env: diff --git a/stable/mattermost/3.0.38/questions.yaml b/stable/mattermost/3.0.39/questions.yaml similarity index 99% rename from stable/mattermost/3.0.38/questions.yaml rename to stable/mattermost/3.0.39/questions.yaml index ff34b9a7f40..6dbaf54a20d 100644 --- a/stable/mattermost/3.0.38/questions.yaml +++ b/stable/mattermost/3.0.39/questions.yaml @@ -3357,7 +3357,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -3369,7 +3371,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/stable/mattermost/3.0.39/templates/common.yaml b/stable/mattermost/3.0.39/templates/common.yaml new file mode 100644 index 00000000000..c1a366e1cf0 --- /dev/null +++ b/stable/mattermost/3.0.39/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.common.loader.all" . }} diff --git a/stable/storj-node/2.0.45/values.yaml b/stable/mattermost/3.0.39/values.yaml similarity index 100% rename from stable/storj-node/2.0.45/values.yaml rename to stable/mattermost/3.0.39/values.yaml diff --git a/stable/monica/3.0.44/CHANGELOG.md b/stable/monica/3.0.45/CHANGELOG.md similarity index 92% rename from stable/monica/3.0.44/CHANGELOG.md rename to stable/monica/3.0.45/CHANGELOG.md index 88c6bfbbee9..9b1bee39c37 100644 --- a/stable/monica/3.0.44/CHANGELOG.md +++ b/stable/monica/3.0.45/CHANGELOG.md @@ -2,6 +2,15 @@ +## [monica-3.0.45](https://github.com/truecharts/charts/compare/monica-3.0.44...monica-3.0.45) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [monica-3.0.44](https://github.com/truecharts/charts/compare/monica-3.0.42...monica-3.0.44) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ ### Chore - update docker general non-major ([#3377](https://github.com/truecharts/charts/issues/3377)) - - - - -## [monica-3.0.34](https://github.com/truecharts/charts/compare/monica-3.0.33...monica-3.0.34) (2022-08-08) - -### Chore - -- update helm general non-major helm releases ([#3376](https://github.com/truecharts/charts/issues/3376)) diff --git a/stable/monica/3.0.44/Chart.lock b/stable/monica/3.0.45/Chart.lock similarity index 85% rename from stable/monica/3.0.44/Chart.lock rename to stable/monica/3.0.45/Chart.lock index 77a6d835b1e..107b0c9edc1 100644 --- a/stable/monica/3.0.44/Chart.lock +++ b/stable/monica/3.0.45/Chart.lock @@ -6,4 +6,4 @@ dependencies: repository: https://charts.truecharts.org/ version: 3.0.66 digest: sha256:ad3438017628a13d5791d7dbcc46c6f6e65eda54b043ad10b6796f702f527b88 -generated: "2022-08-31T00:33:04.038373072Z" +generated: "2022-09-02T09:48:20.398731345Z" diff --git a/stable/monica/3.0.44/Chart.yaml b/stable/monica/3.0.45/Chart.yaml similarity index 98% rename from stable/monica/3.0.44/Chart.yaml rename to stable/monica/3.0.45/Chart.yaml index acdaef8c105..537842841b8 100644 --- a/stable/monica/3.0.44/Chart.yaml +++ b/stable/monica/3.0.45/Chart.yaml @@ -23,7 +23,7 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/monica - https://github.com/monicahq/monica - https://hub.docker.com/_/monica -version: 3.0.44 +version: 3.0.45 annotations: truecharts.org/catagories: | - crm diff --git a/stable/monica/3.0.44/README.md b/stable/monica/3.0.45/README.md similarity index 98% rename from stable/monica/3.0.44/README.md rename to stable/monica/3.0.45/README.md index e5cfe83d8b6..d58980cb072 100644 --- a/stable/monica/3.0.44/README.md +++ b/stable/monica/3.0.45/README.md @@ -1,6 +1,6 @@ # monica -![Version: 3.0.44](https://img.shields.io/badge/Version-3.0.44-informational?style=flat-square) ![AppVersion: 3.7.0](https://img.shields.io/badge/AppVersion-3.7.0-informational?style=flat-square) +![Version: 3.0.45](https://img.shields.io/badge/Version-3.0.45-informational?style=flat-square) ![AppVersion: 3.7.0](https://img.shields.io/badge/AppVersion-3.7.0-informational?style=flat-square) Monica is a great open source personal relationship management system. diff --git a/stable/monica/3.0.44/app-readme.md b/stable/monica/3.0.45/app-readme.md similarity index 100% rename from stable/monica/3.0.44/app-readme.md rename to stable/monica/3.0.45/app-readme.md diff --git a/stable/wekan/5.0.5/charts/common-10.5.6.tgz b/stable/monica/3.0.45/charts/common-10.5.6.tgz similarity index 100% rename from stable/wekan/5.0.5/charts/common-10.5.6.tgz rename to stable/monica/3.0.45/charts/common-10.5.6.tgz diff --git a/stable/monica/3.0.44/charts/mariadb-3.0.66.tgz b/stable/monica/3.0.45/charts/mariadb-3.0.66.tgz similarity index 100% rename from stable/monica/3.0.44/charts/mariadb-3.0.66.tgz rename to stable/monica/3.0.45/charts/mariadb-3.0.66.tgz diff --git a/stable/monica/3.0.44/ix_values.yaml b/stable/monica/3.0.45/ix_values.yaml similarity index 90% rename from stable/monica/3.0.44/ix_values.yaml rename to stable/monica/3.0.45/ix_values.yaml index 6c4a666e0de..0e99887239f 100644 --- a/stable/monica/3.0.44/ix_values.yaml +++ b/stable/monica/3.0.45/ix_values.yaml @@ -1,6 +1,6 @@ image: repository: tccr.io/truecharts/monica - tag: v3.7.0@sha256:f6e9cb0b61c793a4b7a90a850a25f3b68fbcf9516128342709a3f8d50b8e09f3 + tag: v3.7.0@sha256:9e929a887f4c770a79715203eb55c4a46caed2e4be5acfed5dbf4a0612768f15 pullPolicy: IfNotPresent securityContext: diff --git a/stable/monica/3.0.44/questions.yaml b/stable/monica/3.0.45/questions.yaml similarity index 99% rename from stable/monica/3.0.44/questions.yaml rename to stable/monica/3.0.45/questions.yaml index 252f21631a8..669662973c6 100644 --- a/stable/monica/3.0.44/questions.yaml +++ b/stable/monica/3.0.45/questions.yaml @@ -2480,7 +2480,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2492,7 +2494,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/stable/monica/3.0.44/templates/_appkey.tpl b/stable/monica/3.0.45/templates/_appkey.tpl similarity index 100% rename from stable/monica/3.0.44/templates/_appkey.tpl rename to stable/monica/3.0.45/templates/_appkey.tpl diff --git a/stable/monica/3.0.44/templates/common.yaml b/stable/monica/3.0.45/templates/common.yaml similarity index 100% rename from stable/monica/3.0.44/templates/common.yaml rename to stable/monica/3.0.45/templates/common.yaml diff --git a/stable/wekan/5.0.5/values.yaml b/stable/monica/3.0.45/values.yaml similarity index 100% rename from stable/wekan/5.0.5/values.yaml rename to stable/monica/3.0.45/values.yaml diff --git a/stable/n8n/4.0.51/CHANGELOG.md b/stable/n8n/4.0.52/CHANGELOG.md similarity index 92% rename from stable/n8n/4.0.51/CHANGELOG.md rename to stable/n8n/4.0.52/CHANGELOG.md index ed05fef41dc..5d6de56858c 100644 --- a/stable/n8n/4.0.51/CHANGELOG.md +++ b/stable/n8n/4.0.52/CHANGELOG.md @@ -2,6 +2,15 @@ +## [n8n-4.0.52](https://github.com/truecharts/charts/compare/n8n-4.0.51...n8n-4.0.52) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [n8n-4.0.51](https://github.com/truecharts/charts/compare/n8n-4.0.50...n8n-4.0.51) (2022-09-01) ### Chore @@ -88,12 +97,3 @@ ## [n8n-4.0.41](https://github.com/truecharts/charts/compare/n8n-4.0.40...n8n-4.0.41) (2022-08-18) -### Chore - -- update docker general non-major ([#3503](https://github.com/truecharts/charts/issues/3503)) - - - - -## [n8n-4.0.40](https://github.com/truecharts/charts/compare/n8n-4.0.39...n8n-4.0.40) (2022-08-17) - diff --git a/stable/n8n/4.0.52/Chart.lock b/stable/n8n/4.0.52/Chart.lock new file mode 100644 index 00000000000..b115354b933 --- /dev/null +++ b/stable/n8n/4.0.52/Chart.lock @@ -0,0 +1,12 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +- name: postgresql + repository: https://charts.truecharts.org/ + version: 8.0.69 +- name: redis + repository: https://charts.truecharts.org + version: 3.0.67 +digest: sha256:1c6ba2cfc84ac5c9cca053fd1d5442cd3f885a349425199967457130aee0eb4a +generated: "2022-09-02T09:48:47.442074611Z" diff --git a/stable/n8n/4.0.51/Chart.yaml b/stable/n8n/4.0.52/Chart.yaml similarity index 96% rename from stable/n8n/4.0.51/Chart.yaml rename to stable/n8n/4.0.52/Chart.yaml index 6cf9bb43c60..10ad2c57834 100644 --- a/stable/n8n/4.0.51/Chart.yaml +++ b/stable/n8n/4.0.52/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: "0.193.1" +appVersion: "0.193.3" dependencies: - name: common repository: https://library-charts.truecharts.org @@ -29,7 +29,7 @@ sources: - https://docs.n8n.io/ - https://github.com/n8n-io/n8n - https://hub.docker.com/r/n8nio/n8n -version: 4.0.51 +version: 4.0.52 annotations: truecharts.org/catagories: | - media diff --git a/stable/n8n/4.0.51/README.md b/stable/n8n/4.0.52/README.md similarity index 94% rename from stable/n8n/4.0.51/README.md rename to stable/n8n/4.0.52/README.md index 46176e28eff..6d99a731ba3 100644 --- a/stable/n8n/4.0.51/README.md +++ b/stable/n8n/4.0.52/README.md @@ -1,6 +1,6 @@ # n8n -![Version: 4.0.51](https://img.shields.io/badge/Version-4.0.51-informational?style=flat-square) ![AppVersion: 0.193.1](https://img.shields.io/badge/AppVersion-0.193.1-informational?style=flat-square) +![Version: 4.0.52](https://img.shields.io/badge/Version-4.0.52-informational?style=flat-square) ![AppVersion: 0.193.3](https://img.shields.io/badge/AppVersion-0.193.3-informational?style=flat-square) n8n is an extendable workflow automation tool. diff --git a/stable/n8n/4.0.51/app-readme.md b/stable/n8n/4.0.52/app-readme.md similarity index 100% rename from stable/n8n/4.0.51/app-readme.md rename to stable/n8n/4.0.52/app-readme.md diff --git a/stable/zigbee2mqtt/4.0.32/charts/common-10.5.6.tgz b/stable/n8n/4.0.52/charts/common-10.5.6.tgz similarity index 100% rename from stable/zigbee2mqtt/4.0.32/charts/common-10.5.6.tgz rename to stable/n8n/4.0.52/charts/common-10.5.6.tgz diff --git a/stable/n8n/4.0.52/charts/postgresql-8.0.69.tgz b/stable/n8n/4.0.52/charts/postgresql-8.0.69.tgz new file mode 100644 index 0000000000000000000000000000000000000000..0b98e94f79de5ced188840c935a844dd80ec2f41 GIT binary patch literal 56436 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ȺEoYoP>ko#QZUK8dQ{_ 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://truecharts.org + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -3003,7 +3005,9 @@ questions: default: true - variable: donateNag group: Documentation - label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/stable/n8n/4.0.51/templates/_configmap.tpl b/stable/n8n/4.0.52/templates/_configmap.tpl similarity index 100% rename from stable/n8n/4.0.51/templates/_configmap.tpl rename to stable/n8n/4.0.52/templates/_configmap.tpl diff --git a/stable/n8n/4.0.51/templates/common.yaml b/stable/n8n/4.0.52/templates/common.yaml similarity index 100% rename from stable/n8n/4.0.51/templates/common.yaml rename to stable/n8n/4.0.52/templates/common.yaml diff --git a/stable/zigbee2mqtt/4.0.32/values.yaml b/stable/n8n/4.0.52/values.yaml similarity index 100% rename from stable/zigbee2mqtt/4.0.32/values.yaml rename to stable/n8n/4.0.52/values.yaml diff --git a/stable/nextcloud/15.3.7/CHANGELOG.md b/stable/nextcloud/15.3.7/CHANGELOG.md new file mode 100644 index 00000000000..2f41dab16dd --- /dev/null +++ b/stable/nextcloud/15.3.7/CHANGELOG.md @@ -0,0 +1,99 @@ +# Changelog + + + +## [nextcloud-15.3.7](https://github.com/truecharts/charts/compare/nextcloud-15.3.6...nextcloud-15.3.7) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + ### Docs + +- add more docs + + + + +## [nextcloud-15.3.6](https://github.com/truecharts/charts/compare/nextcloud-15.3.4...nextcloud-15.3.6) (2022-08-30) + +### Chore + +- Auto-update chart README [skip ci] + - update helm general non-major ([#3639](https://github.com/truecharts/charts/issues/3639)) + - update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) + + + + +## [nextcloud-15.3.5](https://github.com/truecharts/charts/compare/nextcloud-15.3.4...nextcloud-15.3.5) (2022-08-30) + +### Chore + +- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) + + + + +## [nextcloud-15.3.4](https://github.com/truecharts/charts/compare/nextcloud-15.3.3...nextcloud-15.3.4) (2022-08-30) + +### Chore + +- update helm general non-major ([#3624](https://github.com/truecharts/charts/issues/3624)) + + + + +## [nextcloud-15.3.3](https://github.com/truecharts/charts/compare/nextcloud-15.3.1...nextcloud-15.3.3) (2022-08-29) + +### Chore + +- update docker general non-major ([#3620](https://github.com/truecharts/charts/issues/3620)) + - update helm general non-major ([#3621](https://github.com/truecharts/charts/issues/3621)) + - update helm general non-major ([#3619](https://github.com/truecharts/charts/issues/3619)) + + + + +## [nextcloud-15.3.1](https://github.com/truecharts/charts/compare/nextcloud-15.3.0...nextcloud-15.3.1) (2022-08-27) + + + + +## [nextcloud-15.3.0](https://github.com/truecharts/charts/compare/nextcloud-15.2.45...nextcloud-15.3.0) (2022-08-26) + +### Feat + +- set default phone region ([#3578](https://github.com/truecharts/charts/issues/3578)) + + ### Fix + +- multiple small fixes ([#3580](https://github.com/truecharts/charts/issues/3580)) + + + + +## [nextcloud-15.2.45](https://github.com/truecharts/charts/compare/nextcloud-15.2.44...nextcloud-15.2.45) (2022-08-25) + +### Chore + +- update docker general non-major ([#3561](https://github.com/truecharts/charts/issues/3561)) + + + + +## [nextcloud-15.2.44](https://github.com/truecharts/charts/compare/nextcloud-15.2.43...nextcloud-15.2.44) (2022-08-24) + +### Fix + +- Add port on non-ingressed installs ([#3557](https://github.com/truecharts/charts/issues/3557)) + + + + +## [nextcloud-15.2.43](https://github.com/truecharts/charts/compare/nextcloud-15.2.42...nextcloud-15.2.43) (2022-08-24) + +### Chore + +- set overwrite.cli.url ([#3541](https://github.com/truecharts/charts/issues/3541)) + diff --git a/stable/nextcloud/15.3.7/Chart.lock b/stable/nextcloud/15.3.7/Chart.lock new file mode 100644 index 00000000000..738693d3e9a --- /dev/null +++ b/stable/nextcloud/15.3.7/Chart.lock @@ -0,0 +1,15 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +- name: postgresql + repository: https://charts.truecharts.org/ + version: 8.0.69 +- name: collabora-online + repository: https://charts.truecharts.org/ + version: 12.1.37 +- name: redis + repository: https://charts.truecharts.org + version: 3.0.67 +digest: sha256:1ce785eec10e00f242264eb8c336077ce9e98dc51bddb8a33a098b773911b711 +generated: "2022-09-02T09:49:18.399718846Z" diff --git a/stable/nextcloud/15.3.7/Chart.yaml b/stable/nextcloud/15.3.7/Chart.yaml new file mode 100644 index 00000000000..96927d26481 --- /dev/null +++ b/stable/nextcloud/15.3.7/Chart.yaml @@ -0,0 +1,45 @@ +apiVersion: v2 +appVersion: "24.0.4" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 + - condition: postgresql.enabled + name: postgresql + repository: https://charts.truecharts.org/ + version: 8.0.69 + - condition: collabora.enabled + name: collabora-online + repository: https://charts.truecharts.org/ + version: 12.1.37 + - condition: redis.enabled + name: redis + repository: https://charts.truecharts.org + version: 3.0.67 +deprecated: false +description: A private cloud server that puts the control and security of your own data back into your hands. +home: https://truecharts.org/docs/charts/stable/nextcloud +icon: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png +keywords: + - nextcloud + - storage + - http + - web + - php +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: nextcloud +sources: + - https://github.com/truecharts/charts/tree/master/charts/stable/nextcloud + - https://github.com/nextcloud/docker + - https://github.com/nextcloud/helm +type: application +version: 15.3.7 +annotations: + truecharts.org/catagories: | + - cloud + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/stable/nextcloud/15.3.7/README.md b/stable/nextcloud/15.3.7/README.md new file mode 100644 index 00000000000..f7cb15a3b91 --- /dev/null +++ b/stable/nextcloud/15.3.7/README.md @@ -0,0 +1,112 @@ +# nextcloud + +![Version: 15.3.7](https://img.shields.io/badge/Version-15.3.7-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 24.0.4](https://img.shields.io/badge/AppVersion-24.0.4-informational?style=flat-square) + +A private cloud server that puts the control and security of your own data back into your hands. + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. + +This readme is just an automatically generated general guide on installing our Helm Charts and Apps. +For more information, please click here: [nextcloud](https://truecharts.org/docs/charts/stable/nextcloud) + +**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)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://charts.truecharts.org/ | collabora-online | 12.1.37 | +| https://charts.truecharts.org/ | postgresql | 8.0.69 | +| https://charts.truecharts.org | redis | 3.0.67 | +| https://library-charts.truecharts.org | common | 10.5.6 | + +## Installing the Chart + +### TrueNAS SCALE + +To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Installing-an-App). + +### Helm + +To install the chart with the release name `nextcloud` + +```console +helm repo add TrueCharts https://charts.truecharts.org +helm repo update +helm install nextcloud TrueCharts/nextcloud +``` + +## Uninstall + +### TrueNAS SCALE + +**Upgrading, Rolling Back and Uninstalling the Chart** + +To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Upgrade-rollback-delete-an-App). + +### Helm + +To uninstall the `nextcloud` deployment + +```console +helm uninstall nextcloud +``` + +## Configuration + +### Helm + +#### Available Settings + +Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. +Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). + +#### Configure using the command line + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +```console +helm install nextcloud \ + --set env.TZ="America/New York" \ + TrueCharts/nextcloud +``` + +#### Configure using a yaml file + +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. + +```console +helm install nextcloud TrueCharts/nextcloud -f values.yaml +``` + +#### Connecting to other charts + +If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/linking-apps) quick-start guide. + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/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/docs/about/sponsor) or contributing back to the project any way you can! + +--- + +All Rights Reserved - The TrueCharts Project diff --git a/stable/nextcloud/15.3.7/app-readme.md b/stable/nextcloud/15.3.7/app-readme.md new file mode 100644 index 00000000000..47480dc3484 --- /dev/null +++ b/stable/nextcloud/15.3.7/app-readme.md @@ -0,0 +1,8 @@ +A private cloud server that puts the control and security of your own data back into your hands. + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/docs/charts/stable/nextcloud](https://truecharts.org/docs/charts/stable/nextcloud) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can! diff --git a/stable/nextcloud/15.3.7/charts/collabora-online-12.1.37.tgz b/stable/nextcloud/15.3.7/charts/collabora-online-12.1.37.tgz new file mode 100644 index 0000000000000000000000000000000000000000..1bc8ed9d61cb3870d9ea753d4a651685901bfda2 GIT binary patch literal 59257 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%0D#1AX%ulOWWbBnc9F790F-J%0)!zJSZ8b00| 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 literal 0 HcmV?d00001 diff --git a/stable/nextcloud/15.3.7/charts/postgresql-8.0.69.tgz b/stable/nextcloud/15.3.7/charts/postgresql-8.0.69.tgz new file mode 100644 index 0000000000000000000000000000000000000000..0b98e94f79de5ced188840c935a844dd80ec2f41 GIT binary patch literal 56436 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ȺEoYoP>ko#QZUK8dQ{_ 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

YaXLVht~MeFRBZ4l;^CdIHOkj}LesY<{T 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 literal 0 HcmV?d00001 diff --git a/stable/rsshub/3.0.85/ix_values.yaml b/stable/rsshub/3.0.86/ix_values.yaml similarity index 93% rename from stable/rsshub/3.0.85/ix_values.yaml rename to stable/rsshub/3.0.86/ix_values.yaml index fa63cdd2ef2..32a180070cd 100644 --- a/stable/rsshub/3.0.85/ix_values.yaml +++ b/stable/rsshub/3.0.86/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: tccr.io/truecharts/rsshub pullPolicy: IfNotPresent - tag: latest@sha256:1dc3df2cb45210a2719677f462fd0b3e6ab7f146846324e51258a09fdc9eb409 + tag: latest@sha256:2067910a5d90981810150fa31a5e2353342cf2660eab0985249b6464ad72875c browserlessImage: repository: tccr.io/truecharts/browserless-chrome diff --git a/stable/rsshub/3.0.85/questions.yaml b/stable/rsshub/3.0.86/questions.yaml similarity index 99% rename from stable/rsshub/3.0.85/questions.yaml rename to stable/rsshub/3.0.86/questions.yaml index d7d29d8f742..2c14cdc05c9 100644 --- a/stable/rsshub/3.0.85/questions.yaml +++ b/stable/rsshub/3.0.86/questions.yaml @@ -2347,7 +2347,9 @@ questions: required: true - variable: docs group: Documentation - label: Please read the documentation at https://truecharts.org + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2359,7 +2361,9 @@ questions: default: true - variable: donateNag group: Documentation - label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/stable/rsshub/3.0.86/templates/common.yaml b/stable/rsshub/3.0.86/templates/common.yaml new file mode 100644 index 00000000000..c1a366e1cf0 --- /dev/null +++ b/stable/rsshub/3.0.86/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.common.loader.all" . }} diff --git a/stable/rsshub/3.0.86/values.yaml b/stable/rsshub/3.0.86/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/storj-node/2.0.45/Chart.lock b/stable/storj-node/2.0.45/Chart.lock deleted file mode 100644 index 7347d177d8f..00000000000 --- a/stable/storj-node/2.0.45/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-31T00:45:37.551680699Z" diff --git a/stable/storj-node/2.0.45/CHANGELOG.md b/stable/storj-node/2.0.46/CHANGELOG.md similarity index 92% rename from stable/storj-node/2.0.45/CHANGELOG.md rename to stable/storj-node/2.0.46/CHANGELOG.md index 5086ce3832e..9240da4ff1f 100644 --- a/stable/storj-node/2.0.45/CHANGELOG.md +++ b/stable/storj-node/2.0.46/CHANGELOG.md @@ -2,6 +2,15 @@ +## [storj-node-2.0.46](https://github.com/truecharts/charts/compare/storj-node-2.0.45...storj-node-2.0.46) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [storj-node-2.0.45](https://github.com/truecharts/charts/compare/storj-node-2.0.43...storj-node-2.0.45) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ - update helm general non-major helm releases ([#3376](https://github.com/truecharts/charts/issues/3376)) - replace questions parts with templates ([#3402](https://github.com/truecharts/charts/issues/3402)) - - - -## [storj-node-2.0.36](https://github.com/truecharts/apps/compare/storj-node-2.0.35...storj-node-2.0.36) (2022-07-28) - -### Chore - -- update docker general non-major ([#3326](https://github.com/truecharts/apps/issues/3326)) - diff --git a/stable/storj-node/2.0.46/Chart.lock b/stable/storj-node/2.0.46/Chart.lock new file mode 100644 index 00000000000..fd5af7a308d --- /dev/null +++ b/stable/storj-node/2.0.46/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:49:35.203666206Z" diff --git a/stable/storj-node/2.0.45/Chart.yaml b/stable/storj-node/2.0.46/Chart.yaml similarity index 96% rename from stable/storj-node/2.0.45/Chart.yaml rename to stable/storj-node/2.0.46/Chart.yaml index 0bbf180300e..4bc234ebad6 100644 --- a/stable/storj-node/2.0.45/Chart.yaml +++ b/stable/storj-node/2.0.46/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: "1.62.4" +appVersion: "1.63.1" dependencies: - name: common repository: https://library-charts.truecharts.org @@ -21,7 +21,7 @@ sources: - https://github.com/storj/storj - https://docs.storj.io/node/ - https://hub.docker.com/r/storjlabs/storagenode -version: 2.0.45 +version: 2.0.46 annotations: truecharts.org/catagories: | - media diff --git a/stable/storj-node/2.0.45/README.md b/stable/storj-node/2.0.46/README.md similarity index 94% rename from stable/storj-node/2.0.45/README.md rename to stable/storj-node/2.0.46/README.md index ab23cc426ba..addcb1aa4d7 100644 --- a/stable/storj-node/2.0.45/README.md +++ b/stable/storj-node/2.0.46/README.md @@ -1,6 +1,6 @@ # storj-node -![Version: 2.0.45](https://img.shields.io/badge/Version-2.0.45-informational?style=flat-square) ![AppVersion: 1.62.4](https://img.shields.io/badge/AppVersion-1.62.4-informational?style=flat-square) +![Version: 2.0.46](https://img.shields.io/badge/Version-2.0.46-informational?style=flat-square) ![AppVersion: 1.63.1](https://img.shields.io/badge/AppVersion-1.63.1-informational?style=flat-square) Storj is an S3-compatible platform and suite of decentralized applications that allows you to store data in a secure and decentralized manner diff --git a/stable/storj-node/2.0.46/SKIPINSTALL b/stable/storj-node/2.0.46/SKIPINSTALL new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/storj-node/2.0.45/app-readme.md b/stable/storj-node/2.0.46/app-readme.md similarity index 100% rename from stable/storj-node/2.0.45/app-readme.md rename to stable/storj-node/2.0.46/app-readme.md diff --git a/stable/storj-node/2.0.46/charts/common-10.5.6.tgz b/stable/storj-node/2.0.46/charts/common-10.5.6.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9e3f5a957f3fa92bc5b2d7cb2c16b0ab954235cf GIT binary patch literal 48176 zcmV)cK&ZbTiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMYcciT9UC_aDdQ{cyBw(Ysr)3)q*CVQ@9JKa8=I6k(MzPqz? z9EgM@j46T*fO0hHeD~kMlK>wQ?;=+dIQyf3W+fUVpGN-2D^iJpwMJCu1DaKlSe2 zR65ruRC#)N_^njy(R ztTiPwbO5HDr|h8HonSuAMxBt%x}0Vxlx4awO<9*ygt{}xIHFzsUa?{ehoT_^0?r|a zlywxSj3FA5grkH@s9AS!xYO(H?e4a2(BhWRh#j=rAaAVIHkh{Mi&h)xW^S?(vR(b* zKVSDd{b8rq?)}i3L7Z@i6GSC2G=n%k05}xsr+&;L1$GsGTA04$yV{r>Lm?rw4Z?``ir&;O@*UVwHR zd`MC9>HG|^6oq(A1%kiX95j{|TzJ|p~`A|^W2lF)v^6#bY%8m&w9 zTTIbJRII0a4!a@AEzAbcTtd(LonB|q8}xgx`a6c+ug1GWv^yO3(0(-Dk9MN%{oO$y zMSI(DCkzL##&EDR8t?Ay_j-Gy@dypKw^6Ux-`_z4G#Zb>COE7`>MMw27Qz^jM;U3zBuX_7ov^VJQ!rkGh z7s5dw!f+J58uoU3y;spb8tp_w7)H^~epore#rD^tZc52a^ln|^ntJuLwU8Tfu_?bA zmPg@1XV~c*@}iyIaIgPrZxC*yQ8eC*!rkFuv_A|7 zij%dauc}o~;S`2*T~1op3mc2BWAK_Tk{w zc+}h9+1nfJY;T8y{eFKGj$gsO{n6gu{`UT8e{T#|w%nAWvn=KqCwR%!mPOj4OjGLQ zHLBoI6k%2&IeVR6E;)C?K?uYbN8;%DE_0VwmYHu9v z>_xA(hdaH!ZPY`rkoeZCl$>tEP3bd<$q2?dT@VK_0c4IS#SxMVRwb0t7=Hm|EPsu& zI2MaDy`=k~OM6g6Ih1frkt_ouG!_ICEDS7w%9=2WWH}fEg&m0D2*s=eenRmKa5PJ$ zoCG0EzzBhip{UaWy3_&q`fWKhm?VVD$+QxrQ&hrjiRCmUag3-%86|KOBR%oWS5aAg zhz{feyGWY6C=e^#j{N=!#yA2*dJhND{0FaAg^;Z7r;&Ois zmJF{N|24p>3is{P9h-GKa+b|Th>F=2A%-c6KuRK}mmPrt(wrbh}4?k62&OwgaR1Hc0=b$E%}OD}_9qo+gCj@j@$-mL~>M z+28_5I>*+*e0F%LT5hQiMQt@f2~q~7(din1GB#&0brskc#>~n*OVxA8ryyfu{HH>T z&LPF30+S_E$fpP3hwcxhdZM){VSG#R(HA&NV{{-0senNcW{i^=I6aqjMcD(;e>Ldz zhx?u3ursU#2{XcHkmC@>@d8XBpCTbiaWbKZG1)&^Pro=PlplcMaOeo)tZBhZWFW=2@a$$^- z`-AND6j1o(;ehV2H@krTN4AD6b z5e!4oTJ0)c7duqNe6Ew=-oqPZFnQA7uLd^6`bA8fl#&r*TOc7^{DXMd>2#zWCcvFa z-l7O#24>0-g9+#tplyMfXp?2C00$(A7o}1X2BbGA0+1QJR73iQQD3BAiTW zS&NQf*qEV2;rp_YfKkUh68`!ub0PhD}*E`X>r`QKFo| znVn+(r!zY{@|hn+1`acGzT7_p4kuxpMVfiwh|H~gDGF+}0#tAv3+PDuWTiv>me3ou zY_e9rbQA(HD>}14Rsx_60<-+;b^3!|cd%2ad_gjf{3;P*94Amk zLIu5!{J*ZnOFk3G(JfpYc<`+c-~uHPlJkinaFWd1pCA>a1!=~))}J#m8e(W}vJs*Q z;z-atq=eop!cc$-qDAx~jOi3cmb-Q-$fGe$s^Yz6GaJfi0{9-(_2dx+2 za1)qC`U~)86PzDjUjA}?0Dk!T6?86;WQvZEQ{daTA6hTKkuB2Fy;m#k_b~k#EiTa5 zzBkHWeQ(cT+O{h<`P`tzf%uPkeOv-9S9NbGnK?ie8A@%L*3{=hOXarY)9DDBoNU_F z<<)FEaQ(JeYRMhQb!8n%;L$vy^0$@zZOnR~m z7diVBvc{Qm5o;etJ1^vka3PA0l?2z;q~cEjeS`!fFEMUCn-qpTgE5F8he9BY5Qqtk zq>*OrTnQU8z&ORpj4T9Ys{6U+04cgvavdMI)dPUXUfYw){v8i@i9iLqq zGP5nav2B(@Nkll)LKe*60#L+AJVzj5F(Efu3NT}tvNh!}{Ornno~2C4r8m|g3vLmB zF-0(1n2`s8YUOnw1Y01=kX-5uSQL>kRJi1=NPRCmsC1*4+ExiDHK#<21lsZ>T+k2n z{-_ECFuI;0NW&>|O%Ej|x{)IzdIJsdy z7aB+PIVGaLFtaE)Jq8=+A5V`rMbFxEDEg7grE$CvqBawvLr_>0Ism)F{T2Wp-ydH7 zd;ogAfe}&pX004XB#c*8_lP7Mec_!Drf`H~%&{2Ij58eBMg5N-PsJGf?s6q^j+|-& zjfj#|4xWtOfTh&A1TRF^JeV-WLcWV zNU#Eo`4$N)W1mty$1$3?>PpPF4@tZb z?Y_k^QZnD}g3B$Wb5rkxg)r7Oq6Hu*a7HBJwpv&i5pPVEk4lWkC|raws_U37;HbYV zX>>Yn=vy4eg4<}8Yzg%W6Mz%UZHX-aftVd){^A(|kOQ1B4&zw*JUT7?%kK8D2W}0C zwF-)`3=hcEZlvaPxv=ZB^geMV1}2UKCJWh8UP!KD1rEXx5@MV#0On}MI^aY!>6JDP zyD6L_fQ2-_O@#d@#FH>!3NXYc)z`@E0jPjs8X>woIKxM>rYFvRN!YkURh5?YYZ;a~ ztV&$ZDH)+sfLFWSM3i&LZlpk0tlmyZ)VBCK?_)eiiCArmiHYT3j6=$^w5|Ml-OXiD zrz5khYq!BW4N5r#3wReDF)(UU}@5P7N0%~qeK`?x0p?p z+g^?Sf@D+$_sRCa{9X-Zr4!a>cdbjRnVq>nADGoO?El4# zE*3nT{92qp|*4yM9R2Q&CZh82)8*!|0P?{$B-Csw7Ru4H3@CCE}RLSsUO zEh%RutDe#I6L;8awUosSz4$_Z=_7dya&SAv;Z$um<5>DU@;Cls=m!QIuwaH5gA-)e zBexWDj*^aPPT8r;%v6e`voJ)?$2LrH_m21-+(&QG_BeQtL_`_G*`qVkyh;49Ad~UDY21Oa5TM zti*baJz!mnwWK$3RWMAY#L-S{Wjok9~BW5xNYOWMkDu&d^mm1BmLOV!WtWXUOoI7d< zMe$nIP@^6^=8zx~d2TANBUUJdvO?a9esB_!xZ`}g%u)%%Im7f>tj|7gsedoUA6G}` z+5r4`eE!+3u9kA*lU~%N@HPQZtPJyL(If&B#B+@$1BV1FeY|)lze@d2Y0TUWH7SqYGKu^_Ub)FCVMSo4`lFLzSk$ebo|l%oP+)>Mob?{Mv-2YIm2Le zGfwOQHRU^Z)@nFm9Ki^XvD1zy{W+CQ$kFJC5vFQ=Bq$W=sVBxr2HL8jbIky`Jj`*= zu`cq1cNSjjW7Vpa!mj?7qh$29XA3ZwQup0?wVSL0vJ8(99n5E%!StYH(CRogp>|f= zvvQZCUV^F5j^NV33wG<@|Iu<P4?d69N?MQmT4i?vZCT^HGj7<+6<48nbQo?NHrEVQ1Q9EN=508tq)iSItW}jz94K=l;zdChPYL6>9(Hw_{E|;n zh5Ao~$+M;sDL=l!XlNPU?pR#vkgnA5Z5%CLnW2q}5VJ{1l(#dZL{_{2HcltZ+UI~&qo^UR6p?Du12VSWqqb5Da zozisHt(vofXr=%~1&=m{EKTxekevln!GODZcUfeY4tOIJwhAzo5!*sMD$Wukkm>+G z=#P#X4<5TGG;D~rVqcGI+T5NwaSy(^G1E|n?%Dk!U#EqLay*th16IfYd5HH2QSR+K z`s{BHE>tmb(ZEdwuP`nsyu|eWs3Q~gi9ndRVny@;sX#uV<`nhrz93_(7i*s9$T?ObUX%LK{B3 zV!dGztXgr{+UkH`;fSkW)ypyiRvnM^>sDC`5`ZnHjv$!i!UcJ356%GhSb-5-V?qwV z2-0Poc5g0gIEFfcuO|2{$H#839-Hm;01a#;`P2E9;D{}N zW+`7BW4fgk-c~;4wxqI>Nmm5J$ruS|Cn=q~%c?P%EU~fFAnK{!Er22AGvNy z7B@rJDLngI1x;ZE2Kof0n5C?*&GxL5ZA<8W0e5Ol)~~1CL#>`7VR3jv^Vr z)mA~=qOJ*WFG=M!9V)85<^GgQPAHrpaAZ$k<B*zlO{;}zu#WUpc^Na$bdk!!ik{!RfZ?#G@r_|Rxv{gQuRY zmPn5=iok}0#^x4Ch*wn_p)vqTZUl?TG9}hOQH8#0#D$?2Pi>dCbv)87REZua%H+u? zfWBZRSu%_vo^9o$tOJnjcQMnvHHovMWC|S#7_#vN$!J@Gba42nU4|h^{%I}|kS>eQ z9)QmsCyNFIEE}~|I9b9BAKH~bl+RG(gO`!)RAs4^$K35)5o6b8*+?!LG+JslQIf)m zKC$7+!9#gI=sj_>MjDC83%vS1cV!Z7$V=;3f&eoTAvtYnqfBi%2|H)(WMFXf zhv@)4&0*eBFtJL~Ftos73aK!z_$@*SfU$etqvbHiI=o>SLbexSy16_MR-h0S5=7b6 zrc%-d^P+a@s>&7KqZx{DCS9$8N;VYaS{DL7OUDdsTpYe{k6?Hs*vp={+B6eg1GQn2 ziZcyh!Jwipvs+?XcgpWl7^sGQ2`TsNF7dyR`uIk+{z*~nGZ-Vt#i&noA{SkUs=#%pr}*gx!%h=8$$p^=IyQV(w6~ z8qHE7FYnQ`Svu09^c{zp&(iODfdBo*_vvOo&FV7;Hkkc1OTI(a_}=;AM42n1doW)+ z&vaU+`;EK+Cv4;8BQHv|BQ#$z_69e1d5y!Vir&}04^gJPH0{_u9L+5enmbmW*$tH@ zT8iilGbX(d`asB(+$Jhz-E^k2Ml!_D^Ma)%ZpFG^FE|>m`t8{eF)W`A=AWyU>$AnN z+nY-_Gl;2pwMeCxN34FrDGG1Qxe87f+I!$*YH$+6d0fd^%VRk6jtBi|~|R0H-kF0A{quj=u`GqHjD%*wwLE9>QD&cStjrwX=b zCim$QrgQwCe_)5C)8EH)OR98>%5kVh;*$m`*875P_i&&X$)X%3>er=Ny2~9O@FMqN zAJ|vGxaX8tWoOWHKB>Ke*`jT71=aAC*r&5O-iBB?bky0X|S5_r*Yr8Fy})5Nq@-Ew$pjw);$ciZ0dPYqUT3 z5vyO`CSEv2Fm3C1Z5g|&seUFTh}vQj1P@8VIE7f|;9tw&Q5hw1GHIi^iZ1Cw#_%MO znU@k0q3(-B-gcZwDwz7{o|u~B;_{TZIx21&XfxSDJ12%PD(jkOHZ$xDe!09sw+G;F zIN@l5=zmJ~Fcp6mQvGi#7pnSlJ4MOIgh7tkSnf9!zRMtweAxb`r0RbbvWsy^1Wsao zbc;Q}m`Rv&d~&#w2DXtxx@xhOJB%@8$i{PN3m+w%V)eF*c-U28nu1zsDkSIWxry&p zh4PH050FO^Mp0WM(B?$)AmU+L;?NcnPyX443iIw}%jt(5SDZRoq5GYFucxGd#Z*bM zHV90lW=Lj%d3Sqz+wtD}$tX>>0<$m6Kv&(q#cFZ{c3L*U!9feW0KXuRu}t1HL{Ug) zGn7PTkJI=s^W;LhraDhRK#bsApBIuTLj=o*m}E>q4yOb=0dT_F=%_>^FlGecMCbx} zRB9>&K2srb4A3kQs@lmEsxQllG3PN7pe-U>fMwxSH2xkZSPXB+L_I{r20oa6IMuR5 z^;J=EOyZc_%KX7EKrF}VUe3AyBbF(*)F?Vd`-OtLz4ur%fyoytri;Fv z>-=LO#qVSgcUbO6vm?eZFvW#&OWIkR&3(HNXFsl zSf!#%>9X)P4`iCgu!+Sw>kO zB(P-*v4$%zq+iuXeb%K}(qXE1 zwwy=S!;DX5H1blK>KZWPQ@J9w)Oi68WsDb&PzdQ3z}BHIPl6^$NhqNQa3aYokE=Q4 zmcN}1X=QS!{5tY?dH|s6I)}XR2r+&wRkC@*NO-e*ZB~}{wY=o;THU6Y*On2w*M)EL z;|-4E%UjIDse>5$BCltObf$53eR@9MvC+g;Ux&q<8(Pr|!a7M@4gVBU8P{--Kg&U} zRx$o9j-A}x_Mp7VHf!={sYrFRd5|V%IGt?7ImgNcx#!K->wVEHb0O25VV zBrZpERBqtjX%EcX#GR*!`2UVTL4Qq%bX|CDKloPC`kP6m?Ic03pjBZBXf0b|3%IxC zD;+G2GZhM|PEve-HiCn66AK}fegP>eb4Jy9GHI41WlH2i3+H!nR(J}1kq48-lDh(2 z_;%apG2}$v-Mfhkr~czg4Uc$EtNJcsxv0tS`!$}*BO=4Asr5s)rBk>aK@QsyrYhlq z6W|*YoneI&kW$r%HyQ>|D0BC#o=H7vz0>Wsun6qWgd~m_C?eo|3G}IlZfDL!i$P6x zC%twD68$OUc3_2pC~UkbN_>>Lm>?RMz5!82_p88on5HJNyP6l~(7cd4DV&<2mX|a+ zOy&4#C2Wn?F{Uc{scZPE=;e5!?i4U01A-qhcW%O#7e+yObA`T3mf|_&2wYzNBm~Dw z^KpW?XUAQ@TUpn@F))BWp!9RWY-_i{8_3Xbr;QRp!Khffqwa)}`7rW{Ce{e@P=j<> z=r*PK2yYM*d=v^Z-6WH8T34+VaX2x@6ZCF@o{{2Bb#GM0ezk-{Us8EB5;ofll8qB? zg)jo2adb@?{A`4=hmyK4DL4BH2c}(ln5PQK?ewCC=&V%9equc-aU5>w6M`p(-bjDVNX$>a{!*yfpvoOYZ7FJ3%K&LRnzqVWNE*qlXP1MZJJ zhY{Ew_IrDZ51fQNB|b=O0+}@!!Cl2vC%gdbq`WAcqAlc00Q%}ZHFTY2*$*mm8i?9e z`3a;zT{k^JZGr-G@_s#|ETv>7R%?A;Chrit#e6D_j&l+{*yJ!cESnq_&&OCuSl|yiJ1o#U%??}pk=+b0 zUbJ-Hcb4xctF-s>%%m{ORGR{YvD}$RxJkhkp%f*;Xv2sJQ2G`i!nn{tzs7liMd?st^E~^LW&|57^V;XJJe*3IhX(h*+PqZ$yf>DNS~emc=7I1Ux4oD z1ThB3Zv^*dGqEFkYnPBW_w0^gA#bzDTg`c=QF!g%<#n5NFfaeKePkr2>-SF7YSu4N@~L|Cr|<7k=0Vq9_STjA z$KC7l#oisB#&>I@*X#9$J3I2*^yk1>OhWBoS~HBL}kf3(M$m>SJ)e-)y2US z*^8euo3%nmBz!#WwEoil_O12xs}0Z$c-T=K*pa)7oif`6psnlRF#w%U%5I#*WCY_5 z{&FN%sOFkaU68_Lg1}3hMCi*Fc!?#V2d`~q{N<$7jCWH!5RlsKb_=FhFH#RcaI?=k zVS+nh5{|_pd)^OPH#mt7fZn$|l(*{(L+;q-hi=Ufhbm0boC3gK+F!qdm&Lonab`vF$>2cvtL9vG8UpN27A_2yCpY!gsV*c;!?d|#VzrVXX z+jyUlO44zZq|Y*nzyqN;gEwsEy;o+;LS}-z?V3gP|?1c z=9ZWyt@aICu+rP#)Q*A!MQ*zuyavI`ghc2Xr$OFN-NBumZKv6d_@~M2^ z&EM&U3!uz6sy=)Z3uE_B->Lp_P@DxiNDze&%&{3d$seN#SyuZ~du^ZcOO{qy|b&+|Xe0|y1w zr~}H(BvG_~Ov9>EJK1i2=mI9)UpGX`bDhpY$IECzIw5Tr} zxcNl`T~~`62f^3gd}^Ej1zw@LMmlaA!blRIg8Je%Cp*}5I^$ZKP0;gkyIZSvev3bS zeRM4bjfwRS2waeM8Iyw!jI4IMvo>`DiJDgY+v%6`*jO*l1yU(l6{&5M#d^v| zMf#NPB(X|~$E*`-{j!26X*P;+_%m84qWlIpxs+!D!EazR+(Aj`>mLDHhUYf`tpcl> z!glq|9XwRe&tpC-_5VHm{^nVs|F;LjVL|^7x3~Mx`u`~&>Hoh#oMJRbGQ_Vdx5|X% zbuJzOm^l$1tNr*zx$L?SS1U5>>C#tO9=rw{LRQW)#*Yz7k4U<3{9(CD)8zw&i-4tX zRQ0sm&uDQb4HI2{HAZ=3c9*2G%hx)H)Pl~1o}j7up(tFGhwk4(ak&Gdq`3^1CEma^ z912Gpe0RhJfrFjkKx+ytRYN(ASJ5ty1HL2i9DVoQQSZLQT0;QX`3!IZ@Ry_fD{Dr{ ze0o%nv14Cq+ux8N-*Rvo1RLgaiJ%>akdAG#xpI=Z-IdoenQ$+4%S59tuISoJjhp0~ zyZ0bpAT1}7ZO&`o?trXU7mqx)t8m#l?vUP+PB*d+e z^Kg5A5Os-l`|!!8|6Dqj8v62qbZ^rNR0}sK4G#w6e%&T%Z^v5Q{VcM;srVnY=aA*kKzkp-J z5uKStjOtvVe_iZ zV_UAb@^BoVPCDYH?QbGmqHgGYdr?XUlJqtm4%Hm1`eI2UgC_#p8NZ8$!(kKwH%a5} zsLb%Ph6V4M!(w8q%{1p^xIEu>0D`Yytz^!>o{EnhC-=d(ZwE^XayS9sz6A>Ac^1d# zB*vlI)vBwL+F~;Bx_rLUJ6oxL{zyrdir*-iAGlHH`ZV5hJ!1;FY91z$tu3`#{!5*V zmxbHTW~5hGOJIGz&;6`wdz*dbIHfVfF$m7(UZ%~HC;)f!WBE=xk*brFwINFSFPT(r zDNPCi{5Mv$?U?6$<2`rzUn-HG68VV}d$IFkPa-Za#s|PJg z%JT;jgPJb2LC|hXV?g|QFH{5FQZ0ZyVF~!n=9zE;hUK_cnPg59XeSAZ-uLDd&t%Y- z`$@-ZnML40jeKD!@fZ-g1m6kf`2wzKIhA3gX=%M;_PEln=pyBlCI9<7CHcS8e_sDT$z$ce-on^0x9j6%0w$Q}X6@`SQqJq$sZZt( z(>rMgccbMgG{oA5zS4yUP2BReONBgocpZ`ILhu*v1$d1@@e9i9t9vrayMt=5J8XGZ zO6d!woHdL&(Nb8#JiBuLI8UAYH`%A|?fh*Z|A#xnqWs?-44&oxQ#@Aw*C#7m-}!4` zRl9!8*DA-a`L@FC>lbU{^!01_F5k6%z5s+Ug(Dnej**s*FpBcr#%Cv2*N4aNPtRIw z_=hdk{+Qlj%Rmq18+PgO_?}^%5Ar}l>yB{Jl~-T1K|7THuo$5f;6&Xkwi@X_h=*>q z{I@-Ny!=nYQvRo%-t+m-Cwc1P|J& zo~03g4UO@-`ET;%O8ZY;2K{LE-_Gu!H2;Us_TQ5{*8X#IPml3reV?xZ(6J1&Yy#WT zPTrtem+i8Q4{NM@O`C=E5bJqto%|500}D8d55RBs5`a9X{*?3dI+h`y*D5WZo8rFS&eMUOEy_3CmOR zyRLWj{F98T+7Zw7bqe|P`dY6zbdHjsGKb6m8ZSm8`Tw}<|G{9lZ2#@;J6c*^qs z0oMPnDk!i2tr)IY|C?_s*8hI7ChLE{#y!{nYb@#=J@-dk)LX82s71X?kH=rsuZX&` z$TW_*Qi`f0bnwi0(kLCaA@9l1v;(vCZ*MCp))cJqh>yn<>|6`h7Yx!91|Eai8>0$jp zRhG^p`+sustbO9suFUJtdgeu%cH6A=i^n{3NM2v_*J~g4EV?Kjr|FJjRE9U>`?>^`Mdy=Pg z{__F0e=9^}zWb{`R&D<3Pb>C*y;4oKe!U9!OZKrw;J0~m`CpgU?>`)We0Q?OuCbur zA9KT4u+T&86>BOy{x)&VCWC1I2FLN`E#~3WZ|&{r#mO&+@7}qs1s~1=r^v;Jk5?zx zeXm4+Z_w!vJH1Y?+aCliFPE6PuT&AUhAF9X6lG8{e@n?s#VRNZ?gEXC zWLw)OYs9>Re>o(=34Cxvb#f;`hfN_xQO6cElvMbruS=NKaUyubWL*!X_zPk0n3_$3 z9Yom}&ryOHJEvqM8}eQ>jdy6TXytLDDH_>-kDLFaHyo7q|95tt@Be<1=W+6X6jzPy zyC&plAZ}i|;%1G=?w56u-Jj0St`9$6{ZzV+Pb!xtg14E_wRa``o~z+y^WVCA@96zxH=QHa8JV2FG$KFBXUm$ArE6e9W z+ZYZFGksg{l7&#^U$P%pc$f<1n)sLsRSM?|%-M4A_W-hKumu8VZqY31uxap*R*Q2J zyxn>s`!l{w2|5UY=ZBo*y2a6zWv%{@W=p%wTobzvtd?z#bkQot$4?AD>;W0~dxNO8Iq^ zFduOJ0Z6|-B^gJogp73Aln|*o5814x2r+(*(^6B%Czn^(r{@pa79-)!?zK+KTx{_2 z!_m)|yVsW|7oScp9<*8Xg;RKK&dqp@p8UV7i^J=~iyzBGtr)lUi3`z;B-cw2xH>$2 zC$BL*z8fyjKKinc{yT8eKdS%m-_f_%pU9?Dqm$?_cOuG#(cfV(1Ujx0F zPJ
gz9oG>|@C{dE2F$$wc@m3s;+a~0g(AFyox+i=w1!T-1W?Eia`r_TTPiy8YT z_5V2m(AECG9IeOq|5;=n-T&uw`+M^LIrIN9{eRnK{omi&dDj0=@>u_0KC>Rc|5rJ6 z@)$7txynmtKd$i770Na7(iN(#6AQLG+%GuN)SG+9gXL?Z%ailNi^HoA-axs%r?|L^GC$K#XZvy-b|K3x2Kd3}2RX{W?aW%vc!|NFz@e4{}Q@8J}1#(#)(|0 zKFa<7gL3}g{`T&3{@*8gwEc%!e)o~wOJD#p0Kq8Ekd#zX`%W!WfRsc4TDAa0-tx-; zpF%EuG-~H9YGn*36TM&*oCab%qL40@8jR?*3GZfZslLpYB`_SpRg48RoP?7}cRtXLyBZNx} zEKgBWwss|X&ThGSIHxJ=&Q*B7LfFQ2vyS4`pK%g7cV=$Xb6%d1?Mfznv8vzgq6gc7 z>&^^WX@-*vl*TxO%&Y0VcdF~~^cnn8T`7O>RNB^+5T`hFDLpRWd365qBgZlR7vz{E z=ZJm)%>Fm(!tr2m0KnO%V z`QM-BSzG^~D#mym?XS7+!F0cdx2ERTwH`+AyTHB^t?yE$tn=Nk4K%)k;LDWa8KjF# z6)`SII&pTubs%}QlE$M>#&K*4bu_5LhWksHaqqa*4Mg)Wvo*ikV5xM1LJ>R zGC&n5l*g%}P=gkVOjc^`oKSAaT7;Jp%2`9=ilRA*b;{eho-+l&o11sw^NnimbUzqw z0h>O3i(FLAM5`xKb0}?g}=1_EV!W#$Y#lkwMqehLD730 zMKQXCREh7P8Z~tWT5uyHa&?hT2$#CoYxhIzV`P1wt$?@|5wiF zQrRNyO4tQA*$B}Dal}Fz1-a9(xWC>I9gE6+8_w5A{(7k}jI+8CEDp=8aztip4#uq6 zILwv}!R#K?uW!GW@M|tX- z7Tm=RPj=-~t_naKObK(Z;B$c3${krIpTwft*RPUv z9Z4_mj8(->OOAXFQ|`PSAvs zaWQhL%HQ7lr2;39a}~`~6Za%(E^n2rWPF#`tz0O47qzeC4&v9ZxokbBXpFxE3b^=O z1-67403#UQpd>o*Uam$$U1N&f?Mm~wXJr(jOLYN|x0#mS0+3|05u&QPByXv1*=j0a zbhf&EmNVAMrivu1n}YwwzV15zuMR_0;nDZ>0mj1pHurUXNSX^!9pnAI9ff2AKfyKn}ml zm*3U%Tc%UluUIbAeBW2CnLOt4)?*qrP9~k3eYp&n_iL6`Wi-Cm1=b&HAJ{BYQW9OF z7=@hBgYpu>`C8~?Z3$IIULdM)sl}r0y9IRZ8RX&gUDLq54%3altBB(p);XNK9ty_F zt*Ni}YL$u-f!&yrW%DoW0Q^1BK7!yM1!qSMEVKmFiGkD%lt!z)45Yzs3*^u%$D$;2 z?22FQV9Ao|@9M>fTTaZL(sl8i08bh*DTv3=;R5BzPDiB=`I-QyZ(pBeODeU!Y%G<=sXtn)-}neC=bzG` zDGZUFx0_%?-V7nhvsvn>N;F)m)^TR4$}wD1Z12E2uCQ;!G){#wyOciqj8gIp zCCnjPL2rSIWn;UxkhkD7gI0%YQ*NrOe-A!dN};tlXep$J=A9BRc?mGorlu|?e;h0~ z8-}%JLqo-7VlP}LYqjd~O17opRnlJK<+J{J)?d&1tFiQX)?d&1>yNCzo>F~%{asSP z*ZF_bdH5i)zkh0w|E0fIJpZ%1J$OF<`y|iW@xSNhR6keuejmjU&mJclIGu-1*66b5 z*1b)(ohN`;?zF9O*%o1eT6e8KXT9nBGM$HOyRaX|!KuLjK`3oisPd=tA2)XxSGc(CkH$Bw)Hu#PH*)ORD);bb z!!SgQy(f{$!_-!RB9@r;yBoH2fnf9t#TF#+x9)p>>g_)|f)8c@uCo7jcS`o(&d#&__ax6+ z_Mc#iM@jV}0Dm93UIZp<1`tT9JV@Mtg_JK%f7fsUON_F8Xg}TUP`DH?Fyk_#kThAG zfB=15JkA(L^n%27`I;>b1+(NXhRK7OCI#(WX+3_|)?SGYGW=A0@#0Wd!~L3PV7%Y( zzrjg_lgW3(1+`%z-`&_Z!<3R3=@duif}ABo)H3Og+zDDYAS_ebLgfiG3EABXg(Nbz zvQ3p#E4TgYh|WyLcxy_RKAR3(U$ojHF|pqHS(_T$T=yXVT$h-yG>iTSc5a>hch4(d zy=PVapWe=H@%(?U-+#9Mp5j^C|EDjAcoc`9d$q&^*mC~86b-F8-MSx)NzNKq6YPI5XNM}PA7^gUy96u-cd4AS@>h-@m2lWK`e|m%MekuRY z@Y(#SLrO}<_Fm;fM zo0x1K%II<@(E=C0om~xQfOIAoFKvvCRDY;+G3pPcGnW`05>~C%k(1)-&5m_*3l_|R zul8`lhDY&EN(m<+iT%OZ1i?>NSLc`ZEdKJN_+}8)C8CUlQzWQ1g)7+baEk8>e*%8rEbr5W=94OKe|o!gg+gDynwurQ7S5Yk)K0!| zL=zY*XN!Z1oL9P(e2tuve$oi%18COT>3OiCWCfem;8mbg>{K*#@ZWjJR~4_C6jkLf zSFP>|w`>$+ zHa#Q!0>Nl;7)3(%8#b)_>QQ$&h^odnq)}tT>eIJyhU0}A{!OrvpgOr?gq&Z+&xGQA zstJV{gZegV20_EcreFE*A}2H%0sF(ohkMBe!dWQ*BUDj|4n|P{&wA_#f=v&!_+y0@)YvS)#CljR?Z|w2p5jdtBESUh*|e?4qmD$W$jNXBGh>V zUAD?5tqI<0NeUf0C<{u(F}Nl4CMGbFS5>b`p^m96kA4L1rjWga;)`9QBplH(3=vZv zr;JJHAwZP17NMlGY$8|YQ@_cfx%$Ak3_3?{C8z0*LBR+s2T)<#x+sq>5YMPiN13LS zq!f$wOm0=mMNIJmqjfvxCW_Ddr4~s+Rf5C7KcdUfY>wy=nWZwR|KIwZ{;QyJCvr7i zJN|iIjl>9X=(SpvVnC7XXo|ucOA^LadyBP+l3ydzE^ZUwDFOfHa#Cs|n`Tw_p*$;w zHJ)YiU%OuK9RjvW{_pgQ_Wy8q`#JvmNgmh!*MTo^M4Rd){s$m%&wJS1{@=a@EtsZ-SeUtUbx0X@h57mITLqLE zOyC4X?a{(NY;u`rEw5V~x#x|Ru8L~bL=UziT59^+Y)bdznbOdTF!X!;XFx-}Z;@M?39^)?{Xb08yck4**m;h)o7-w<30KaB1#$zlb zYMRP1>9l@93c4)MMH^y#7#N`tW()yFW=O8#l;Be%ImRfCnB1I+@eFemiKQK%Vg@!w z3pvWiXP2TZPA1Zmwb^N%jsaCdQUM7`!XZwWW(fHXb8w5}SgaB=Ch%kcO5`=RE4e1$ zYjHRyS+zq`u{)y%;;r78c_5A}fh%)esYrqIOb1tUpNg?D)r<9N+iRB$f&4a`I|8#Y z8EroN2GU{7U(KZ}MVDAI8h11ZhcHJv$RswPy1X==ta{x)6-o zC=^UCnO)BuRZ3bitEHs2b_*T@r>~Ca(SPSwCq-!tLj;2V6M*14SYObXjul0GVMmt} z(ZSW7sXB!1@pJV~Xh&@jdt<;uujGgxi2qY=x^uTH#SKnCIox`HUb!X-pO~l<%8+ZlUAS=dXTb zbviiPi?oIOJ%Y#S(B8xL%!E2496&IKF^)j7&5b{^ z&7cmWDhXYyvc=E_iY@;S2s-k=HpM^y#=k~M110!tl;krumk1pp5t`13awdcO35?&{ zBz=CK@Tp$^*?G~u)~a7jk-IJgSDgRsZ|@fTe}mrk_TKaQ?l zeCwq4BdCs75G_CxAE1ADIY4i45}h)k$tX@HLGGOMZb7XHNe8vr9@j|5`PI!@{>cUg zQ+P-xI$gPb3)Kr1vqUHMWP;aYS;)8j@72equ~4hJ=pmW+?>oe_9&K)pCvkm-Y3VUW zYoGGSWS5nHu2B<(8CB<$IQqiPfhX_fog>yN+KcfRg^SQ!C~AK`WE&jO8BSC>su^NT zOmWDkny&fB_xZPj(%`S(gd-#>8p-8LT{A5JP%@W<`05?sAo)^VX1ezVr$e*kkbPu` zy7SnKVCVef>2ZFD#t2sNR*M(u**_>tnHoT)TWbx-kC!JG*AEZ%p&)+sPZn7C?+-73 zUb6*RXDQO6!1d+H)dK;3bZ+>uDU~Z495a~86a{4I_VTQH7hplUR{Av+_9s8SxB%i;CK$>H(!hqHJ8b$#*SLxHJ+eo%|3 zJaLvc8^Rdb~6#M!6Q4beD$s=&UbWafaj?<$gHxNV3c1!G~qI1avH zy&CdLcvaU|6)7xdVFj5ti_j{JQ-9yRg34;^UjBHw6uW#fRqg1PDlE5H^)y1s{GDJ{ z=TM7z<=fmsbD7eLYwa%&4Top_;uYN}Kq#n%D#Kkm0E2V2XT?$!;_*T@*i|6Lgo3Jh z87w1;{2L|nxB4=;l50Dph@a$AsI7A&>Qt)gxx;F=W=x!Mcx!K>(>Q^SZMqpY(onSp z^uSeQ?bnkTh*kX*^*N}mEnmw zAa$j|dy*wCJUzeNk2X_4-ca3eu0WlV5vs=BW|{5&r3JuyL??(z*US~o(AnW7xI8+1 zcLF9TK@@Tn0bvs0WK2|7MM;~p+}vy-6XCRg+Lh1}DF1lyTHhNXH;?5#5+$3%&#B|y zAmIRd4OCVh=T#XMS<$<5!w%ESLMgqTY?77X*|ojwS?T{xNp#;3pcVe#-k@L1|GU@U zevbcnl1KS}TUS#AQW7b5F6NjdOZ>l`R#OLXN}}4sVAemYlEuo2U3{14Us>ikDres= z?@uq+!IeqHYt|j*RiAnOE1^;aj|tP5>Q z7(Y|-`l5vMv$?xcR5BK!`MUugjztzFEceveAD-jiE8^QYHGOg5=*(+xF=hN0%%?x8 zk_8i{rb1;-5-02@O7s!D4oTIKy7CvvtSU)g#aD(P4W~*&+P9Tn{&HKA8u~{w-fiTr ztwvpzbzVG5gDy1yFu(5Fl=G*`j-mr+-r+=_vdqo%;^zi_<_U!%I!6>s*+P;?R&q-G zSSnC6v4r%tTW(FQWr|WrQBZfKfpt(S_n3({IAx~^<1mgr7Z^v3cd-57e$sDq^mG~` zZ7r5RAG}sBld_vfAo*nryu3jRQEKA`E!dKFegj#8e+9n*MktrZNekEXzRdSMO%l_3 zXtLERUqB9}llYNwx|M4IogufR2_h*2EqNR&DD)b@G!+FazBz4Ft#X|$8RHo#!Dyzg zYWd@1I-xK^W&X(Q2ltbHTgM;e&v)dHGNAkLM;Y4h#vf%=a{j15b8Y@8!D!4M`DAj% z6Y!_M_vy}a--B|$iSL2>9cR6Vhdbqc1n)54T>z^FGh9=x6rw+Bl#3sJ5JhtF0pl7b zsVq>>DmwLim4bRa8PEbm=55bbmi!GtkLHYyN&f@SLP1CX>ZwN)e2XNWwUUI8lq|+K&&4K#XXf zy2bf<*G8V*bHD4;!2d`2Jr4n{I{&@5Tgv~j`|SUFnn!LXoXb?8*5PN4w|EY}X6`<@ z?cyBHQb|UQf^OGrX;odtA&f?oh}1tURGrpT=QCZRw`ECBWtR#o7_Y%BWBgESX7x_h zZm+wks?Lg_FQRsrq9j68($+)*DBza5CIu_A?p57c*^8GpWowZ@eqgP1nCYFi;v&t> z3B6GYn9M&q+c^H|iVqo82cH;-h%}v8mP+D?79-uGF`-UM>JHejCBUEAmh%ay0~zXA zS!MGm55UzHjZLFmo#5KZi*4xSCyV~-=e4d&XA!%qURubos zPt^{+-OMhCR;@>5ue=rzWtef4gvdXFCqrIjaVvlIPli0YEIXjPq2BxkIJuP4R~X8( z;t|A>4l8s?LDjg|A6|3RgC?zasKWGkmc<;4CCjNi9zjt`80LhE)yzSCIS%b*8WnqB zHfr?%^lG>FYhnSM1@1b#0w&bD=zN+%ieWS=<~KK_d4G6udU*Wi`lk<IYbU6n znV-?Z3wbd?FS?14qKG*kZ_wfZq%p*a7{JO_FFt&@x;{U=y!_?E#qnb_ufMe^A-tVJ z#%>9X>YNG=)hLQEtE1V)$?@ssy(lKZuR$->;(ZBK->UrL)2Gn%hl^sM?r?kWRnUNx zGm=cm5(fNm_Tz{9GN5W=9R}2`9v@yEzB#-+DfG>q_Zofq?=j?X1f_w}r0Zdf!<#9| z7^>_2(Yw>5pMU!B@$%&Q{PgU{yAmL8sG0^inKVF`k(kyY8eD#OcOeHUxGRzZ{2D_f z8$9}OQHr;A21jBn{&PgAl%GKv#L3y=n|CMIhaazgIyt*KJvzKP{czR*uWF3t|$FJUDMT4)CCKCK0J-^pG}ZSi4=DD+PJwL#Dw;iSu^ z2G5`!nm>QjkY$MxWK;0Bzx{CX;q4FlJqo7;1cwRv#>Q8f{q0{LE zzIR$}tvMcYQEHwhIICJP2DOLB-~8RF;M)3Z)Lq_sFt6CEN7 z#sbZ}Z+HxnG28hP(d!A~V;IKZKmMci>NhZd9npwPScrmp%e`0yK?r| zuM%WOt%cMH#6LKDUl<+~eN&|W_DwRQc32cTEUa*5!nnT|7WI(758_RknBIPQH2N%O zZpT_l3F8xr*spQK(MF>H;Z+i{pBY2w*WnDHycOiv%_7dW}h4#9Gll8g*!v94WQF@jrnu2LC76 z48U*7Ze~-^ZcFT5eszuUZ=l_lPQ}4qufOMfG&Zv+@N0$<|7%63{(6UARj*Wwy_zl9 zuQ7~fI05ZUtm{B~8od1KE@Zz2pq)DJyk+LMK-$CLe=NlR_>YGG$~fd1dmvg=u0H|z z``364}PF{~;%+Oz5a)aQd_!8u} z+m2DhQj#$A`sIdWTLQrG43Uh3HUryW;Lul95-ZFw#)bDl%n*a4Twat5q_>1R&;^*ui)+ojP7&l# zs1}@n8JZEg2*5uIstPE2a+)FMotlVwQ>9O;xeNI{5~3d^vQ?a5o`*vSqnL3>r6~0i zmu#?2Pgr|erZEBu;d*pM>zz&qTnY{r%?bVA?};^s*ACD;-tXC0V|)jGuU{z}e!LYX zf)+TS-R2Y{_PP(+ZIcPve z6${vJ!GZt55pw2(5{L);ulBdQ0^zRtAQ$Z4g07UMT|rN85Dd94Nld|Vj;kJq;z0OA z;c|Vs*WWkt`Mmk+<>ijJE*kteO{HHSvK-N>K8eH zQi)|7$lu}G-%x9wCaUc+t-RG-u~W}sKHullVE>nl?wJLAMf}fBuekr)-y81iKJWiN z#iQbX&TzLyFabix*Lq-)YGxveqkL$)C@Bj7iaO?Q0Jtb`=F~6crNXs%96o?B3_%D zl|daZCFSLX)`AQ&7DeYNwW?4SIn$w1;%{$@TaCNBxvdJ7BCo{PAaM3wdtO+!Z3TS$ zCYj0Gf7LLg$6bpTj6MZy}%K}ck4A=DCE_JN1#B?)hq_hKnY zO*fp&{44t{1J?x78#=1Nt?0*sfXxQoapaxkHYXmg5gK)sSGK%9^mH}cDlRrq<*9TS zAEOv9>5k7?lU}MBz?CBv8-j%zZKkuk-lyu9SwdrOo1j0`w~g zj58?6FLVjgc^K%1+5BkWw_3+uOh|j>q7Eb-?CQVU7%X3Ik)h5~vHtUM0IQd}Hqr1AT*-AQ_$=tHFQ$U{g zMd~b|E41Z`PVl~AYOnDeKyAx9-?j7RB`7W4mUh}65>~$zx8_^?4&=%$1w|TFOZ|Pe zs;+Mim-$DlocAQM^_*8#OOr-m1+8rqgZy#eFz3?Ka>IK2ed&bF7tOMQ`Kj7X&B`Iq zfp3?`nqLYE*M45wPg6>|_H{{tjwM_z<^F&6-nF}J8*3QtXa5R3YG+N{*OEz57t3op z=W(4h^_evFiJkP!bY?XW2}u}J1WQ78G)>QMKMOY!1PO|yFHJk*hc*_8eZghlu(7e5 zp=gmxUZO>+20gh&iNT2Y(ZYs&DJiJvhS=T(amM~`V#UT;&w3`Z&_q~ZS26NyO0QIv zPp`Z`u|$lxK(WGnY8E=)N0C3Vr_%omP>k55@i9t|f65aQFQR|*f=Ml%!JYXZj$`BlAfI0i;l;Bs+N6I|LuWd@>4Pq+VD0q;+@jKqqGl>ak3xuSZ%h`qM0b~akj z`0rrumwE27pHKZ&HP4bpljnZFe*j}F?*=~wx9-6Wj)GGlrs%;MQOKqmGivzN2tLfKY4;1u@sVqL19mXd$iu~ejAK3}#Q=mKfa^BXoVe?RL$IlX} zxoK&Kqva_u9^Q`4!Rj`fBrG-IZP+}kZo-GLstF(Vsx}8jH?lmL#Dd8GzErXTJj=V6 zgFDP7Sq-=WBfiJGu~#JXnd=96_C zB3cl>&*TJa3yaOMGGTJ&<-n?p@IEiIfoC3avz)Cc> zx7^EJQ~6OPxAiubov|ESRm(yUjT=I|FS4xLpF`cKmRL?b&zW#*)m&rp{|zl^qg7@@ ztMRY0)FP6m?Wp{}(llI?0DUEoLp?dwhAmqlor^P0sa>Yk!nMI{4^G&$1xWm-^yg3p zO1aZgo&yilOAJ?^pG2=BLcDka0wnM%66C8#BtpcxzmMV18)PvCC8TUTH8%kmegdem zDNQhMq>#u!X;Pypu!76+tlfm{fJ4~%kB>(G^-MpwE5$KLMiJ|0~xE zdUF3yFVT4~|4#$-Tls&2ga`8fB(RB%7D2I9BPX!z0yZF&`GLGP(QiR94bu)3(=h#QD7N{6I?+`# z;bE}1bZnLE@9uwd4%z~4;;ab>8K|z#ngQm1&YB#Jmd={q7aedkcGm8R$L6dx7~ziC zY~I>~W2|=9erpNcjt7g+_V8lmkL9vG=+nUeQ`I~>JAga8$5{0(^7>4en^^oQ{jn?SUAzDB24PnC!3um;X$4ov5)ql;Mu zEY?9~LZStzmOiFAJl!xg^)w#_o6X;3bK((E+MLeEL0j#4esaRUGhbXiR5SN`WzFJf zKdKbl``o{ar-A>^?+K|LEnALj9-9iS%?qgt2?|iB-|C$+ptaYXBXI>@s)TUp42eGJ6K*FSx?U%vHtvvQq z-S$oaS8gh0%`_`c|5RFDg*%cf%(%k)q7~N!TD2Lc(N<~5m67I6I#_aMxc~-B+=->z zapgO!bEMT_65~$p?$!%~Av&*MyJ$S`RLGo`cE*cXOpVmN0llf|Qi)-&r+wI4~K|}qp#MiTl^I|6*WH( zxS8+<(M=Ko2vV}3AR+-e6H{a>lscxEL6ug~7}*nj`gleZw%7!npFtd%INnxNqMCc)A2%3q;i6XIxjv5ZLe^NSD2 z-|)KO2LSYCHC7b)NLAQdL+YTmYJ4U$F7Z;-5Qt{xIIgNh`l;6lG2 zRd9M*x=BUU%pHi=MMw+}uajPIrHjqA0)lr4FIV&wxCKFKjOGd^!F@-Q!Fcr16i8Sr zRbsFCU@{0-{C+c%T%$zQOzi)jMzm%O?>Bte$g#EGV``Z#o5vbQ{bC4NPG43hkyP_ z?JlzOzGur^Ek*91sr8?)&vlMcROPL_vX8$XtP7ni`%=H8%XL7ha&=bqdL7fP)^CUA zr^Eq81is+wnBR(9>T{E#FND;S zmqPG%l`^V?I8yFvL6|ZjCwr~Ju`NNSBqkwQZvVz)aIr&}cfoM9RB;cwEDH+nH(Qpu zMtr(u*A(z#Y86pDN z!`LC3f_zXjL|fsztdQ>hUyc8d*Km1n-~Y1)@&C!#IREcXM(#fT|0GW{|6gD6bcH~i zFb4?m83Lq$sG7}k3i1E-z%y~JLy!OYh7hV{%t5*uP%@w^B)$f{Wk}{QnE@-%=->(QU;y< zm`W8{-<|5Kp13bb4|z)?yO3=ZojM4Y!UR#~PftqaXPvcDT1=F3ohB>rx= zCJTf;U{@k$1whIMQ^r(azJZz6cUGyBAH2(SgT7HWRgm;>8ovIi(f`u)esulsj7Mht ze=>5Nz5aiSr-lCiTjm;ol)@-rKDC%5byHl`R0677GxCX24D(Dc;2W;{T)SQtZbXWTenT2y9K0&E* z-=0+m0R7cMHiD$~b)ahpj5M`pbut{{w5;U<)BLMpRv8qi+GX;9Ck z)iY^BXAOI*3lDSd)W8_rNrJwTyfo%S-Lx&+>+N!wH)xwyu<#KqaFWsr;6(sWWzX!N zc25KOpUk0uFDr1T{C7rX{>ON@umAWYPuT|(qJ<5*6!^9Fk`nlQlGI3h_I|gd=U6o{ z&;K@MJV(`3zze*OB-|CbMPzkSowv|My54WUojezW?`8Ra-_t<;rzp9_K6*s^-;Dnc zo#A-8m;X=k*yO()^foF$&664}a3wz3tq2r)O&6%2Om(2pHq{6j4UeQ0G}22b>r{hk zr)vkJOMg2Bk#Vrs5r3?wx%@x#eX@yY2Q{!u{trv_|J;eQkN-T$vqS#NLGPdjpqwtd zwSoMyu~JYpm34!9V^I-m2Dj7{8GVndFf_Jo1T;_|3QC0*IV+CHZ>~%-w)Q&Zw|i>j zznnHd#U!Ek+6LSu|Gkk}|HX0k_kTRiW0U`E(7}Qv0D>jHMG?3vI0S=s9s!?0HJad( zeXvvhbDEgczg1PJlCn_bUo{r-0>F4FoO@GL}85!Rue-?xA`1kY5O$!h`x#V|oY z5y-k&S^od*{VDxt?|*tgb)0dhxVq-MjdD?aR%EzNk?H*p*UcpzG_kAT*HbJ5G5q5&RkY8T9%+`{#!Rd6iw2r+x97*L?VA@1F(9 ztTMv6xMfJL&d*-G=>OxJs~TjWDYieQJs`95in)3N{Na2B6M8NW1ei@t3R|FS(4mEN zb=d(;$kaeQ7SBe8(SN13sFD9P4yB=WPYtj`{yP)bl>bwAGTh7mr+8Y)|0qC73ZTfj z1#|@|@JU1=j`Hl=!NJ=UF43t)8|0HpB)#Sef&W~s3iwZL@@mUi42zdBd66=alHh3B zlP-mM%8JIJdZUh0>E?Z2w5HhP*+8A$qU7&z9UfM<{v;}#)U5wIm_#^Q-ai9)m;L9A zhNk^D-QWN6G*655|AUwh0M5yV%0nv&2}6E(1ul0i{A@PKCf9ITbNuHGA#}$YuLP)@ zd;IvPdG_NYNYD~}_y$J-==GC-{xkSLUwlkga5$cv_PAL2;q1-pi`Oqt!JC{n5Fjef zr#$=R7oZ82L;n1%MI&ZwU^{ zeVGExk5(om*!UEa2%zW|CnQ>&fzRNz zI0(AnZ4B=yaJ!eogkM|udJ zfg2nJ%(=l4^OdT;DTKQ~iq^L%IVbBFCJ6NY@)dBM;fQ%=nb}kcMT3)b{S~0e23ZEA z5CO}8#%>NUTQN7v9N2v=T&+C zI*SZwBoy>IFR7#dqSf!=FfZSo_bLTJR$VB*^~=)N3h&#?9pF|ZrI(PddPPE0L@!aY z#-hBWSVtB>#ZP;?+Lmk`ML{i+oJ{NY?X=(@P%8fSJoWNF!M8X>OB6ij`9Eho_00XB z$#B2_^CSG+#VOdNC}=3~O`9u6WYl1@8EG12 zC0|0d(Wq-~{_#Yoj27+-^xL$COmki;5HC_6hFlYtV125xvUdGT5A{B_-)9Zh|7cQ* z{|%@6{hud!YVE)55ZJ@nekvt&m)%zij_k1ct|Yu#3+)ww!PhW^k&hCa<@aA^;nc7H zO&o`4jUo!emkHU#-F5+XtpDNAy#Hb7dehN<{XfMc)_)wc>8;BDmWN%|TuS8H4!~0U z+;Gj8;Pvuc;Nver3U84GX&gcytw*7Hv*+50!$CDE?h`lU+p+)J? z?MvIcWxOfBQ&h)%6C5Rd6j78gn@Qt9qQg-o2RZ|q1rw9t$}oH?dZn7Nuew4pf{t=3 zBrA8UJ4j4LMIC?;Cm<5MkUcPO_OZIU) zPV#9bIT?+B>r7h)f~yxyRX8}^#Q8KX1asxjg_)#vv_@%-QCyyIpjWlzH9Gd``Jc*D ztN$M+{d0Hzr{|XQzxMwBlRR9&e20=H;(7fc@nI-#Y|JXFMuE7-k9vAaA|iq?Gr_ z_qQk!^46eAM^^x)`yB67q56!P0;WS-j{MV##QOE`)BF1VpEZg94bAmG9S!&Af1c#2 z_5a_IaI;3|A;jxzbvx_>#sY53;M1LffvQGNxijX23U<3cJ?-bYz_W7>=CD-v57+hp&IGmweo$k0<*RQm^U7<306oE zti+*iDd5LMEK;Ewfo(IO2G2ko1=o&)loq|#n&ILm1Mk3kV(PHgcvpEN(9@t5?1~~m zhiz<$R_kBXw{Ela`Lomh9~rtUBFM`8PTLWuE^ZdfsSX z|LaK}ZT(k|vycGgcMWBLDp_t(`&!yFjso=I2z-GlT33~NSD*7T?-Z@G8ZYX_7iA(# z@QVxne&jzp`ejHH4(8Wi z^>TLnr>`pB|5Chjxhyw0hoZe;#3C#hK_!P$b#w-(&U2I>o3fyz!`NW`Yez7;`GC9p zzta6L!_m;)`+raJXzSlT&O#hizwdD7r!EA%Lnhdc1KI3@YMOT&3QdB@HLzQo4W@fo zqQ1&UtRcW|N!T1k1J`|Qiv9EZdD_YUZa(1d_@62Ny?yj>rd-?wqk1qd9<1CH;!tYJh014_-{fbbV zB>q&;S81@90XMPMV-i$n^BL?{!LJolh0lwUN}&8rrB$=_-+k}*vqtql%=Pbj)4l)y zBu{bum;8S9Q;St^N%hM>J#3C&5p2VS-ZZPP2)tpEZj~#}QGSwENu%|j(0lCuHrW3u zt$%0Y?e+hYJcacy$62lYr2c$gVcjRR^LlrhU_y5Ea$6?X;?(n z+@l;e@UDit+^b<5|0?SM&BGctiai?TV+E*E#4&?!k23Oa49UjtysM8b?gNdV?$bd2 z%XRu_`9H4Xn)!dO>+JLYp5)Qwzc$W711JIAuCh~w<=04b+cktmc6SxsPaGGklG{zr zmVS{Yw`D6;jY++{&b&|gc|m5U$?Yd;iteA^;3><00t1vB{{+ME{x^S$XQ%%^HqZZ$ zNBjGqpXT8=JADUn1W-hiZA@?^?tRuueuQ|Qz+@{*e+<9{Qx9PX#MNrN77@Q+DBSYf zi?T!cbC{w45OuFKxy1nrWL1&+`=j|39KbNt^~mv;;3bMs0x6P3NFc9S7Bey;f2-=1 ze0i+vit-RFNl$-~$G74k_GuqCbu0k*o-t>0o&m~w%y!X^t@tck)>7MDqKXy^k)Nd&`- zh@xZx{o)#~yi(YQAsUq1v2_PNf{2-U5d}_hamy;lJ_%5t*+oot1wo%g%^lYqH&e^SwSmrr!|wZAvgH?RYbnKeBFdN*4+V4IUPNd)Y~``Wl#D| zD7=lMW~9XlSyPC^4xOi(w(2_7s2Oz;qUnkd+JQRNv=w!#(GKdq-r!J`(TWy$xrXuX zSsuf?2qlB81;b&T-8qI7`3a(p!Hdru!p^n(E`6xL^HMswnysgVJ1fxl$tJ3ys8B&H z3))wWnyCF#{#H~23Q!!9?HVy$1z)d%M*Z6oU7}r9k-QcsL~9bIs0qsa)B9jdDWqtz z2|1vhNDE)rqAfsLFoEz)x!kYW`eXJO4uDC|vp=PWJsY)$rcYfsvD|MmiIO?=ZBwVN z-71D%nq>}l`=;4J9*felYd+@t!?0aLi8Mm=jwClR39-Mep!#=UvhJS;e603A^N$`V z0I?{`}XIJhg_qS-SJSr9$g1hC;ni-7&X&+kA&&_s8{DPc?5{Td=S> z81oK<<}HhNtG2*cQI5F{z4q%{i~!2nhLWWUqQoSnOvU{if*7Xh9Z7;zcr7R>nd6lv zmk8}(zQe3w4RG{tc%a!vw=%et)DAP*b!dT9OArD*!b_>xbCC zS&>bO?vFW#)ew0~!sPyF859%Yf0+Sf)&E?yK1uw~9ZjdD_}^atKh4AUf7zJxI6l9P zfD*Aws}@Fm5>P=Aa}UkxgX}I1n8i?q!8c`TP3QrFJh~OHX zTGlvwmkt)2Fl7HK#Orys(=(B1^UR(P{xQ2Di|NNh@T^Lb$n5Vgz(=r1$olVa9UjWC zrg(SCQPMc%ch$4^U;qwz0~LuYUue{fPQ8jq6JiUsKnfJ^`h0Llk{hP`t2x!a?8I&w zBcF|Df^IPz{cmwfNwR%~*O>D0tzf?DTLCylAva`Bd1!eJslO6w{ipS@a4}v3)%=wl zT0Leu5g63kkr=cY$sWBo>M>UJ@PKtj5$j1Y_|B(=<+xJzA=o_*23RepEt|UqVBNax z#H7h2|CLrMp*`g#+SOdDp<0_oF$pS0SOfW63+xAeZ2CXj?s@6JUo4kf1okK1}T`#d|&dnkJB<ui;3D^zT^XDALU zrj>dplq3Vfd+CcJI~BTG??0VzBgsJa0s6U)(`O_BgLK1F-8T`ug*b%sFi!|5AULhC zAGAg}{x$sYHve4=evPS6gea)dVO_Cb8bGNy5s>%x-Wc5*qo0m3YO(*cG@$z%fV=X4 z$F8~mKbh|1|4;LDu>Y>)+<1ftP$BzFe)Yv|b~C3s)}-DfC`2$tujQGq!5i`S;I%xR zRc}CQeC#dAy#@JH7G%NjxsMt7ee@iK=n>6GeW5q7BR3q~RSRpfnQ6Go+#JL(p_t!0 zT4yX~Us*@69_SNWadMOGb$ek{Z~ry6(JBnZz1emTvkic%^s&=yZW(8xZ^e1(-Phg% z&@Tk)9*-tw4q{1GGL6hLH?PhC3Yc-Vog>WU@3Ro5U|7NYKw4l+wa)%sC|qT?!_F0q<-!dx@?1EGf|f^uP}x zzfM79JrwH-@?q#LLo$b94}4L|PygM=hD-LpOcdwWeu`r!kA45YI~ea)yK7@bYu;V_*Iz# zur4C=AB!eN{&jXns9#W0`3LVZS3^S~kDZ9GkH6#v7Fa(h;lpV9{uU((4iKQk=tW-i zf%lcBJ{BM%w1jt1fYdkCQSoBa0=+%GVNVvC(0SC4&s4wzz3=&03vfN~Oh`g)_)L_C zMi*8oL?%}CDey(5CH04qq`%L{F8^0Ce46tgt~>Hd=RZdK``@4Bc~tq&&(uAv5 zm-#D_;Qx?_!tjy=XB$fR0lCD~0BkN>WdACLn$&0DyU2Uiu1?ZtSQ^XtoUTWb?tE}^ zG>s*?Xt$T;e~ia2|5YOFqvwANy-6wmf1m&HL=Ts6y8OS8cM;Y~|GE_*j(nT`D>B;^0g-W6`U&huN`8n+}!3uz5ucy=w*bKOYX{mKb{XZ6o*;% zxh%ZW1792-)@g|%7dtgYzniMahO&sSvC7EXgCc4p=0!toJk0*2<#?XzeIU-opQD6= zL+}iIp{9li+zjxCb2e+``Nh2CpVkKjwOptl_@~?cpKg1gM?=v8B7D{_fzamME>&NJ zvxJgkt%JCeA|tb*G}?K0S52Hc%6GetD52kyFhEI9!&BL9wju`%L{^;Si_ZBLdz+;8 zvFm?XDdLh>inx~*u*?7RTr>Z3Ivwrx|C2l=|F1CY58wkD0q8mx#RW&|jDf;F()?&`Hcbcf?&AS-yyrIQr&x3(Ewr-I? z&PmfSpvKxG8Teu-HAIb-fo!?A;y=m9F8@X7?Fs6CxMQbu{@0uA_y3>dDarpUKI{)5 z{8i|-Up#q`Uu45xzld&&VcajW-*ZtdBv1e;uh83CbY(GQ19W2vW(1*sDc#~-)@!N; zcSF@CJ}+K<#D6i=n_QC?1t;EWDoz6FqU7W>s0&T$=o&jS1sWeoR~Z9-ztR4KYpgo? zFRFY!`u@K=H1Gd(C*yto@6$XL@?Tsq_7Dm{mPW600OUt4B&8s);vUhGtQ7OtDlGZy zg0#%=+y&pjEZ%KyO%g=@TwNP-?7#}4`Lj7#@_ z3@6il{nsaXJ_nbOQj|m~lTTs>fV&lnz%>03i1yI^Zz8r{J-jl z)$*AANBx=JM#njzIrMKfF<9Ubr3YUQ(!2QJ%fTGp9DF&TYxZxF;N`)W|KGvq;2lgb z*`(m&`HS>m5GRC5xPt)>5Ih#2C*j|K8Z$um7ibJ_qM3W=w@-`ImX}*MozDzlf7eU-iV)=+6f3z#aAe`j=z) z*MrYL{~Y{Sc=4}iD@x<^^!Rv*>1s1)%KDfl8^kTd^qAM&@yR-d2|CtWdV|5B0O=4s z8#=>b-|_mx$>9OR#i(N|_TWodT?7Qgzd;EQ7lDKzB2j-0|4kD4`8W6j`;3&X8q$B~)e*AnmoQ@mug41+^(qs1h;o*U;!#rDu zd7V3KXmpsTci5$L=f$)J-}UYq;cgv#ia(h3im`RWoAp zu^QHlm22bJ?aZ-baO~D`Ot&!sILhu1N>EHBo6RW5*>r2zbZl%oUD=!&Tsrrfk%Hy% ztR2ha+2LXL**>%MNi!lUy5ywTB{RK89An&nfLK&j!x5%}`{AS=_rr;Oz)vi^opj}G zQsnKVlDBRG8wLT`Bq6s2$%cZTL+1RaWQ_ofV-OIOav>h#8w6Bmc`a9mSF<`MmdnwL#>Z}DxeB<7{1j+JtHj>8{lAEcq3X(@flE?KVH(AZ@tl4B!L*&j* znyh9CyWLuGXEkfZX5Vx+Zw%{3H*VZwB%oF(rLCU977?L}%CJ6$UZ!ex7zrA?Q%N+6mO1h1F5zu(a-o3ndF4*_lSv8I~ zv$Jor<2ssgjyc>;E&KD$I_A;o7*c;FN4?LWk`#der*IykteesmOi%!DEW4qZe961P zvvq@G=?14;H=GRIX;Ef7#eVRNb^i667iWLFc>NNH$O-t4t$J>+py;-L3zHO(4NY-? z09ml#K#F`3_+lN=(B{rM!gZ=ULeO2&6XHeZuF!l<0jaJpn45k54=_hKT7tWTM9Xk1 zH-rM_*GRL5O&Td4G2c;IpaexeN_pj1(Rm44LmV+UXK|d0zH-{>J;$-=J;9i*uQ~}! z-qJPtDi@c-{_v!WxO8Xj6cPKrhUY4IDPDBu*)e!_b)Lt@{P0PVAfK{HA;be%k(8RE zgY!LUW^iSEPewI-S4jx*q9fmv(pWn>-=mVO42geJ$t+t7qEt42Eo3Qk1DR<8afIYN zn6z?n*!R}{nAqmQr1LzO81rCKoCia*KhDyWE$!=n0GMr&^3aZ8)@wQVo_+8qw!xot z9{jQH9|=f0vu?>w2m$~%l!Q3CVO*1#Nqp+L#dD_bUW#8BEY*Aw4&Pr@- z2)1!Si8 zW08;J&hl}jhr9$Ny+2#;=m?%iE$7f^c33HhBd%RB3;~V^#fz=bQyW$yD zhULVI&K+A+JR>bKH`J{0b{*@r6iA+3AdPH_XVh8oj10vy(iD%|_uSSz%NGo6%p|A@-4tAfN6@C%t_-t;aCNQKQZ(YGkOWk*1>D{?PQprJn`XIHm9grOfxnQA%MLa))CRFB2FbvE7t8 z8mW~Zi;5U^RuP_|B1W2uDDb06ZbdX>KrxfX$j1xpb5728G2+=ove#K8dxl8%G?DCT zj!(PE*wXo();PbOO(c7rMY3mzWUnBShwVi&=Xu=D!JUrn4z6bt!(L}G>=|O%D~Mrt z){W;;OP)t{JX-{<*ICedhM@Hdg0?Hq!*!N)z=_E{BV)A^DGkE>nyQ7Lt=XciQR1%)twGoZGy4yYbK0Es(YQK`mnS}bgAxE zO7)j-FZg&BOQ~^Y+l9v2_uPX*A9!HRhcTSv5K}DlA49~!IxQ!lW4CUGwnaDWyy%9; zq8k<$U8xV_gv2Nbw`{_1Vt_u-1omOF%#w2@(=8{CW1l!f+hQ4ZUMxdnu?&lgWoQV1 zfcRnqm97wAJi-v8w^AL#;Xmwd!;W8caqlc^=jAY|*MtXRYcOO2jE>)sEr9 zNxS?V_I(Y{77fxlcVjjfP7R)=24U)>Kb%!5PNg83i2#p4f+BLu`hi2Icpjo7fO!JC zx`|Ts#IU7c8(IY$BfGLE*o)3RQP8CflHL>D9FU3IQh~Wv1;z-p@!U~q&j!P>!Sh7t zx#KE#T8^_bZM>5+Zn*!u1L&c<&?YhX4Qx(2_)N`AW?VPN)==!(qm8n;Z}8Qar$81c6L=x8a-21Cc_ z4_EJxZkEEh-Kh-reGSjmmI8axm1lQm@T^-3Znwz&*llMKj$Nxo$OyFX+;D%ciszFe z&+e>}XE~9TVZ;+M1H9mAniTvynEPOpgnv%?s#k~AaP)6(99h|^I))@(-0Q5t)L`jE zXUV!5QQ8pZ!`D*PkDVGZ?b=K_x3fv-8YZ2qn{YWOfgpjZ>*_TWq4hX_WSSkzp?eBp{B zLjESfbPHnUph7UmRGrNb{PLqnG{MUyN>l>AI!|aDf_7(;*!Q}}V*qQJxHTHh>VUPg zD@P-*23Si6el(oc0c%Owut1p{tAhOIvoJt$$_taQX}4VY;+$GU?grL5Z!-_Oonp@x zx8WkVx`|k^h8}QcJxH(E49ISW-m_jY90^x9B6*0dnjD*H*V(c&47-_0MsaZ3i=W3A zi4Q0}ES+vMKs(u=tf66g>XxU|!1C-a(JTzwEY8jbr=ieubJOj6*67beNLdSmHsh?b zZDyEeV~xR~x$gnPJGf0{h9zW{G+ZNjm`xtxAq(K6g!Wa{ZxX3a5na)4(|Ke+<1w@B zgw48cgv|y<*lVPBh3Q&|lxb;AC#qMdhQ zO|+X?_N-=Ix2$HSY8h5CCZU}VA?H4is85We zCBRWuZCh>3**K^kypyhjXB_oCDGpxw0ANPFzey=s=lh5uoTHGd303}lAcwD|V47M5 zlkL=R=R?27ncr#s@TpXEK5g}U^!$3M6^w#V4yaTqyboHQ8uRR@#%w2mJ0Ad^6tjb- zmI;uFC*2<}Z$KAw*W_It`gMk?_Oj@fmMhzyXfd(aQ}&7Gr4A)fk!-jiE`w7_x5<8QN#uQu~ap z+Gk?1o+e$br%BOzniQ-j*Lp(FU~tsVob^Ulb9Q2}o+e$bC*y$rq+mVSOAr|hwmcf= z*^kEA&fIrCa&MftpA@99YcITzBC7Uo#rDlDzuVOhAzo*-|3z7sTmR2ezR zLCxx3x?W3H(&MhAZJxJu(LLd!XOz;CimUF+>iwf}*Bsq(Q3;O+6TL4hbEL(#{8=0e zzFQsz@a#tc#uimN?y5?SA`|0+Dz&Gj8UyRJoFz`pEE%>dv&X(SW49tRg6}=>OALVc zR-8taXZmoov~_W{mhW8D!l-F6E@*jeH#M{3Q^LikEMJ7ybCiIXq;#2}^yd&HgisK} zG`%B9VB?`$k#{aqVbrJ?7ZiEZEw|ycoux9IS}he@Ns7)DDU5;?#JC~|3DpiaNO248r_({1S zz!Z}Rh5&{brYRD7pN9~#qC=}f--v!_rxb=K*0`;$#zf~56C<-9oXUPsD;GyJA;HF% zaT9d;?pzE%`)m8{WwB%Qju7SiM0d25e)a?6w)51Tk5hX_F4Jg7f1Cw@8h#meV0?;- zn6C&7zJ?);e3XDQ)-RI%b|&D^9x3%~iA`ST#3s*3Z1VKPCb#c2j28|k?E<31i8UbV z+0vc7j_FRk<DTzghR67DXoU}8Gh7+sf>e;fQyv|uso{<&h=~+=u&5a0i5&u2TO_Eby zIKojWZUJ7Rl(HV0Ougx1G!ebgatCr)%&Dk9`84!eE-9~WNmbj}Ugz8_&&bX4^xUkv zt~QpG*K$62b@Qp(%JuG>o8=gcj&w%Ng7ljdWszH^E%kjRVXceALe2W++CxhvBoVke zKYR5;^ia#=wnO`ITd(>`4e_G$G#DDa<7vH9k@J5kF8t}g@IxG@2*fa&>0k;bN`Sw@VIWHCTjI!`EqBW6m^;N= znhVdZW=7g(Ori0S=>OxJE48SEek(D>tW_~;vYZoL@okh8Eb%Rh#8#5qavR09Z=-m& zEGn;K78PqbGrGsoyJu>Q_5Zy|DTottivtAiV8WLdXWn0}NdOiQi|sVHp(IAh8mB4O z{=6r~?K~QHZ1re7O9GeIHG#_;7zXT2?}l=`nt67&Fkv!9P7C4D&;-GCh$94oIoKp& z3gFV3((PF?qP(sdQARSpr)5M*E~?3}S&^NMNW+GlR(58#zh%c!sA4RlkDpT@5y!)6wBwu%g+$ZJN1%^v7(4iw24HY3BT$-9za z>hWe|*c4_*eK|A-#c4u@txi$rGDSv}qG54RMpiPa2c>i2Afs;3usA4oGO7oqd$}I7 zH=HJ9R9|0m()Ie1lYv<@sMs5}Ty$$0pRT>(6mE1p$?p-Vr^B)Nbxvo$&N2KtNAv5P znMm-pkW#%~oX$>-V>mUA=G5#UrFwXr&L+20G`Stk>tJBqRHR@kEx#3z*MzuNFx%ic14$7n%8P#@B z=h{q0X(lJPgBTe$Z^Bj|sbhJhY@Uvaw0O;EvB{C{Vx&mMuo)TEnx=DUA)~U8lWUrK zGHjykK1Z-zbCx)}X_+#Tt7fZs(S@3+q4xwNjTG0s>~#%q5a3z+X0RefH06go#TjjK z7xAN;TJHXA*2+Jd%`EQO)TVZ)oz?EtP`gu8?bBA6|EDr#M4+-!-)Z^smX1NazJN=0AfnBUIQ#eR z^0mwtWb+eJaECxZqCZoeTXOu zx9TFYO|(f-ka5T3_t}a=5x=ae@Wp~8tUqiVRvAmvuEx@|XrN3DJE_E;+ST5f7VVv>VeeE7n%JngjUzL2$3}0JVKnV(7)^_Y(bO=E zEagdgD+?K&B4DiHs7S`RuG^&Sfl)*#KQ8nNr&P>ve*8rIDV8ylMsY%Xl%}$dw!Ek< z(9a;u+TBJzvt33$wb+c)t~TSeXfsX?o3UYVaMmt8U?#EyidC6$RC`!j?8J-CY?qHQ z6X_Tn+r>Ig$Su!s;{QS*h{V9MC8A%IpKc=xKVUg}t+M@Qwq(Dl#nhg5HMLno!*D3r z4dnzEF6DR;coD!}ZRXl_7ObORetZ4~tZ|aap&hq6JTn`gSg!RAHgSl3Hg%LF@?{Po zKZ<8qbhhrZnI+w=l4AE2Y!b(ur1?#yqKVOUWRoz{vv5BMZ~q1@pg3&zrQF(<ew%rHoCfPBV;7>`!zAv4=WR#S_QGwtf*Op89w)bMf2oyjYXGeycQ zA;{AzFCkrJby|deUEmP$L}vs8epo!y&b%|)NrJIgSsNqSL}%%161^dWk3}wn%yd_( z4p#EaWn*C4IT*H!u%;HTZ`#%Cn;4hjObw4OuU4#2(>Exk$;PLm=mnqb{O%hjE42jK zysPr59AKsO+MVZ`*^YBfY&YsmI^U=>;rB~ui+`eBsbh3YrlLqf8SmNg;hU4R4{3iz zWV(dtCdPQXf*vzlm19X|HRoMZEJRbMz`9rTXB=zIPRS!hDa})tu*mqGwW~ZbvlSkZ z1X{W7KHxKxY0H2YD+Fv}d6FE4JiJiI=aSc?@ES1CryCfCTQ*6=&0w>32mWUKyx(X0 z=XddlnRNW-#o6=kUJTa3W8iQc$C->q{Qr*QnE!Xj-taSb7GGI59F&m4E?44uz_ z^BBaK&nBfX`OLXDE|a<6$@4k5kjEsLGCVl=W)q1#z!1+9m~6QvbDeC^xy+#3^}!Y9 z$811IctD65LHS#8t2I!tN5_d9;d|W>V?XWDB6b!swQfxFj%SG>VJspTGJ0fXPnq zMqDVxgk^eg@VCtzB@v=1Jq7Ro`jyKse(pQ(`KQk{?QwAM5xhY$NiikK7JLLeS??ow zhZ5!ufR6_s``Yud@IUr14)G#84#)Z6-E?qp%{l|80D^B(xCXCew}{iB2S1#>d42Kv zE4Sst%pw1MIA|HE5c zu@-+CIxl&fW5?~E1p$th{d_JQAA$u=QaU*3gDZqMyFdPbZ?Fx+;Xxmq=cGNysZWw1 z|2hyq43^7d`Yye^{`QA!ny^OS$0!02{Kyql8&wveyJLSvNQw>*`u+aFSr~#hc)6k} zGc8eaivrLG*TpF=lZ1aK8c@pr6$;mV89I1yB~UB>U1#Kur-uCZJa@F0|4;ES87A_K znPlm|<5S?^K%37v1#yDcFu~!L3*mqXVQx@v`MiI9b|v$XnRFi68|H3-+Oy~-g^%|f-6KpcC{(E#%uH+5+Mdzb6xYhPr*kS zs%1ca`IST9x1??XjJB2DZVFZ?;phLDv&&v4TYxEArvvZ;`m1UeIbD%Wm|eA&@>tOg z+75(f%41m#EvJ_&@pPE7oIxU@ipGCeXnAXi`j0tT!vp$VdRNX7S2 znt}xm5u3@h0fFC;M1(PMv>->B+NIz}Hai32OJ&P+8}ZYD=Bjh8MK(#F3vQ{pq*o{@ z@5>H5{#+yYu)0?U{OZ7uAjB!3KtJ~SeYl~k-cc_i5$gR*%}A{y88*H~aD)I%mV9}p z12$<>9H9Iz&VGNBqNE={3i|<0cxUCuZ7B$esAndYq5xm$WCch>9a9SnBKR19k6=y+ z8_f3$7^a9({zAqjH&Ij`!hCAuNM0=%SW(*+ve0B9L zTQzpf199YENM}u;a%uVo-f;*DT0=-*!xT+M74XE1K8je&zyv)2Kdev$=7g@afrH}K z+9Tf2i6n>-B8sEM3Gxy1C6GmQ6-m1id%9)PUVOkQUoLXjR}MV;#q5D=a2?=inV>XnuohtisYc< zf$fppk>mzP%jY;LcJgsgSFQ}E{1R~C#`7cOnj|rbP#{k#=>m;%%j#kQB0|NfEio%# z9E--v!jbEFO*RpY;YzJi?l@_ZKx8L;$G+0Ji4aX!gp?L#2c?&R$~7KM$c9a9{54DkOA<8Hh81+TlIab?zs5m2gas~8GnKnJ@ zsZH(PY47+pj*eB^UjB+X!@biUgT-A2u8CB8Dqdz__>8}lJ~x!baq)kU$X`+2CT14j zITsd*a^cw&cz5}FU}tBLZNnE8cY%0D#1AX%ulOWWbBnc9F790F-J%0)!zJSZ8b00| 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 literal 0 HcmV?d00001 diff --git a/stable/storj-node/2.0.45/ix_values.yaml b/stable/storj-node/2.0.46/ix_values.yaml similarity index 90% rename from stable/storj-node/2.0.45/ix_values.yaml rename to stable/storj-node/2.0.46/ix_values.yaml index ae862562667..d81c2a76b7f 100644 --- a/stable/storj-node/2.0.45/ix_values.yaml +++ b/stable/storj-node/2.0.46/ix_values.yaml @@ -1,6 +1,6 @@ image: repository: tccr.io/truecharts/storj-node - tag: 1.62.4@sha256:f526f2d6116c903df5e6b44527be50ae90c8710592190cec46b13be457a3b351 + tag: 1.63.1@sha256:59c7d44cd57e5cc71b399052714ce5e71169ed587966afa44f883cc3d86a16c6 pullPolicy: IfNotPresent securityContext: diff --git a/stable/storj-node/2.0.45/questions.yaml b/stable/storj-node/2.0.46/questions.yaml similarity index 99% rename from stable/storj-node/2.0.45/questions.yaml rename to stable/storj-node/2.0.46/questions.yaml index b5538494315..c74410f4a84 100644 --- a/stable/storj-node/2.0.45/questions.yaml +++ b/stable/storj-node/2.0.46/questions.yaml @@ -2947,7 +2947,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2959,7 +2961,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/stable/storj-node/2.0.46/templates/common.yaml b/stable/storj-node/2.0.46/templates/common.yaml new file mode 100644 index 00000000000..c1a366e1cf0 --- /dev/null +++ b/stable/storj-node/2.0.46/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.common.loader.all" . }} diff --git a/stable/storj-node/2.0.46/values.yaml b/stable/storj-node/2.0.46/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/wekan/5.0.5/CHANGELOG.md b/stable/wekan/5.0.6/CHANGELOG.md similarity index 91% rename from stable/wekan/5.0.5/CHANGELOG.md rename to stable/wekan/5.0.6/CHANGELOG.md index 35ef5413247..6d37302a72f 100644 --- a/stable/wekan/5.0.5/CHANGELOG.md +++ b/stable/wekan/5.0.6/CHANGELOG.md @@ -2,6 +2,15 @@ +## [wekan-5.0.6](https://github.com/truecharts/charts/compare/wekan-5.0.5...wekan-5.0.6) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [wekan-5.0.5](https://github.com/truecharts/charts/compare/wekan-5.0.3...wekan-5.0.5) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ ## [wekan-4.0.36](https://github.com/truecharts/charts/compare/wekan-4.0.35...wekan-4.0.36) (2022-08-19) -### Chore - -- update docker general non-major docker tags ([#3512](https://github.com/truecharts/charts/issues/3512)) - - - - -## [wekan-4.0.35](https://github.com/truecharts/charts/compare/wekan-4.0.34...wekan-4.0.35) (2022-08-17) - diff --git a/stable/wekan/5.0.5/Chart.lock b/stable/wekan/5.0.6/Chart.lock similarity index 85% rename from stable/wekan/5.0.5/Chart.lock rename to stable/wekan/5.0.6/Chart.lock index 52f700f6531..0f4abbeba1e 100644 --- a/stable/wekan/5.0.5/Chart.lock +++ b/stable/wekan/5.0.6/Chart.lock @@ -6,4 +6,4 @@ dependencies: repository: https://charts.truecharts.org version: 2.0.5 digest: sha256:3a9490c0e189d82ea4e15ecf62e8eedb849b746b5f7a142b68e3e26135c08195 -generated: "2022-08-31T00:50:22.316437118Z" +generated: "2022-09-02T09:50:09.924823601Z" diff --git a/stable/wekan/5.0.5/Chart.yaml b/stable/wekan/5.0.6/Chart.yaml similarity index 96% rename from stable/wekan/5.0.5/Chart.yaml rename to stable/wekan/5.0.6/Chart.yaml index 487508ea676..281b0659da6 100644 --- a/stable/wekan/5.0.5/Chart.yaml +++ b/stable/wekan/5.0.6/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: "6.41" +appVersion: "6.42" dependencies: - name: common repository: https://library-charts.truecharts.org @@ -24,7 +24,7 @@ sources: - https://github.com/truecharts/charts/tree/master/charts/stable/wekan - https://github.com/wekan/wekan - https://wekan.github.io/ -version: 5.0.5 +version: 5.0.6 annotations: truecharts.org/catagories: | - productivity diff --git a/stable/wekan/5.0.5/README.md b/stable/wekan/5.0.6/README.md similarity index 94% rename from stable/wekan/5.0.5/README.md rename to stable/wekan/5.0.6/README.md index 7af080efda8..0124e17725c 100644 --- a/stable/wekan/5.0.5/README.md +++ b/stable/wekan/5.0.6/README.md @@ -1,6 +1,6 @@ # wekan -![Version: 5.0.5](https://img.shields.io/badge/Version-5.0.5-informational?style=flat-square) ![AppVersion: 6.41](https://img.shields.io/badge/AppVersion-6.41-informational?style=flat-square) +![Version: 5.0.6](https://img.shields.io/badge/Version-5.0.6-informational?style=flat-square) ![AppVersion: 6.42](https://img.shields.io/badge/AppVersion-6.42-informational?style=flat-square) WeKan - Open Source kanban diff --git a/stable/wekan/5.0.5/app-readme.md b/stable/wekan/5.0.6/app-readme.md similarity index 100% rename from stable/wekan/5.0.5/app-readme.md rename to stable/wekan/5.0.6/app-readme.md diff --git a/stable/wekan/5.0.6/charts/common-10.5.6.tgz b/stable/wekan/5.0.6/charts/common-10.5.6.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9e3f5a957f3fa92bc5b2d7cb2c16b0ab954235cf GIT binary patch literal 48176 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%0D#1AX%ulOWWbBnc9F790F-J%0)!zJSZ8b00| znynxvOW}JM1k3~$6JU-OY);UGe@ThJE>;$#s{x;!c{tiwgKV|Qq9-MCtA$Q`!N61S z+Q|gAHX4cpN$CR#vB#&CS$7rUBlmbv#2`vyePd=<0~;_`IT9NOrW89*n0r7m3{#ol z5izWiUxw;R8oSTaS3+330USqgxSHJ7(_e zGU~@9=tm?#$Db=)eHaCO7*X6;zeph+#yCP3d@5RIm-wW1a^*k<@g@u}Nr-*JH@;ZB zCiGIcdZj);6DY)rU=TnoK^V{zeb-BazFheU>mhx2g*U55WrC-0S%iDbYb6c;H(kNu zcycRH$g+Fx1V|N1Q3)dgH2nJ{}^G@c&NpRxN{GmS` zpLq4uaO{ktDjW0rTa+YBjdACVeWCnJ<-p~uf&O1wu18pZGJ^MWe--{d08E zfGRbQlqXUS(KG$_(4&8I=0n_jhjai+ax{$rp;H`N^im0$x%VFkRr75{)I z?nczuw~#5Ufra9ozF`XTUMv%R%@8L9a-99>8gt()}2{qQ7+ z=bSSpm`(B#ymuLn*Bf4lm@GhmQp~)}m;`CL@hwgWjdCSE2mKp<=O4N1WB40n3OY;PPW zXM|b4Z`1{3&!l!ZvoptLb;X$8T5d;${ciMA%zy9l}mm-+>E0kvAqP7dc^Ve5u|2I9# zj8~N&Cu+Y6G++(4AVDb!ZxM*nkdT{Ato9>FB#yjj;gb~6O)O_`5Tz9suUxCoRYnLU zpm!c_Qi_sqaFWs-eLvqNzGk5lmW`W$?H2rkdAu6}ra3jX}dFJSOS zUOm9`F@OE_&)_`&fIld@{U#x6`4<3#ff@_`dr7^km)CJv!H0Uw6NY5_>TfiNxMW`^D3wjwdoE+|zjk2|^dg{-XO(}#uht?7JrY?#JT}iS@@KPD+$fyttt$u+y6+qO0R`XTAP5nY?rDW< zoS6kg+37IKxfXml%YCx^VhF{J8(yRrwJmJS7y^V%5o4hUoCC^byny>N<*BA zedQKd`O)0QSoznDvC2R4BH}g1mj12CXHyCE8Inv$$+J?a?pX0dQnNA*)>vGHfR^7j zmCfsFF{6xF1@(6&^Mn6-!|!3ektz>#J-a+*mLZu8f?6-;hWz%-{s zUO_$$%TppZWUgObW#&uP1z$4_EwX1{tGoV%ZO&wuER>_p;wiaSKwTU7(ZAVcI<<_{ z6qPZijn9V|AMZFAQux|_BIJ67ObFb(lNqiQC2Jgs2}+UxCA-g%$jbt2*^F>Zhfg_yIm8R(Z+$aY>eu%ryEy++4KAC9#=f1p zjMQRjtJm7aD&>7!`O#pLRD~h@Vq}xAB^U`mLBwXbjmQ?I6ti#Nyt-naZc?NrY%&I( ze?8DK*6ulH*R0w%oOLkWcAFKFYIm&wzr{AQY_|hj2}5~r*>wiffu}Z?C*E}A&0Poj zM-vY2>q9(ch54o8#W?8Ki;rYHUa&1Yyj9?$&AcsLm^#?EBoos1X$VzPrCDV&q2Y| zcY~3)K!JM_%mde*PUq7J^5>I&^X<8+fAt4n4;oIYT%)8IN}nqz%sz5BJ}}NY-rO z1@a=G8UmlSJj%UOxwVqLXY3V1MVi{HAZS4nAC)2-LNV}nDzAy65Q%eb z+!IneJ&E#{EeNgA3^r6@mb|rll=yCa>9m6E#viyRRyYeFkH5&cMbWny6gI2hAOD5% z_!C+DL|5o1(eSVDkFs46O2D7{f0o$=sSbU`1bf!w@Isk*w&z-yqEGhnvF{Ng+*-M-qD}rKR$Rd*;ikSrcyg@0=II5IbHmv%^ zn^mDYiA#J?EH;_JzF6?xHZ~FZ?~g#Rjo=#lLcXP#MDo%=m3v%hkljW2{-}_Bnl(mA zMW9;_p$;h}Yb5R`L}7{qFn-{*c)6(Faue|_UKD_58tOy7Bn8lD6NX11BIUagnaRV& zJEBK`m+n!iA{89iyMHscEy%YrsO6LB->MQ8kN3SVh{X2;IR}{?3qiV>_jzCz^V$gF z1h|Ub2KkcCDuiO1it?Nm3d=cG@vX0ttIDFBe_qP2I?XReKa&6a_VNhCxBd}8>zHnz zP11+c?XCWb__0 zC<_wuQ@AAC9~afb`^+dLX-0h);y+(WS`NYW_s_ovGMkp0F@)RF|1Vg<6wE`0GB7dQ zIJX^So#Uv(`PE7c)yt*FbCEPWrDY?v+0I47=Oqj`d>y}6{JgIwC_uN3q(Rm#f}V#N zI2%Q_K?u<8LkxnB!4lZ|ZO#u@QfiqlPd!Vjq@voDG=w52p_NF?kfexSYWFi)@_zVk zFt<$g%bY|WoWCM>k+@ZcUsPR*N?2ZvC;t`y{0Y}UPG2@rB@K_VAS%#(+Ur6i_)}OO z8aa=?N;F)>#ga{s$5}F)GnVZ2`MkR;2)`Qa$+YUS;c&}}W{nEQZ+umtURe|Uo z^%R=cT%r|l>wP|hls|ymWN>76qQ!@`4z%pZM&7f5_mLg8 zbOjS0)34q`$_|RD0FFXJ3E)k$GUhat6^mhD*w<${G-}(hy{JZ?Ddog`j5eF1?YF1ok3?vkWwvvt9)cjRnpeiq4 zwkz-2=0NK*Mr6H};xTj4u^g^eiHO5X=`um-&!vL0O6pzaU({wf=a8N-(K$z2n`ozT zS(9sL0PB`+r=hA&wKK7_$hOOy?nYaMsv-fpP+iL%P29kP^U2g%`2NV94LyH0TzH=2 z&%B{?GF(h1V-Go=i_ju)ecv6rLk|XXcjzn}zg(cLL{*k$mtewIcHKFrbFq7+z6E}k zM3JAGrA#ODDg?6Ps7%+C>HFeHi)~so*ao98z2VwftbCsGnJISd_YmKr2&HMCd4!n% zix&^y#C<`7+Bf5W4Akc~%3i7W{QIi8T7)xDyZaTcEEg|WxcDNfh-JjnlJ#GjrIzsS(- zC=WY7CD79BRLC05&9uNk1(YY9mkQ|v&q}?g9&An)fmSf_;Pa7}w6C{6vqJqf)~61r zqwQI&>tC`w3mDqiowDIBgk>aUi*q;_tn=dFtB09oJW4GG0bV(ss* zaTKWPGz`|j&)@BK)r6} z9q#>Fh@2>#DwRJ4$D$%?YB}01NX=YDn*&-dT$L$++|A7Di>a;TQa5MC;V1zyi8rB; zH}dxA0^lInOL&kDIr@GTC}61_-$81iW@V`)b{y#OeiKIKZH zN4;3J53*)zANUO+^qVZ`tu963@xj-G#}UPEZDN5H6$MmXm`1g`vig5JLeAND_p98c zD%|LVK5pf%0+L;paar(ZooRx?@i%adLtIg3h8e0j1`G9`FRgrQUmS1A&LLl1-j0sg zeV@=?MS!fW-N8UlIf{=P*jvs$tY9zPM!m^iHE%~nL~T6Ih$>ZaGi zXj$=y!`)Ht$Xe}45@D-$Bxa(u)RCP9LW$3b*MtXi&P8E12337C09WELv~B{tXWza* z692zq|F}NCe9wpb{oCi4?*~A5`s@ek^T+Tm0uWrEUlyt!E)mUFDlb#Z*3a8FulQTO zuC-02I;JR0mWb|}xp~b+?Rz7*A_DydQO`SIk&v~ppYxi={0$Eyyw3r?=Z6f{HB>T) zpwBNQo@9btuB)}kg0cPmKIVY=An@Wz(!OF{6i9)ith4<1dM5vP2*Wljiu?2b`S#T-))`U_%lPTS_i_1dBgf1m@MZJzg z^o$ADxfHI4M+I4X1TuI>xy;qbI8**zZA7BN87#K%d@oD3>g}LqA$x0TBr}}uR)~$c zUOZI-%&jTq*;b&i+@5w_%J3}07T)JTUCNvCT!=tb-j_Anj{p=vaH@nB3SV=`R zYL^;;E!SYJjn2W+fTzHhy7IXyt(NztmNX=8)g}Q*HjyYfDj^lFz7Y`kFb|dq^wA|s zFi)KzQJ~*N;=IpxJnIyFcG_8c*@rPcX39P!Fz9C<{&7r#{;hlbc~(j7@LwgG)+kNk z64^4AADN)OTSJnyxb%||MM9}gD{jSA_8k<5BJwZqTfB%vf1;-1>5=U(51dySM~L0lvk- z28PU4xltv{c`3=1!tBob?AFHGZI2&tf?o2w9c%VIilDk}eB_9#cRmapEw(~5+fF#S~pO^x`{xMDP?RMa&X^*=(U-c;ZK#%#~2@1dJrF0vjbcGP@f#bg( z9DM#cul?KS;)4D8`RAX5D<4Korffo*9vmDTd<3rv_ztH9Vb65QCJNNuJxpGn_IEuW sImTQED~wFN^CSWNRTVYA^|0-q{j-1e&%K}jKL7y#|4m!E&j8#600^Sv=>Px# literal 0 HcmV?d00001 diff --git a/stable/wekan/5.0.5/charts/mongodb-2.0.5.tgz b/stable/wekan/5.0.6/charts/mongodb-2.0.5.tgz similarity index 100% rename from stable/wekan/5.0.5/charts/mongodb-2.0.5.tgz rename to stable/wekan/5.0.6/charts/mongodb-2.0.5.tgz diff --git a/stable/wekan/5.0.5/ix_values.yaml b/stable/wekan/5.0.6/ix_values.yaml similarity index 98% rename from stable/wekan/5.0.5/ix_values.yaml rename to stable/wekan/5.0.6/ix_values.yaml index 4d2e1d10e56..2aa03c91ab3 100644 --- a/stable/wekan/5.0.5/ix_values.yaml +++ b/stable/wekan/5.0.6/ix_values.yaml @@ -1,6 +1,6 @@ image: repository: tccr.io/truecharts/wekan - tag: 6.41@sha256:576386134dd70be22a779f10a7a0eb09aa8dd43e2a42c579d1f029fe09c07c30 + tag: 6.42@sha256:20f35ca22ff49e5088183e781beffae81cdb80fe54a737336ed42db438e8b46b pullPolicy: IfNotPresent env: diff --git a/stable/wekan/5.0.5/questions.yaml b/stable/wekan/5.0.6/questions.yaml similarity index 99% rename from stable/wekan/5.0.5/questions.yaml rename to stable/wekan/5.0.6/questions.yaml index 32308b0cd25..95848fdc7ee 100644 --- a/stable/wekan/5.0.5/questions.yaml +++ b/stable/wekan/5.0.6/questions.yaml @@ -3458,7 +3458,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -3470,7 +3472,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/stable/wekan/5.0.6/templates/common.yaml b/stable/wekan/5.0.6/templates/common.yaml new file mode 100644 index 00000000000..c1a366e1cf0 --- /dev/null +++ b/stable/wekan/5.0.6/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.common.loader.all" . }} diff --git a/stable/wekan/5.0.6/values.yaml b/stable/wekan/5.0.6/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/zigbee2mqtt/4.0.32/Chart.lock b/stable/zigbee2mqtt/4.0.32/Chart.lock deleted file mode 100644 index d5903adb9ae..00000000000 --- a/stable/zigbee2mqtt/4.0.32/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: https://library-charts.truecharts.org - version: 10.5.6 -digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 -generated: "2022-08-31T00:51:42.707090969Z" diff --git a/stable/zigbee2mqtt/4.0.32/CHANGELOG.md b/stable/zigbee2mqtt/4.0.33/CHANGELOG.md similarity index 92% rename from stable/zigbee2mqtt/4.0.32/CHANGELOG.md rename to stable/zigbee2mqtt/4.0.33/CHANGELOG.md index 8344668141c..bbf4df507c3 100644 --- a/stable/zigbee2mqtt/4.0.32/CHANGELOG.md +++ b/stable/zigbee2mqtt/4.0.33/CHANGELOG.md @@ -2,6 +2,15 @@ +## [zigbee2mqtt-4.0.33](https://github.com/truecharts/charts/compare/zigbee2mqtt-4.0.32...zigbee2mqtt-4.0.33) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [zigbee2mqtt-4.0.32](https://github.com/truecharts/charts/compare/zigbee2mqtt-4.0.30...zigbee2mqtt-4.0.32) (2022-08-30) ### Chore @@ -88,12 +97,3 @@ ### Chore - Auto-update chart README [skip ci] - - update docker general non-major ([#3295](https://github.com/truecharts/apps/issues/3295)) - - - - -## [zigbee2mqtt-4.0.24](https://github.com/truecharts/apps/compare/zigbee2mqtt-4.0.23...zigbee2mqtt-4.0.24) (2022-07-25) - -### Chore - diff --git a/stable/zigbee2mqtt/4.0.33/Chart.lock b/stable/zigbee2mqtt/4.0.33/Chart.lock new file mode 100644 index 00000000000..4bbe638bb5f --- /dev/null +++ b/stable/zigbee2mqtt/4.0.33/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:50:10.279852314Z" diff --git a/stable/zigbee2mqtt/4.0.32/Chart.yaml b/stable/zigbee2mqtt/4.0.33/Chart.yaml similarity index 95% rename from stable/zigbee2mqtt/4.0.32/Chart.yaml rename to stable/zigbee2mqtt/4.0.33/Chart.yaml index 3acb1025968..ec7818a0eb4 100644 --- a/stable/zigbee2mqtt/4.0.32/Chart.yaml +++ b/stable/zigbee2mqtt/4.0.33/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: "1.27.0" +appVersion: "1.27.2" dependencies: - name: common repository: https://library-charts.truecharts.org @@ -20,7 +20,7 @@ name: zigbee2mqtt sources: - https://github.com/truecharts/charts/tree/master/charts/stable/zigbee2mqtt - https://github.com/Koenkk/zigbee2mqtt -version: 4.0.32 +version: 4.0.33 annotations: truecharts.org/catagories: | - media diff --git a/stable/zigbee2mqtt/4.0.32/README.md b/stable/zigbee2mqtt/4.0.33/README.md similarity index 94% rename from stable/zigbee2mqtt/4.0.32/README.md rename to stable/zigbee2mqtt/4.0.33/README.md index 649389ec246..a7a56cb3a46 100644 --- a/stable/zigbee2mqtt/4.0.32/README.md +++ b/stable/zigbee2mqtt/4.0.33/README.md @@ -1,6 +1,6 @@ # zigbee2mqtt -![Version: 4.0.32](https://img.shields.io/badge/Version-4.0.32-informational?style=flat-square) ![AppVersion: 1.27.0](https://img.shields.io/badge/AppVersion-1.27.0-informational?style=flat-square) +![Version: 4.0.33](https://img.shields.io/badge/Version-4.0.33-informational?style=flat-square) ![AppVersion: 1.27.2](https://img.shields.io/badge/AppVersion-1.27.2-informational?style=flat-square) Bridges events and allows you to control your Zigbee devices via MQTT diff --git a/stable/zigbee2mqtt/4.0.33/SKIPINSTALL b/stable/zigbee2mqtt/4.0.33/SKIPINSTALL new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/zigbee2mqtt/4.0.32/app-readme.md b/stable/zigbee2mqtt/4.0.33/app-readme.md similarity index 100% rename from stable/zigbee2mqtt/4.0.32/app-readme.md rename to stable/zigbee2mqtt/4.0.33/app-readme.md diff --git a/stable/zigbee2mqtt/4.0.33/charts/common-10.5.6.tgz b/stable/zigbee2mqtt/4.0.33/charts/common-10.5.6.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9e3f5a957f3fa92bc5b2d7cb2c16b0ab954235cf GIT binary patch literal 48176 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%0D#1AX%ulOWWbBnc9F790F-J%0)!zJSZ8b00| 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 literal 0 HcmV?d00001 diff --git a/stable/zigbee2mqtt/4.0.32/ix_values.yaml b/stable/zigbee2mqtt/4.0.33/ix_values.yaml similarity index 98% rename from stable/zigbee2mqtt/4.0.32/ix_values.yaml rename to stable/zigbee2mqtt/4.0.33/ix_values.yaml index 71bdba3b4fe..f6e84e9acb1 100644 --- a/stable/zigbee2mqtt/4.0.32/ix_values.yaml +++ b/stable/zigbee2mqtt/4.0.33/ix_values.yaml @@ -1,6 +1,6 @@ image: repository: tccr.io/truecharts/zigbee2mqtt - tag: 1.27.0@sha256:f8e2ba5bd604b6e8773898b1d7b70718f0e5a4ea5512608c5f71d95913bad950 + tag: 1.27.2@sha256:9222450386d62a5f3106f76a1d4649db4edda4acb1bf5c13ed4624034df29e13 pullPolicy: IfNotPresent secretEnv: diff --git a/stable/zigbee2mqtt/4.0.32/questions.yaml b/stable/zigbee2mqtt/4.0.33/questions.yaml similarity index 99% rename from stable/zigbee2mqtt/4.0.32/questions.yaml rename to stable/zigbee2mqtt/4.0.33/questions.yaml index a4538bc0495..41c83817192 100644 --- a/stable/zigbee2mqtt/4.0.32/questions.yaml +++ b/stable/zigbee2mqtt/4.0.33/questions.yaml @@ -2543,7 +2543,9 @@ questions: required: true - variable: docs group: Documentation - label: "Please read the documentation at https://truecharts.org" + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org schema: additional_attrs: true type: dict @@ -2555,7 +2557,9 @@ questions: default: true - variable: donateNag group: Documentation - label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + label: Please consider supporting TrueCharts, see https://truecharts.org/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/sponsor schema: additional_attrs: true type: dict diff --git a/stable/zigbee2mqtt/4.0.32/templates/common.yaml b/stable/zigbee2mqtt/4.0.33/templates/common.yaml similarity index 100% rename from stable/zigbee2mqtt/4.0.32/templates/common.yaml rename to stable/zigbee2mqtt/4.0.33/templates/common.yaml diff --git a/stable/zigbee2mqtt/4.0.33/values.yaml b/stable/zigbee2mqtt/4.0.33/values.yaml new file mode 100644 index 00000000000..e69de29bb2d

YaXLVht~MeFRBZ4l;^CdIHOkj}LesY<{T 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 literal 0 HcmV?d00001 diff --git a/stable/nextcloud/15.3.7/ci/basic-values.yaml b/stable/nextcloud/15.3.7/ci/basic-values.yaml new file mode 100644 index 00000000000..0e1ca145546 --- /dev/null +++ b/stable/nextcloud/15.3.7/ci/basic-values.yaml @@ -0,0 +1,11 @@ +env: + # IP used for exposing nextcloud + # Often the service or nodePort IP + AccessIP: "127.0.0.1" + +service: + main: + ports: + main: + port: 8080 + targetPort: 8080 diff --git a/stable/nextcloud/15.3.7/ix_values.yaml b/stable/nextcloud/15.3.7/ix_values.yaml new file mode 100644 index 00000000000..5c294f92d6b --- /dev/null +++ b/stable/nextcloud/15.3.7/ix_values.yaml @@ -0,0 +1,457 @@ +image: + repository: tccr.io/truecharts/nextcloud-fpm + pullPolicy: IfNotPresent + tag: 24.0.4@sha256:ead648f1de23be6e6ed3b0ebeb40238b7220ac00fd74b7efc8ad293051f5509d + +nginxImage: + repository: tccr.io/truecharts/nginx-unprivileged + pullPolicy: IfNotPresent + tag: 1.23.1@sha256:9784d622dbc9ddde978866d82a50022c30beffd62d1f393811b2684e9a984ab2 + +imaginaryImage: + repository: h2non/imaginary + pullPolicy: IfNotPresent + tag: 1.2.4@sha256:7facb4221047a5e79b9e902f380247f4e5bf4376400d0badbeb738d3e1c2f654 + +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + fsGroup: 33 + +service: + main: + ports: + main: + port: 10020 + targetPort: 8080 + backend: + enabled: true + ports: + hpb: + enabled: true + port: 7867 + targetPort: 7867 + hpb-metrics: + enabled: true + port: 7868 + targetPort: 7868 + fpm: + enabled: true + port: 9000 + targetPort: 9000 + imaginary: + enabled: true + port: 9090 + targetPort: 9090 + +hostAliases: + - ip: '{{ .Values.env.AccessIP | default "127.0.0.1" }}' + hostnames: + - "{{ if .Values.ingress.main.enabled }}{{ with (first .Values.ingress.main.hosts) }}{{ .host }}{{ end }}{{ else }}placeholder.fakedomain.dns{{ end }}" + +secretEnv: + NEXTCLOUD_ADMIN_USER: "admin" + NEXTCLOUD_ADMIN_PASSWORD: "adminpass" + +probes: + liveness: + custom: true + spec: + initialDelaySeconds: 25 + httpGet: + path: /status.php + port: 8080 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + + readiness: + custom: true + spec: + initialDelaySeconds: 25 + httpGet: + path: /status.php + port: 8080 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + + startup: + custom: true + spec: + initialDelaySeconds: 25 + httpGet: + path: /status.php + port: 8080 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + +initContainers: + prestart: + image: '{{ include "tc.common.images.selector" . }}' + securityContext: + runAsUser: 0 + runAsGroup: 0 + privileged: true + command: + - "/bin/sh" + - "-c" + - | + /bin/bash <<'EOF' + echo "Forcing permissions on userdata folder..." + if nfs4xdr_getfacl && nfs4xdr_getfacl | grep -qv "Failed to get NFSv4 ACL"; then + echo "NFSv4 ACLs detected, Trying to override permissions using nfs4_setfacl..." + nfs4_setfacl -R -a A:g:33:RWX "/var/www/html/data" + else + echo "No NFSv4 ACLs detected, trying to override permissions using chown/chmod..." + echo "checking ownership..." + if [ $(stat -c %g .) -eq 33 ]; then + echo "Ownership already set to 33, skipping..." + else + echo "Changing ownership to group 33..." + chown -R :33 "/var/www/html/data" + fi + chmod 770 /var/www/html/data + fi + EOF + + volumeMounts: + - name: data + mountPath: "/var/www/html/data" + - name: html + mountPath: "/var/www/html" + +env: + # IP used for exposing nextcloud + # Often the service or nodePort IP + # Defaults to the main serviceName for CI purposes. + AccessIP: + NEXTCLOUD_INIT_HTACCESS: true + PHP_MEMORY_LIMIT: 1G + PHP_UPLOAD_LIMIT: 10G + NEXTCLOUD_CHUNKSIZE: "31457280" + TRUSTED_PROXIES: "172.16.0.0/16 127.0.0.1" + POSTGRES_DB: "{{ .Values.postgresql.postgresqlDatabase }}" + POSTGRES_USER: "{{ .Values.postgresql.postgresqlUsername }}" + NC_check_data_directory_permissions: "true" + POSTGRES_PASSWORD: + secretKeyRef: + name: dbcreds + key: postgresql-password + POSTGRES_HOST: + secretKeyRef: + name: dbcreds + key: plainporthost + REDIS_HOST: + secretKeyRef: + name: rediscreds + key: plainhost + REDIS_HOST_PASSWORD: + secretKeyRef: + name: rediscreds + key: redis-password + +envFrom: + - configMapRef: + name: nextcloudconfig + +persistence: + html: + enabled: true + mountPath: "/var/www/html" + data: + enabled: true + mountPath: "/var/www/html/data" + varrun: + enabled: true + cache: + enabled: true + type: emptyDir + mountPath: /var/cache/nginx + medium: Memory + nginx: + enabled: "true" + mountPath: "/etc/nginx" + noMount: true + readOnly: true + type: "custom" + volumeSpec: + configMap: + name: '{{ include "tc.common.names.fullname" . }}-nginx' + items: + - key: nginx.conf + path: nginx.conf + +configmap: + nginx: + enabled: true + data: + nginx.conf: |- + worker_processes auto; + + error_log /var/log/nginx/error.log warn; + pid /var/run/nginx.pid; + + + events { + worker_connections 1024; + } + + + http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + #tcp_nopush on; + + # Prevent nginx HTTP Server Detection + server_tokens off; + + keepalive_timeout 65; + + #gzip on; + + upstream php-handler { + server 127.0.0.1:9000; + } + + server { + listen 8080; + absolute_redirect off; + + # Forward Notify_Push "High Performance Backend" to it's own container + location ^~ /push/ { + proxy_pass http://127.0.0.1:7867/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + # HSTS settings + # WARNING: Only add the preload option once you read about + # the consequences in https://hstspreload.org/. This option + # will add the domain to a hardcoded list that is shipped + # in all major browsers and getting removed from this list + # could take several months. + #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; + + # set max upload size + client_max_body_size {{ .Values.env.PHP_UPLOAD_LIMIT | default "512M" }}; + fastcgi_buffers 64 4K; + + # Enable gzip but do not remove ETag headers + gzip on; + gzip_vary on; + gzip_comp_level 4; + gzip_min_length 256; + gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; + gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; + + # Pagespeed is not supported by Nextcloud, so if your server is built + # with the `ngx_pagespeed` module, uncomment this line to disable it. + #pagespeed off; + + # HTTP response headers borrowed from Nextcloud `.htaccess` + add_header Referrer-Policy "no-referrer" always; + add_header X-Content-Type-Options "nosniff" always; + add_header X-Download-Options "noopen" always; + add_header X-Frame-Options "SAMEORIGIN" always; + add_header X-Permitted-Cross-Domain-Policies "none" always; + add_header X-Robots-Tag "none" always; + add_header X-XSS-Protection "1; mode=block" always; + + # Remove X-Powered-By, which is an information leak + fastcgi_hide_header X-Powered-By; + + # Path to the root of your installation + root /var/www/html; + + # Specify how to handle directories -- specifying `/index.php$request_uri` + # here as the fallback means that Nginx always exhibits the desired behaviour + # when a client requests a path that corresponds to a directory that exists + # on the server. In particular, if that directory contains an index.php file, + # that file is correctly served; if it doesn't, then the request is passed to + # the front-end controller. This consistent behaviour means that we don't need + # to specify custom rules for certain paths (e.g. images and other assets, + # `/updater`, `/ocm-provider`, `/ocs-provider`), and thus + # `try_files $uri $uri/ /index.php$request_uri` + # always provides the desired behaviour. + index index.php index.html /index.php$request_uri; + + # Rule borrowed from `.htaccess` to handle Microsoft DAV clients + location = / { + if ( $http_user_agent ~ ^DavClnt ) { + return 302 /remote.php/webdav/$is_args$args; + } + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + # Make a regex exception for `/.well-known` so that clients can still + # access it despite the existence of the regex rule + # `location ~ /(\.|autotest|...)` which would otherwise handle requests + # for `/.well-known`. + location ^~ /.well-known { + # The rules in this block are an adaptation of the rules + # in `.htaccess` that concern `/.well-known`. + + location = /.well-known/carddav { return 301 /remote.php/dav/; } + location = /.well-known/caldav { return 301 /remote.php/dav/; } + + # according to the documentation these two lines are not necessary, but some users are still recieving errors + location = /.well-known/webfinger { return 301 /index.php$uri; } + location = /.well-known/nodeinfo { return 301 /index.php$uri; } + + location /.well-known/acme-challenge { try_files $uri $uri/ =404; } + location /.well-known/pki-validation { try_files $uri $uri/ =404; } + + # Let Nextcloud's API for `/.well-known` URIs handle all other + # requests by passing them to the front-end controller. + return 301 /index.php$request_uri; + } + + # Rules borrowed from `.htaccess` to hide certain paths from clients + location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; } + location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; } + + # Ensure this block, which passes PHP files to the PHP process, is above the blocks + # which handle static assets (as seen below). If this block is not declared first, + # then Nginx will encounter an infinite rewriting loop when it prepends `/index.php` + # to the URI, resulting in a HTTP 500 error response. + location ~ \.php(?:$|/) { + # Required for legacy support + rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri; + + fastcgi_split_path_info ^(.+?\.php)(/.*)$; + set $path_info $fastcgi_path_info; + + try_files $fastcgi_script_name =404; + + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $path_info; + #fastcgi_param HTTPS on; + + fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice + fastcgi_param front_controller_active true; # Enable pretty urls + fastcgi_pass php-handler; + + fastcgi_intercept_errors on; + fastcgi_request_buffering off; + + proxy_send_timeout 300s; + proxy_read_timeout 300s; + fastcgi_send_timeout 300s; + fastcgi_read_timeout 300s; + } + + location ~ \.(?:css|js|svg|gif)$ { + try_files $uri /index.php$request_uri; + expires 6M; # Cache-Control policy borrowed from `.htaccess` + access_log off; # Optional: Don't log access to assets + } + + location ~ \.woff2?$ { + try_files $uri /index.php$request_uri; + expires 7d; # Cache-Control policy borrowed from `.htaccess` + access_log off; # Optional: Don't log access to assets + } + + # Rule borrowed from `.htaccess` + location /remote { + return 301 /remote.php$request_uri; + } + + location / { + try_files $uri $uri/ /index.php$request_uri; + } + } + } + +cronjob: + enabled: true + generatePreviews: true + schedule: "*/5 * * * *" + annotations: {} + failedJobsHistoryLimit: 5 + successfulJobsHistoryLimit: 2 + +hpb: + enabled: true + +nextcloud: + # https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements + default_phone_region: "" + +imaginary: + enabled: true + preview_max_x: 2048 + preview_max_y: 2048 + preview_max_memory: 512 + preview_max_filesize_image: 150 + preview_png: true + preview_jpeg: true + preview_gif: true + preview_bmp: true + preview_xbitmap: true + preview_mp3: true + preview_markdown: true + preview_opendoc: true + preview_txt: true + preview_krita: true + preview_illustrator: false + preview_heic: false + preview_movie: false + preview_msoffice2003: false + preview_msoffice2007: false + preview_msofficedoc: false + preview_pdf: false + preview_photoshop: false + preview_postscript: false + preview_staroffice: false + preview_svg: false + preview_tiff: false + preview_font: false + +collabora: + enabled: false + env: + aliasgroup1: + configMapRef: + name: nextcloudconfig + key: aliasgroup1 + dictionaries: "de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru" + extra_params: "--o:welcome.enable=false --o:logging.level=information --o:user_interface.mode=notebookbar --o:ssl.termination=true --o:ssl.enable=false " + server_name: "" + DONT_GEN_SSL_CERT: true + +postgresql: + enabled: true + existingSecret: "dbcreds" + postgresqlUsername: nextcloud + postgresqlDatabase: nextcloud + +redis: + enabled: true + existingSecret: "rediscreds" + +portal: + enabled: true diff --git a/stable/nextcloud/15.3.7/questions.yaml b/stable/nextcloud/15.3.7/questions.yaml new file mode 100644 index 00000000000..177b86b108f --- /dev/null +++ b/stable/nextcloud/15.3.7/questions.yaml @@ -0,0 +1,2884 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: Controller + description: Configure Workload Deployment + - name: Container Configuration + description: Additional Container Configuration + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: global + label: Global Settings + group: Controller + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: Flag this is SCALE + schema: + type: boolean + default: true + hidden: true + - variable: controller + group: Controller + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: Show Advanced Controller Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: Please specify type of workload to deploy + label: (Advanced) Controller Type + schema: + type: string + required: true + enum: + - value: deployment + description: Deployment + - value: statefulset + description: Statefulset + - value: daemonset + description: Daemonset + default: deployment + - variable: replicas + description: Number of desired pod replicas + label: Desired Replicas + schema: + type: int + required: true + default: 1 + - variable: strategy + description: Please specify type of workload to deploy + label: (Advanced) Update Strategy + schema: + type: string + required: true + enum: + - value: Recreate + description: "Recreate: Kill existing pods before creating new ones" + - value: RollingUpdate + description: "RollingUpdate: Create new pods and then kill old ones" + - value: OnDelete + description: "(Legacy) OnDelete: ignore .spec.template changes" + default: Recreate + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Controller Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Controller Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: customextraargs + group: Controller + label: "Extra Args" + description: "Do not click this unless you know what you are doing" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + - variable: secretEnv + group: "Container Configuration" + label: "Image Secrets" + schema: + additional_attrs: true + type: dict + attrs: + - variable: NEXTCLOUD_ADMIN_USER + label: "NEXTCLOUD_ADMIN_USER (First Install Only)" + description: "Sets the initial nextcloud's admin username, changing this variable after first launch will NOT change admin's username" + schema: + type: string + required: true + default: "REPLACETHIS" + - variable: NEXTCLOUD_ADMIN_PASSWORD + label: "NEXTCLOUD_ADMIN_PASSWORD (First Install Only)" + description: "Sets the initial nextcloud's admin password, changing this variable after first launch will NOT change admin's password" + schema: + type: string + private: true + required: true + default: "REPLACETHIS" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + additional_attrs: true + type: dict + attrs: + - variable: TRUSTED_PROXIES + label: "Trusted Proxies (First Install Only - Advanced)" + description: "Sets nextcloud Trusted Proxies" + schema: + type: string + default: "172.16.0.0/16 127.0.0.1" + - variable: PHP_MEMORY_LIMIT + label: "PHP_MEMORY_LIMIT" + description: "Sets php memory_limit setting" + schema: + type: string + default: "1G" + - variable: PHP_UPLOAD_LIMIT + label: "PHP_UPLOAD_LIMIT" + description: "Sets php upload_max_filesize and post_max_size settings" + schema: + type: string + default: "10G" + - variable: AccessIP + label: "Access IP" + description: "Set to the IP-Address used to reach Nextcloud. Most often the Service or NodePort IP (Ensure this is correct!)" + schema: + type: string + required: true + $ref: + - "definitions/nodeIP" + - variable: nextcloud + group: "Container Configuration" + label: "Nextcloud Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: default_phone_region + label: "Default Phone Region" + description: "Sets the default phone region in ISO_3166-1 format (e.g. US). https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements" + schema: + type: string + valid_chars: '^[A-Z]{2}$' + default: "US" + - variable: imaginary + group: "Container Configuration" + label: "Preview Generation Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: preview_max_x + label: "Preview Max X" + description: "The maximum width, in pixels, of a preview." + schema: + type: int + required: true + default: 2048 + - variable: preview_max_y + label: "Preview Max Y" + description: "The maximum height, in pixels, of a preview." + schema: + type: int + required: true + default: 2048 + - variable: preview_max_memory + label: "Preview Max Memory" + description: "Max memory in MB for generating image previews." + schema: + type: int + required: true + default: 512 + - variable: preview_max_filesize_image + label: "Preview Max Filesize Image" + description: "Max file size in MB for generating image previews." + schema: + type: int + required: true + default: 150 + - variable: preview_png + label: "Generate previews for PNG" + schema: + type: boolean + default: true + - variable: preview_jpeg + label: "Generate previews for JPEG " + schema: + type: boolean + default: true + - variable: preview_gif + label: "Generate previews for GIF" + schema: + type: boolean + default: true + - variable: preview_bmp + label: "Generate previews for BMP" + schema: + type: boolean + default: true + - variable: preview_xbitmap + label: "Generate previews for XBitmap" + schema: + type: boolean + default: true + - variable: preview_mp3 + label: "Generate previews for MP3" + schema: + type: boolean + default: true + - variable: preview_markdown + label: "Generate previews for MarkDown" + schema: + type: boolean + default: true + - variable: preview_opendoc + label: "Generate previews for OpenDocument" + schema: + type: boolean + default: true + - variable: preview_txt + label: "Generate previews for TXT" + schema: + type: boolean + default: true + - variable: preview_krita + label: "Generate previews for Krita" + schema: + type: boolean + default: true + - variable: preview_illustrator + label: "Generate previews for Illustrator" + schema: + type: boolean + default: false + - variable: preview_heic + label: "Generate previews for HEIC" + schema: + type: boolean + default: false + - variable: preview_movie + label: "Generate previews for Movie" + schema: + type: boolean + default: false + - variable: preview_msoffice2003 + label: "Generate previews for MSOffice2003" + schema: + type: boolean + default: false + - variable: preview_msoffice2007 + label: "Generate previews for MSOffice2007" + schema: + type: boolean + default: false + - variable: preview_msofficedoc + label: "Generate previews for MSOfficeDoc" + schema: + type: boolean + default: false + - variable: preview_pdf + label: "Generate previews for PDF" + schema: + type: boolean + default: false + - variable: preview_photoshop + label: "Generate previews for Photoshop" + schema: + type: boolean + default: false + - variable: preview_postscript + label: "Generate previews for Postscript" + schema: + type: boolean + default: false + - variable: preview_staroffice + label: "Generate previews for StarOffice" + schema: + type: boolean + default: false + - variable: preview_svg + label: "Generate previews for SVG" + schema: + type: boolean + default: false + - variable: preview_tiff + label: "Generate previews for TIFF" + schema: + type: boolean + default: false + - variable: preview_font + label: "Generate previews for Font" + schema: + type: boolean + default: false + - variable: TZ + label: Timezone + group: Container Configuration + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - 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..." + group: Container Configuration + 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: expertpodconf + group: Container Configuration + label: Show Expert Configuration + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: tty + label: Enable TTY + description: Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: stdin + label: Enable STDIN + description: Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: termination + group: Container Configuration + label: Termination settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: gracePeriodSeconds + label: Grace Period Seconds + schema: + type: int + default: 10 + - variable: podLabelsList + group: Container Configuration + label: Pod Labels + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: podAnnotationsList + group: Container Configuration + label: Pod Annotations + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: ClusterIP + description: ClusterIP + - value: NodePort + description: NodePort (Advanced) + - value: LoadBalancer + description: LoadBalancer (Advanced) + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: (Advanced) Specify the IP Policy + schema: + show_if: [["type", "!=", "Simple"]] + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: (Advanced) IP Families + description: (Advanced) The IP Families that should be used + schema: + show_if: [["type", "!=", "Simple"]] + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - 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: 10020 + required: true + - variable: advanced + label: Show Advanced Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: Enable the Port + schema: + type: boolean + hidden: true + default: true + - variable: protocol + label: Port Type + schema: + type: string + default: HTTP + enum: + - value: HTTP + description: HTTP + - value: HTTPS + description: HTTPS + - value: TCP + description: TCP + - value: UDP + description: UDP + - variable: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 8080 + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: Networking and Services + label: Host-Networking (Complicated) + schema: + type: boolean + default: false + - variable: externalInterfaces + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + 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: + 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 + show_subquestions_if: static + subquestions: + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + 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: dnsPolicy + group: Networking and Services + label: dnsPolicy + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ClusterFirst + description: ClusterFirst + - value: ClusterFirstWithHostNet + description: ClusterFirstWithHostNet + - value: None + description: None + - variable: dnsConfig + label: DNS Configuration + group: Networking and Services + description: Specify custom DNS configuration which will be applied to the pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: nameservers + label: Name Servers + schema: + default: [] + type: list + items: + - variable: nameserver + label: Name Server + schema: + type: string + - variable: options + label: Options + schema: + default: [] + type: list + items: + - variable: option + label: Option Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: searches + label: Searches + schema: + default: [] + type: list + items: + - variable: search + label: Search Entry + schema: + type: string + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + 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: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort + schema: + type: int + min: 9000 + max: 65535 + - variable: persistence + label: Integrated Persistent Storage + description: Integrated Persistent Storage + group: Storage and Persistence + schema: + additional_attrs: true + type: dict + attrs: + - variable: html + label: "App html Storage" + description: "Stores the Application html." + 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: simplePVC + enum: + - value: simplePVC + description: PVC (simple) + - value: simpleHP + description: Host Path (simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: false + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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 + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 999Gi + - variable: hostPathType + label: (Advanced) hostPath Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) storageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: data + label: "UserData Storage" + description: "Stores the User 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: simplePVC + enum: + - value: simplePVC + description: PVC (simple) + - value: simpleHP + description: Host Path (simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: false + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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 + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 999Gi + - variable: hostPathType + label: (Advanced) hostPath Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) storageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: name + label: Name (Optional) + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: simpleHP + enum: + - value: simplePVC + description: PVC (Simple) + - value: simpleHP + description: Host Path (Simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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: 999Gi + - variable: hostPathType + label: (Advanced) Host Path Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) StorageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: [] + 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: tls + label: TLS-Settings + schema: + type: list + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: These middlewares enforce a number of best practices. + label: Enable Default Middlewares + schema: + type: boolean + default: true + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: service + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: security + label: Container Security Settings + group: Security and Permissions + schema: + type: dict + additional_attrs: true + attrs: + - variable: editsecurity + label: Change PUID / UMASK values + description: By enabling this you override default set values. + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - 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 + 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: "002" + - variable: advancedSecurity + label: Show Advanced Security Settings + group: Security and Permissions + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: capabilities + label: Capabilities + schema: + additional_attrs: true + type: dict + attrs: + - variable: drop + label: Drop Capability + schema: + type: list + default: [] + items: + - variable: dropEntry + label: "" + schema: + type: string + - variable: add + label: Add Capability + schema: + type: list + default: [] + items: + - variable: addEntry + label: "" + schema: + type: string + - variable: podSecurityContext + group: Security and Permissions + label: Pod Security Context + schema: + additional_attrs: true + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 33 + - 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 + + - variable: advancedresources + label: Set Custom Resource Limits/Requests (Advanced) + group: Resources and Devices + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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 + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 10m + 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/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 50Mi + 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: hostPath + 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" + # Specify GPU configuration + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] +# - variable: autoscaling +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - 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: +# additional_attrs: true +# type: dict +# attrs: +# - 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: 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: openvpn + description: OpenVPN + - value: wireguard + description: Wireguard + - value: tailscale + description: Tailscale + - variable: openvpn + label: OpenVPN Settings + schema: + 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 + default: "" + required: true + - variable: tailscale + label: Tailscale Settings + schema: + 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: 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: Sock5 Server + 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: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type + schema: + type: string + default: hostPath + hidden: true + - variable: hostPathType + label: hostPathType + schema: + type: string + default: File + hidden: true + - variable: noMount + label: noMount + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: Full Path to File + description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + 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 + - 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: git + label: Git Settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: deployKey + description: Raw SSH Private Key + label: Deploy Key + schema: + type: string + - variable: deployKeyBase64 + description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence + label: Deploy Key Base64 + schema: + type: string + - variable: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: NodePort + enum: + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: nodePort + description: Leave Empty to Disable + label: "nodePort" + schema: + type: int + default: 36107 + - 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: promtail + label: Promtail + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: Loki URL + schema: + type: string + required: true + - variable: logs + label: Log Paths + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: path + label: Path + schema: + type: string + required: true + - variable: args + label: Promtail Command Line Arguments + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + required: true + - variable: envList + label: Promtail 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: 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/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/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/nextcloud/15.3.7/templates/_configmap.tpl b/stable/nextcloud/15.3.7/templates/_configmap.tpl new file mode 100644 index 00000000000..abe500d31e8 --- /dev/null +++ b/stable/nextcloud/15.3.7/templates/_configmap.tpl @@ -0,0 +1,36 @@ +{{/* Define the configmap */}} +{{- define "nextcloud.configmap" -}} + +{{- $hosts := "" }} +{{- if .Values.ingress.main.enabled }} +{{- range .Values.ingress }} +{{- range $index, $host := .hosts }} + {{- if $index }} + {{ $hosts = ( printf "%v %v" $hosts $host.host ) }} + {{- else }} + {{ $hosts = ( printf "%s" $host.host ) }} + {{- end }} +{{- end }} +{{- end }} +{{- end }} + + +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: nextcloudconfig +data: + {{- $aliasgroup1 := ( printf "http://%s" ( .Values.env.AccessIP | default ( printf "%v-%v" .Release.Name "nextcloud" ) ) ) }} + {{- if .Values.ingress.main.enabled }} + {{- with (first .Values.ingress.main.hosts) }} + {{- $aliasgroup1 = ( printf "https://%s" .host ) }} + {{- end }} + {{- end }} + aliasgroup1: {{ $aliasgroup1 }} + NEXTCLOUD_TRUSTED_DOMAINS: {{ ( printf "%v %v %v %v %v %v %v %v" "test.fakedomain.dns" "localhost" "127.0.0.1" ( printf "%v:%v" "127.0.0.1" .Values.service.main.ports.main.port ) ( .Values.env.AccessIP | default "localhost" ) ( printf "%v-%v" .Release.Name "nextcloud" ) ( printf "%v-%v" .Release.Name "nextcloud-backend" ) $hosts ) | quote }} + {{- if .Values.ingress.main.enabled }} + APACHE_DISABLE_REWRITE_IP: "1" + {{- end }} + +{{- end -}} diff --git a/stable/nextcloud/15.3.7/templates/_cronjob.tpl b/stable/nextcloud/15.3.7/templates/_cronjob.tpl new file mode 100644 index 00000000000..302f3b83aae --- /dev/null +++ b/stable/nextcloud/15.3.7/templates/_cronjob.tpl @@ -0,0 +1,64 @@ +{{/* Define the cronjob */}} +{{- define "nextcloud.cronjob" -}} +{{- if .Values.cronjob.enabled -}} +{{- $jobName := include "tc.common.names.fullname" . }} + +--- +apiVersion: batch/v1 +kind: CronJob +metadata: + name: {{ printf "%s-cronjob" $jobName }} + labels: + {{- include "tc.common.labels" . | nindent 4 }} +spec: + schedule: "{{ .Values.cronjob.schedule }}" + concurrencyPolicy: Forbid + {{- with .Values.cronjob.failedJobsHistoryLimit }} + failedJobsHistoryLimit: {{ . }} + {{- end }} + {{- with .Values.cronjob.successfulJobsHistoryLimit }} + successfulJobsHistoryLimit: {{ . }} + {{- end }} + jobTemplate: + metadata: + spec: + template: + metadata: + spec: + restartPolicy: Never + {{- with (include "tc.common.controller.volumes" . | trim) }} + volumes: + {{- nindent 12 . }} + {{- end }} + containers: + - name: {{ .Chart.Name }} + image: '{{ include "tc.common.images.selector" . }}' + imagePullPolicy: {{ default .Values.image.pullPolicy }} + command: + - "/bin/sh" + - "-c" + - | + /bin/bash <<'EOF' + echo "running nextcloud cronjob..." + php -f /var/www/html/cron.php + echo "cronjob finished" + {{- if .Values.cronjob.generatePreviews }} + echo "Pre-generating Previews..." + php /var/www/html/occ preview:pre-generate + echo "Previews generated." + {{- end }} + EOF + # Will mount configuration files as www-data (id: 33) by default for nextcloud + {{- with (include "tc.common.controller.volumeMounts" . | trim) }} + volumeMounts: + {{ nindent 16 . }} + {{- end }} + securityContext: + runAsUser: 33 + runAsGroup: 33 + readOnlyRootFilesystem: true + runAsNonRoot: true + resources: +{{ toYaml .Values.resources | indent 16 }} +{{- end -}} +{{- end -}} diff --git a/stable/nextcloud/15.3.7/templates/_hpb.tpl b/stable/nextcloud/15.3.7/templates/_hpb.tpl new file mode 100644 index 00000000000..5b7b18a15fa --- /dev/null +++ b/stable/nextcloud/15.3.7/templates/_hpb.tpl @@ -0,0 +1,164 @@ +{{/* Define the hbp container */}} +{{- define "nextcloud.hpb" -}} +{{- $jobName := include "tc.common.names.fullname" . }} +image: '{{ include "tc.common.images.selector" . }}' +imagePullPolicy: '{{ .Values.image.pullPolicy }}' +securityContext: + runAsUser: 33 + runAsGroup: 33 + readOnlyRootFilesystem: true + runAsNonRoot: true +{{- with (include "tc.common.controller.volumeMounts" . | trim) }} +volumeMounts: + {{ nindent 2 . }} +{{- end }} +ports: + - containerPort: 7867 +readinessProbe: + httpGet: + path: /push/test/cookie + port: 7867 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }} +livenessProbe: + httpGet: + path: /push/test/cookie + port: 7867 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }} +startupProbe: + httpGet: + path: /push/test/cookie + port: 7867 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }} +command: + - "/bin/sh" + - "-c" + - | + /bin/bash <<'EOF' + set -m + echo "Waiting for notify_push file to be available..." + until [ -f /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push ] + do + sleep 10 + echo "Notify_push app not found... waiting..." + done + echo "Waiting for Nextcloud to start..." + until $(curl --output /dev/null --silent --head --fail -H "Host: test.fakedomain.dns" http://127.0.0.1:8080/status.php); do + echo "Nextcloud not responding... waiting..." + sleep 10 + done + until $(curl --silent --fail -H "Host: test.fakedomain.dns" http://127.0.0.1:8080/status.php | jq --raw-output '.installed' | grep "true"); do + echo "Nextcloud not installed... waiting..." + sleep 10 + done + echo "Nextcloud instance with Notify_push found... Launching High Performance Backend..." + /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push /var/www/html/config/config.php & + + {{- $accessurl := ( printf "http://%v:%v" ( .Values.env.AccessIP | default ( printf "%v-%v" .Release.Name "nextcloud" ) ) .Values.service.main.ports.main.port ) }} + {{- if .Values.ingress.main.enabled }} + {{- with (first .Values.ingress.main.hosts) }} + {{- $accessurl = ( printf "https://%s" .host ) }} + {{- end }} + {{- end }} + + echo "Configuring CLI url..." + php /var/www/html/occ config:system:set overwrite.cli.url --value='{{ $accessurl }}/' + + {{- if .Values.imaginary.enabled }} + echo "Imaginary High Performance Previews enabled, enabling it on Nextcloud..." + php /var/www/html/occ config:system:set preview_imaginary_url --value='http://127.0.0.1:9090' + php /var/www/html/occ config:system:set preview_max_x --value='{{ .Values.imaginary.preview_max_x }}' + php /var/www/html/occ config:system:set preview_max_y --value='{{ .Values.imaginary.preview_max_y }}' + php /var/www/html/occ config:system:set preview_max_memory --value='{{ .Values.imaginary.preview_max_memory }}' + php /var/www/html/occ config:system:set preview_max_filesize_image --value='{{ .Values.imaginary.preview_max_filesize_image }}' + # Remove all preview providers and re-add only selected + php /var/www/html/occ config:system:delete enabledPreviewProviders + # Add imaginary always + {{ $c := 0 }} # Initialize counter + php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Imaginary'{{ $c = add1 $c }} + {{ if .Values.imaginary.preview_png }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\PNG'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_jpeg }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\JPEG'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_gif }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\GIF'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_bmp }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\BMP'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_xbitmap }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\XBitmap'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_mp3 }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MP3'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_markdown }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MarkDown'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_opendoc }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\OpenDocument'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_txt }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\TXT'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_krita }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Krita'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_illustrator }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Illustrator'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_heic }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\HEIC'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_movie }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Movie'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_msoffice2003 }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MSOffice2003'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_msoffice2007 }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MSOffice2007'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_msofficedoc }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MSOfficeDoc'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_pdf }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\PDF'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_photoshop }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Photoshop'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_postscript }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Postscript'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_staroffice }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\StarOffice'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_svg }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\SVG'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_tiff }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\TIFF'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_font }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Font'{{ $c = add1 $c }}{{ end }} + {{- end }} + + # Set default phone region + {{- with .Values.nextcloud.default_phone_region | upper }} + php /var/www/html/occ config:system:set default_phone_region --value='{{ . }}' + {{- end }} + + echo "Configuring High Performance Backend for url: {{ $accessurl }}" + php /var/www/html/occ config:app:set notify_push base_endpoint --value='{{ $accessurl }}/push' + fg + EOF +env: + - name: NEXTCLOUD_URL + value: 'http://127.0.0.1:8080' + - name: METRICS_PORT + value: '7868' + - name: TRUSTED_PROXIES + value: "{{ .Values.env.TRUSTED_PROXIES }}" + - name: POSTGRES_DB + value: "{{ .Values.postgresql.postgresqlDatabase }}" + - name: POSTGRES_USER + value: "{{ .Values.postgresql.postgresqlUsername }}" + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: dbcreds + key: postgresql-password + - name: POSTGRES_HOST + valueFrom: + secretKeyRef: + name: dbcreds + key: plainporthost + - name: REDIS_HOST + valueFrom: + secretKeyRef: + name: rediscreds + key: plainhost + - name: REDIS_HOST_PASSWORD + valueFrom: + secretKeyRef: + name: rediscreds + key: redis-password +envFrom: + - configMapRef: + name: nextcloudconfig +{{- end -}} diff --git a/stable/nextcloud/15.3.7/templates/_imaginary.tpl b/stable/nextcloud/15.3.7/templates/_imaginary.tpl new file mode 100644 index 00000000000..57a72c43024 --- /dev/null +++ b/stable/nextcloud/15.3.7/templates/_imaginary.tpl @@ -0,0 +1,40 @@ +{{/* Define the imaginary container */}} +{{- define "nextcloud.imaginary" -}} +image: {{ .Values.imaginaryImage.repository }}:{{ .Values.imaginaryImage.tag }} +imagePullPolicy: '{{ .Values.image.pullPolicy }}' +securityContext: + runAsUser: 33 + runAsGroup: 33 + readOnlyRootFilesystem: true + runAsNonRoot: true +ports: + - containerPort: 9090 +args: ["-enable-url-source"] +env: + - name: 'PORT' + value: '9090' +readinessProbe: + httpGet: + path: / + port: 9090 + initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }} +livenessProbe: + httpGet: + path: / + port: 9090 + initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }} +startupProbe: + httpGet: + path: / + port: 9090 + initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }} +{{- end -}} diff --git a/stable/nextcloud/15.3.7/templates/_nginx.tpl b/stable/nextcloud/15.3.7/templates/_nginx.tpl new file mode 100644 index 00000000000..df427f44bd8 --- /dev/null +++ b/stable/nextcloud/15.3.7/templates/_nginx.tpl @@ -0,0 +1,54 @@ +{{/* Define the nginx container */}} +{{- define "nextcloud.nginx" -}} +image: {{ .Values.nginxImage.repository }}:{{ .Values.nginxImage.tag }} +imagePullPolicy: '{{ .Values.image.pullPolicy }}' +securityContext: + runAsUser: 33 + runAsGroup: 33 + readOnlyRootFilesystem: true + runAsNonRoot: true +{{- with (include "tc.common.controller.volumeMounts" . | trim) }} +volumeMounts: + {{ nindent 2 . }} +{{- end }} + - mountPath: /etc/nginx/nginx.conf + name: nginx + readOnly: true + subPath: nginx.conf +ports: + - containerPort: 8080 + +readinessProbe: + httpGet: + path: /robots.txt + port: 8080 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }} +livenessProbe: + httpGet: + path: /robots.txt + port: 8080 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }} +startupProbe: + httpGet: + path: /robots.txt + port: 8080 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }} +{{- end -}} diff --git a/stable/nextcloud/15.3.7/templates/common.yaml b/stable/nextcloud/15.3.7/templates/common.yaml new file mode 100644 index 00000000000..9314524b1a2 --- /dev/null +++ b/stable/nextcloud/15.3.7/templates/common.yaml @@ -0,0 +1,22 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.common.loader.init" . }} + +{{/* Render configmap for nextcloud */}} +{{- include "nextcloud.configmap" . }} + +{{- $newMiddlewares := append .Values.ingress.main.fixedMiddlewares "tc-nextcloud-chain" }} +{{- $_ := set .Values.ingress.main "fixedMiddlewares" $newMiddlewares -}} + +{{- $_ := set .Values.additionalContainers "nginx" (include "nextcloud.nginx" . | fromYaml) -}} +{{- if .Values.imaginary.enabled -}} +{{- $_ := set .Values.additionalContainers "imaginary" (include "nextcloud.imaginary" . | fromYaml) -}} +{{- end -}} +{{- if .Values.hpb.enabled -}} +{{- $_ := set .Values.additionalContainers "hpb" (include "nextcloud.hpb" . | fromYaml) -}} +{{- end -}} + +{{/* Render the templates */}} +{{ include "tc.common.loader.apply" . }} + +{{/* Render cronjob for nextcloud */}} +{{- include "nextcloud.cronjob" . }} diff --git a/stable/storj-node/2.0.45/SKIPINSTALL b/stable/nextcloud/15.3.7/values.yaml similarity index 100% rename from stable/storj-node/2.0.45/SKIPINSTALL rename to stable/nextcloud/15.3.7/values.yaml diff --git a/stable/photoprism/10.0.41/CHANGELOG.md b/stable/photoprism/10.0.41/CHANGELOG.md new file mode 100644 index 00000000000..7d4094286e1 --- /dev/null +++ b/stable/photoprism/10.0.41/CHANGELOG.md @@ -0,0 +1,99 @@ +# Changelog + + + +## [photoprism-10.0.41](https://github.com/truecharts/charts/compare/photoprism-10.0.40...photoprism-10.0.41) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + +## [photoprism-10.0.40](https://github.com/truecharts/charts/compare/photoprism-10.0.38...photoprism-10.0.40) (2022-08-30) + +### Chore + +- Auto-update chart README [skip ci] + - update helm general non-major ([#3639](https://github.com/truecharts/charts/issues/3639)) + - update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) + + + + +## [photoprism-10.0.39](https://github.com/truecharts/charts/compare/photoprism-10.0.38...photoprism-10.0.39) (2022-08-30) + +### Chore + +- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) + + + + +## [photoprism-10.0.38](https://github.com/truecharts/charts/compare/photoprism-10.0.36...photoprism-10.0.38) (2022-08-29) + +### Chore + +- update helm general non-major ([#3621](https://github.com/truecharts/charts/issues/3621)) + - update helm general non-major ([#3619](https://github.com/truecharts/charts/issues/3619)) + + + + +## [photoprism-10.0.36](https://github.com/truecharts/charts/compare/photoprism-10.0.35...photoprism-10.0.36) (2022-08-23) + +### Chore + +- update helm general non-major helm releases ([#3545](https://github.com/truecharts/charts/issues/3545)) + + + + +## [photoprism-10.0.35](https://github.com/truecharts/charts/compare/photoprism-10.0.34...photoprism-10.0.35) (2022-08-17) + +### Chore + +- update helm general non-major helm releases ([#3484](https://github.com/truecharts/charts/issues/3484)) + + + + +## [photoprism-10.0.34](https://github.com/truecharts/charts/compare/photoprism-10.0.33...photoprism-10.0.34) (2022-08-12) + +### Chore + +- add documentation checkbox/section to all SCALE Apps + - update helm general non-major helm releases ([#3456](https://github.com/truecharts/charts/issues/3456)) + + ### Fix + +- move extraArgs from .Values.controller to .Values ([#3447](https://github.com/truecharts/charts/issues/3447)) + + + + +## [photoprism-10.0.33](https://github.com/truecharts/charts/compare/photoprism-10.0.32...photoprism-10.0.33) (2022-08-09) + +### Chore + +- update helm general non-major helm releases to v10.4.9 ([#3413](https://github.com/truecharts/charts/issues/3413)) + + + + +## [photoprism-10.0.32](https://github.com/truecharts/charts/compare/photoprism-10.0.31...photoprism-10.0.32) (2022-08-09) + +### Chore + +- update docker general non-major ([#3377](https://github.com/truecharts/charts/issues/3377)) + + + + +## [photoprism-10.0.31](https://github.com/truecharts/charts/compare/photoprism-10.0.30...photoprism-10.0.31) (2022-08-08) + +### Chore + +- update helm general non-major helm releases ([#3376](https://github.com/truecharts/charts/issues/3376)) + - replace questions parts with templates ([#3402](https://github.com/truecharts/charts/issues/3402)) diff --git a/stable/photoprism/10.0.41/Chart.lock b/stable/photoprism/10.0.41/Chart.lock new file mode 100644 index 00000000000..859bf9b4656 --- /dev/null +++ b/stable/photoprism/10.0.41/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +- name: mariadb + repository: https://charts.truecharts.org/ + version: 3.0.66 +digest: sha256:ad3438017628a13d5791d7dbcc46c6f6e65eda54b043ad10b6796f702f527b88 +generated: "2022-09-02T09:49:00.887526127Z" diff --git a/stable/photoprism/10.0.41/Chart.yaml b/stable/photoprism/10.0.41/Chart.yaml new file mode 100644 index 00000000000..edc07c3c630 --- /dev/null +++ b/stable/photoprism/10.0.41/Chart.yaml @@ -0,0 +1,34 @@ +apiVersion: v2 +appVersion: "220901" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 + - condition: mariadb.enabled + name: mariadb + repository: https://charts.truecharts.org/ + version: 3.0.66 +description: "PhotoPrism® is a server-based application for browsing, organizing and sharing your personal photo collection" +home: https://truecharts.org/docs/charts/stable/photoprism +icon: https://truecharts.org/img/hotlink-ok/chart-icons/photoprism.png +keywords: + - photos + - photoprism + - pictures + - sharing +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: photoprism +sources: + - https://github.com/truecharts/charts/tree/master/charts/stable/photoprism + - https://github.com/photoprism/photoprism + - https://hub.docker.com/r/photoprism/photoprism +version: 10.0.41 +annotations: + truecharts.org/catagories: | + - media + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/stable/photoprism/10.0.41/README.md b/stable/photoprism/10.0.41/README.md new file mode 100644 index 00000000000..508d7e5bbe6 --- /dev/null +++ b/stable/photoprism/10.0.41/README.md @@ -0,0 +1,110 @@ +# photoprism + +![Version: 10.0.41](https://img.shields.io/badge/Version-10.0.41-informational?style=flat-square) ![AppVersion: 220901](https://img.shields.io/badge/AppVersion-220901-informational?style=flat-square) + +PhotoPrism® is a server-based application for browsing, organizing and sharing your personal photo collection + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. + +This readme is just an automatically generated general guide on installing our Helm Charts and Apps. +For more information, please click here: [photoprism](https://truecharts.org/docs/charts/stable/photoprism) + +**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)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://charts.truecharts.org/ | mariadb | 3.0.66 | +| https://library-charts.truecharts.org | common | 10.5.6 | + +## Installing the Chart + +### TrueNAS SCALE + +To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Installing-an-App). + +### Helm + +To install the chart with the release name `photoprism` + +```console +helm repo add TrueCharts https://charts.truecharts.org +helm repo update +helm install photoprism TrueCharts/photoprism +``` + +## Uninstall + +### TrueNAS SCALE + +**Upgrading, Rolling Back and Uninstalling the Chart** + +To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Upgrade-rollback-delete-an-App). + +### Helm + +To uninstall the `photoprism` deployment + +```console +helm uninstall photoprism +``` + +## Configuration + +### Helm + +#### Available Settings + +Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. +Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). + +#### Configure using the command line + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +```console +helm install photoprism \ + --set env.TZ="America/New York" \ + TrueCharts/photoprism +``` + +#### Configure using a yaml file + +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. + +```console +helm install photoprism TrueCharts/photoprism -f values.yaml +``` + +#### Connecting to other charts + +If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/linking-apps) quick-start guide. + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/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/docs/about/sponsor) or contributing back to the project any way you can! + +--- + +All Rights Reserved - The TrueCharts Project diff --git a/stable/photoprism/10.0.41/app-readme.md b/stable/photoprism/10.0.41/app-readme.md new file mode 100644 index 00000000000..77a5ffc449a --- /dev/null +++ b/stable/photoprism/10.0.41/app-readme.md @@ -0,0 +1,8 @@ +PhotoPrism® is a server-based application for browsing, organizing and sharing your personal photo collection + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/docs/charts/stable/photoprism](https://truecharts.org/docs/charts/stable/photoprism) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can! diff --git a/stable/photoprism/10.0.41/charts/common-10.5.6.tgz b/stable/photoprism/10.0.41/charts/common-10.5.6.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9e3f5a957f3fa92bc5b2d7cb2c16b0ab954235cf GIT binary patch literal 48176 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%0D#1AX%ulOWWbBnc9F790F-J%0)!zJSZ8b00| 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 literal 0 HcmV?d00001 diff --git a/stable/photoprism/10.0.41/charts/mariadb-3.0.66.tgz b/stable/photoprism/10.0.41/charts/mariadb-3.0.66.tgz new file mode 100644 index 0000000000000000000000000000000000000000..71a537769c9033f48e984c7ec12f8e18003aa5b8 GIT binary patch literal 59036 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 N|Nm+pEuR1Y1^}UPG&TSL literal 0 HcmV?d00001 diff --git a/stable/photoprism/10.0.41/ix_values.yaml b/stable/photoprism/10.0.41/ix_values.yaml new file mode 100644 index 00000000000..d4526a883a6 --- /dev/null +++ b/stable/photoprism/10.0.41/ix_values.yaml @@ -0,0 +1,61 @@ +image: + repository: tccr.io/truecharts/photoprism + tag: v220901@sha256:c83d3c911b91460f2b043a048224b37516bff40f1676330ea1e790145278c5fa + pullPolicy: IfNotPresent + +securityContext: + readOnlyRootFilesystem: false + +secretEnv: + PHOTOPRISM_ADMIN_PASSWORD: "please-change" + +env: + HOME: "/photoprism" + PHOTOPRISM_ORIGINALS_PATH: "/photoprism/originals" + PHOTOPRISM_IMPORT_PATH: "/photoprism/import" + PHOTOPRISM_TEMP_PATH: "/photoprism/temp" + PHOTOPRISM_STORAGE_PATH: "/assets/storage" + PHOTOPRISM_SIDECAR_PATH: "/assets/sidecar" + PHOTOPRISM_CACHE_PATH: "/assets/cache" + PHOTOPRISM_CONFIG_PATH: "/assets/config" + PROTOPRISM_BACKUP_PATH: "/assets/backup" + PHOTOPRISM_PUBLIC: false + PHOTOPRISM_UID: "{{ .Values.podSecurityContext.runAsUser }}" + PHOTOPRISM_GID: "{{ .Values.podSecurityContext.runAsGroup }}" + PHOTOPRISM_UMASK: "{{ .Values.env.UMASK }}" + PHOTOPRISM_DATABASE_DRIVER: "mysql" + PHOTOPRISM_DATABASE_NAME: "photoprism" + PHOTOPRISM_DATABASE_USER: "photoprism" + PHOTOPRISM_DATABASE_SERVER: + secretKeyRef: + name: mariadbcreds + key: plainporthost + PHOTOPRISM_DATABASE_PASSWORD: + secretKeyRef: + name: mariadbcreds + key: mariadb-password + +service: + main: + ports: + main: + port: 2342 + targetPort: 2342 + +persistence: + storage: + enabled: true + mountPath: "/assets" + temp: + enabled: true + mountPath: "/photoprism/temp" + type: emptyDir + +mariadb: + enabled: true + mariadbUsername: photoprism + mariadbDatabase: photoprism + existingSecret: "mariadbcreds" + +portal: + enabled: true diff --git a/stable/photoprism/10.0.41/questions.yaml b/stable/photoprism/10.0.41/questions.yaml new file mode 100644 index 00000000000..3dee0a1f750 --- /dev/null +++ b/stable/photoprism/10.0.41/questions.yaml @@ -0,0 +1,2528 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: Controller + description: Configure Workload Deployment + - name: Container Configuration + description: Additional Container Configuration + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: global + label: Global Settings + group: Controller + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: Flag this is SCALE + schema: + type: boolean + default: true + hidden: true + - variable: controller + group: Controller + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: Show Advanced Controller Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: Please specify type of workload to deploy + label: (Advanced) Controller Type + schema: + type: string + required: true + enum: + - value: deployment + description: Deployment + - value: statefulset + description: Statefulset + - value: daemonset + description: Daemonset + default: deployment + - variable: replicas + description: Number of desired pod replicas + label: Desired Replicas + schema: + type: int + required: true + default: 1 + - variable: strategy + description: Please specify type of workload to deploy + label: (Advanced) Update Strategy + schema: + type: string + required: true + enum: + - value: Recreate + description: "Recreate: Kill existing pods before creating new ones" + - value: RollingUpdate + description: "RollingUpdate: Create new pods and then kill old ones" + - value: OnDelete + description: "(Legacy) OnDelete: ignore .spec.template changes" + default: Recreate + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Controller Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Controller Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: customextraargs + group: Controller + label: "Extra Args" + description: "Do not click this unless you know what you are doing" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + - variable: secretEnv + group: "Container Configuration" + label: "Image Secrets" + schema: + additional_attrs: true + type: dict + attrs: + - variable: PHOTOPRISM_ADMIN_PASSWORD + label: "PHOTOPRISM_ADMIN_PASSWORD (First Install Only)" + description: "Initial admin password. **BE SURE TO CHANGE THIS!**" + schema: + type: string + required: true + private: true + default: "REPLACETHIS" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + additional_attrs: true + type: dict + attrs: + - variable: PHOTOPRISM_ORIGINALS_PATH + label: "PHOTOPRISM_ORIGINALS_PATH" + description: "Photoprism originals path" + schema: + type: string + default: "/photoprism/originals" + - variable: PHOTOPRISM_IMPORT_PATH + label: "PHOTOPRISM_IMPORT_PATH" + description: "Photoprism import path" + schema: + type: string + default: "/photoprism/import" + - variable: PHOTOPRISM_PUBLIC + label: "PHOTOPRISM_PUBLIC" + description: "Disable authentication / password protection" + schema: + type: boolean + default: false + - variable: TZ + label: Timezone + group: Container Configuration + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - 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..." + group: Container Configuration + 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: expertpodconf + group: Container Configuration + label: Show Expert Configuration + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: tty + label: Enable TTY + description: Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: stdin + label: Enable STDIN + description: Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: termination + group: Container Configuration + label: Termination settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: gracePeriodSeconds + label: Grace Period Seconds + schema: + type: int + default: 10 + - variable: podLabelsList + group: Container Configuration + label: Pod Labels + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: podAnnotationsList + group: Container Configuration + label: Pod Annotations + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: ClusterIP + description: ClusterIP + - value: NodePort + description: NodePort (Advanced) + - value: LoadBalancer + description: LoadBalancer (Advanced) + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: (Advanced) Specify the IP Policy + schema: + show_if: [["type", "!=", "Simple"]] + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: (Advanced) IP Families + description: (Advanced) The IP Families that should be used + schema: + show_if: [["type", "!=", "Simple"]] + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - 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: 2342 + required: true + - variable: advanced + label: Show Advanced Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: Enable the Port + schema: + type: boolean + hidden: true + default: true + - variable: protocol + label: Port Type + schema: + type: string + default: HTTP + enum: + - value: HTTP + description: HTTP + - value: HTTPS + description: HTTPS + - value: TCP + description: TCP + - value: UDP + description: UDP + - variable: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 2342 + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: Networking and Services + label: Host-Networking (Complicated) + schema: + type: boolean + default: false + - variable: externalInterfaces + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + 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: + 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 + show_subquestions_if: static + subquestions: + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + 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: dnsPolicy + group: Networking and Services + label: dnsPolicy + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ClusterFirst + description: ClusterFirst + - value: ClusterFirstWithHostNet + description: ClusterFirstWithHostNet + - value: None + description: None + - variable: dnsConfig + label: DNS Configuration + group: Networking and Services + description: Specify custom DNS configuration which will be applied to the pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: nameservers + label: Name Servers + schema: + default: [] + type: list + items: + - variable: nameserver + label: Name Server + schema: + type: string + - variable: options + label: Options + schema: + default: [] + type: list + items: + - variable: option + label: Option Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: searches + label: Searches + schema: + default: [] + type: list + items: + - variable: search + label: Search Entry + schema: + type: string + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + 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: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort + schema: + type: int + min: 9000 + max: 65535 + - variable: persistence + label: Integrated Persistent Storage + description: Integrated Persistent Storage + group: Storage and Persistence + schema: + additional_attrs: true + type: dict + attrs: + - variable: storage + label: "App 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: simplePVC + enum: + - value: simplePVC + description: PVC (simple) + - value: simpleHP + description: Host Path (simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: false + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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 + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 999Gi + - variable: hostPathType + label: (Advanced) hostPath Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) storageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: name + label: Name (Optional) + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: simpleHP + enum: + - value: simplePVC + description: PVC (Simple) + - value: simpleHP + description: Host Path (Simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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: 999Gi + - variable: hostPathType + label: (Advanced) Host Path Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) StorageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: [] + 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: tls + label: TLS-Settings + schema: + type: list + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: These middlewares enforce a number of best practices. + label: Enable Default Middlewares + schema: + type: boolean + default: true + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: service + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: security + label: Container Security Settings + group: Security and Permissions + schema: + type: dict + additional_attrs: true + attrs: + - variable: editsecurity + label: Change PUID / UMASK values + description: By enabling this you override default set values. + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - 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 + 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: "002" + - variable: advancedSecurity + label: Show Advanced Security Settings + group: Security and Permissions + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: capabilities + label: Capabilities + schema: + additional_attrs: true + type: dict + attrs: + - variable: drop + label: Drop Capability + schema: + type: list + default: [] + items: + - variable: dropEntry + label: "" + schema: + type: string + - variable: add + label: Add Capability + schema: + type: list + default: [] + items: + - variable: addEntry + label: "" + schema: + type: string + - variable: podSecurityContext + group: Security and Permissions + label: Pod Security Context + schema: + additional_attrs: true + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - 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 + + - variable: advancedresources + label: Set Custom Resource Limits/Requests (Advanced) + group: Resources and Devices + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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 + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 10m + 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/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 50Mi + 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: hostPath + 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" + # Specify GPU configuration + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] +# - variable: autoscaling +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - 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: +# additional_attrs: true +# type: dict +# attrs: +# - 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: 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: openvpn + description: OpenVPN + - value: wireguard + description: Wireguard + - value: tailscale + description: Tailscale + - variable: openvpn + label: OpenVPN Settings + schema: + 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 + default: "" + required: true + - variable: tailscale + label: Tailscale Settings + schema: + 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: 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: Sock5 Server + 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: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type + schema: + type: string + default: hostPath + hidden: true + - variable: hostPathType + label: hostPathType + schema: + type: string + default: File + hidden: true + - variable: noMount + label: noMount + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: Full Path to File + description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + 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 + - 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: git + label: Git Settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: deployKey + description: Raw SSH Private Key + label: Deploy Key + schema: + type: string + - variable: deployKeyBase64 + description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence + label: Deploy Key Base64 + schema: + type: string + - variable: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: NodePort + enum: + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: nodePort + description: Leave Empty to Disable + label: "nodePort" + schema: + type: int + default: 36107 + - 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: promtail + label: Promtail + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: Loki URL + schema: + type: string + required: true + - variable: logs + label: Log Paths + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: path + label: Path + schema: + type: string + required: true + - variable: args + label: Promtail Command Line Arguments + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + required: true + - variable: envList + label: Promtail 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: 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/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/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/photoprism/10.0.41/templates/common.yaml b/stable/photoprism/10.0.41/templates/common.yaml new file mode 100644 index 00000000000..c1a366e1cf0 --- /dev/null +++ b/stable/photoprism/10.0.41/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.common.loader.all" . }} diff --git a/stable/zigbee2mqtt/4.0.32/SKIPINSTALL b/stable/photoprism/10.0.41/values.yaml similarity index 100% rename from stable/zigbee2mqtt/4.0.32/SKIPINSTALL rename to stable/photoprism/10.0.41/values.yaml diff --git a/stable/plex/10.2.6/CHANGELOG.md b/stable/plex/10.2.6/CHANGELOG.md new file mode 100644 index 00000000000..b3b8cb01a4e --- /dev/null +++ b/stable/plex/10.2.6/CHANGELOG.md @@ -0,0 +1,99 @@ +# Changelog + + + +## [plex-10.2.6](https://github.com/truecharts/charts/compare/plex-utills-1.0.0...plex-10.2.6) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + +## [plex-10.2.5](https://github.com/truecharts/charts/compare/plex-10.2.3...plex-10.2.5) (2022-08-30) + +### Chore + +- Auto-update chart README [skip ci] + - update helm general non-major ([#3639](https://github.com/truecharts/charts/issues/3639)) + - update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) + + + + +## [plex-10.2.4](https://github.com/truecharts/charts/compare/plex-10.2.3...plex-10.2.4) (2022-08-30) + +### Chore + +- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626)) + + + + +## [plex-10.2.3](https://github.com/truecharts/charts/compare/plexripper-0.0.20...plex-10.2.3) (2022-08-30) + +### Chore + +- update docker general non-major ([#3623](https://github.com/truecharts/charts/issues/3623)) + + + + +## [plex-10.2.2](https://github.com/truecharts/charts/compare/plextraktsync-0.0.24...plex-10.2.2) (2022-08-29) + +### Chore + +- update helm general non-major ([#3619](https://github.com/truecharts/charts/issues/3619)) + + + + +## [plex-10.2.1](https://github.com/truecharts/charts/compare/plex-10.2.0...plex-10.2.1) (2022-08-27) + +### Fix + +- init script quotes it automatically ([#3598](https://github.com/truecharts/charts/issues/3598)) + + + + +## [plex-10.2.0](https://github.com/truecharts/charts/compare/plex-meta-manager-0.0.18...plex-10.2.0) (2022-08-27) + +### Feat + +- disable GDM by default ([#3597](https://github.com/truecharts/charts/issues/3597)) + + + + +## [plex-10.1.3](https://github.com/truecharts/charts/compare/plex-10.1.2...plex-10.1.3) (2022-08-23) + +### Chore + +- update helm general non-major helm releases ([#3545](https://github.com/truecharts/charts/issues/3545)) + + + + +## [plex-10.1.2](https://github.com/truecharts/charts/compare/plex-10.1.1...plex-10.1.2) (2022-08-19) + +### Fix + +- fix tpl error ([#3515](https://github.com/truecharts/charts/issues/3515)) + + + + +## [plex-10.1.1](https://github.com/truecharts/charts/compare/plex-10.1.0...plex-10.1.1) (2022-08-19) + +### Chore + +- update docker general non-major docker tags ([#3512](https://github.com/truecharts/charts/issues/3512)) + + + + +## [plex-10.1.0](https://github.com/truecharts/charts/compare/plextraktsync-0.0.20...plex-10.1.0) (2022-08-18) + +### Feat diff --git a/stable/plex/10.2.6/Chart.lock b/stable/plex/10.2.6/Chart.lock new file mode 100644 index 00000000000..7cb34bb934a --- /dev/null +++ b/stable/plex/10.2.6/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +digest: sha256:033cffd654878c0c1fcc6f4c236f81736e71491b2ad46a5dec9708ea6faf2b63 +generated: "2022-09-02T09:48:53.397366158Z" diff --git a/stable/plex/10.2.6/Chart.yaml b/stable/plex/10.2.6/Chart.yaml new file mode 100644 index 00000000000..f91394b27fd --- /dev/null +++ b/stable/plex/10.2.6/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: "1.28.2.615" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 10.5.6 +deprecated: false +description: Plex Media Server +home: https://truecharts.org/docs/charts/stable/plex +icon: https://truecharts.org/img/hotlink-ok/chart-icons/plex.png +keywords: + - plex + - plex-media-server +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: plex +sources: + - https://github.com/truecharts/charts/tree/master/charts/stable/plex + - https://github.com/k8s-at-home/container-images/pkgs/container/plex +type: application +version: 10.2.6 +annotations: + truecharts.org/catagories: | + - media + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/stable/plex/10.2.6/README.md b/stable/plex/10.2.6/README.md new file mode 100644 index 00000000000..47ec083151d --- /dev/null +++ b/stable/plex/10.2.6/README.md @@ -0,0 +1,108 @@ +# plex + +![Version: 10.2.6](https://img.shields.io/badge/Version-10.2.6-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.28.2.615](https://img.shields.io/badge/AppVersion-1.28.2.615-informational?style=flat-square) + +Plex Media Server + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. + +This readme is just an automatically generated general guide on installing our Helm Charts and Apps. +For more information, please click here: [plex](https://truecharts.org/docs/charts/stable/plex) + +**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)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://library-charts.truecharts.org | common | 10.5.6 | + +## Installing the Chart + +### TrueNAS SCALE + +To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Installing-an-App). + +### Helm + +To install the chart with the release name `plex` + +```console +helm repo add TrueCharts https://charts.truecharts.org +helm repo update +helm install plex TrueCharts/plex +``` + +## Uninstall + +### TrueNAS SCALE + +**Upgrading, Rolling Back and Uninstalling the Chart** + +To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Upgrade-rollback-delete-an-App). + +### Helm + +To uninstall the `plex` deployment + +```console +helm uninstall plex +``` + +## Configuration + +### Helm + +#### Available Settings + +Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. +Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). + +#### Configure using the command line + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +```console +helm install plex \ + --set env.TZ="America/New York" \ + TrueCharts/plex +``` + +#### Configure using a yaml file + +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. + +```console +helm install plex TrueCharts/plex -f values.yaml +``` + +#### Connecting to other charts + +If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/linking-apps) quick-start guide. + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/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/docs/about/sponsor) or contributing back to the project any way you can! + +--- + +All Rights Reserved - The TrueCharts Project diff --git a/stable/plex/10.2.6/app-readme.md b/stable/plex/10.2.6/app-readme.md new file mode 100644 index 00000000000..0c9dfd48c99 --- /dev/null +++ b/stable/plex/10.2.6/app-readme.md @@ -0,0 +1,8 @@ +Plex Media Server + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/docs/charts/stable/plex](https://truecharts.org/docs/charts/stable/plex) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can! diff --git a/stable/plex/10.2.6/charts/common-10.5.6.tgz b/stable/plex/10.2.6/charts/common-10.5.6.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9e3f5a957f3fa92bc5b2d7cb2c16b0ab954235cf GIT binary patch literal 48176 zcmV)cK&ZbTiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMYcciT9UC_aDdQ{cyBw(Ysr)3)q*CVQ@9JKa8=I6k(MzPqz? z9EgM@j46T*fO0hHeD~kMlK>wQ?;=+dIQyf3W+fUVpGN-2D^iJpwMJCu1DaKlSe2 zR65ruRC#)N_^njy(R ztTiPwbO5HDr|h8HonSuAMxBt%x}0Vxlx4awO<9*ygt{}xIHFzsUa?{ehoT_^0?r|a zlywxSj3FA5grkH@s9AS!xYO(H?e4a2(BhWRh#j=rAaAVIHkh{Mi&h)xW^S?(vR(b* zKVSDd{b8rq?)}i3L7Z@i6GSC2G=n%k05}xsr+&;L1$GsGTA04$yV{r>Lm?rw4Z?``ir&;O@*UVwHR zd`MC9>HG|^6oq(A1%kiX95j{|TzJ|p~`A|^W2lF)v^6#bY%8m&w9 zTTIbJRII0a4!a@AEzAbcTtd(LonB|q8}xgx`a6c+ug1GWv^yO3(0(-Dk9MN%{oO$y zMSI(DCkzL##&EDR8t?Ay_j-Gy@dypKw^6Ux-`_z4G#Zb>COE7`>MMw27Qz^jM;U3zBuX_7ov^VJQ!rkGh z7s5dw!f+J58uoU3y;spb8tp_w7)H^~epore#rD^tZc52a^ln|^ntJuLwU8Tfu_?bA zmPg@1XV~c*@}iyIaIgPrZxC*yQ8eC*!rkFuv_A|7 zij%dauc}o~;S`2*T~1op3mc2BWAK_Tk{w zc+}h9+1nfJY;T8y{eFKGj$gsO{n6gu{`UT8e{T#|w%nAWvn=KqCwR%!mPOj4OjGLQ zHLBoI6k%2&IeVR6E;)C?K?uYbN8;%DE_0VwmYHu9v z>_xA(hdaH!ZPY`rkoeZCl$>tEP3bd<$q2?dT@VK_0c4IS#SxMVRwb0t7=Hm|EPsu& zI2MaDy`=k~OM6g6Ih1frkt_ouG!_ICEDS7w%9=2WWH}fEg&m0D2*s=eenRmKa5PJ$ zoCG0EzzBhip{UaWy3_&q`fWKhm?VVD$+QxrQ&hrjiRCmUag3-%86|KOBR%oWS5aAg zhz{feyGWY6C=e^#j{N=!#yA2*dJhND{0FaAg^;Z7r;&Ois zmJF{N|24p>3is{P9h-GKa+b|Th>F=2A%-c6KuRK}mmPrt(wrbh}4?k62&OwgaR1Hc0=b$E%}OD}_9qo+gCj@j@$-mL~>M z+28_5I>*+*e0F%LT5hQiMQt@f2~q~7(din1GB#&0brskc#>~n*OVxA8ryyfu{HH>T z&LPF30+S_E$fpP3hwcxhdZM){VSG#R(HA&NV{{-0senNcW{i^=I6aqjMcD(;e>Ldz zhx?u3ursU#2{XcHkmC@>@d8XBpCTbiaWbKZG1)&^Pro=PlplcMaOeo)tZBhZWFW=2@a$$^- z`-AND6j1o(;ehV2H@krTN4AD6b z5e!4oTJ0)c7duqNe6Ew=-oqPZFnQA7uLd^6`bA8fl#&r*TOc7^{DXMd>2#zWCcvFa z-l7O#24>0-g9+#tplyMfXp?2C00$(A7o}1X2BbGA0+1QJR73iQQD3BAiTW zS&NQf*qEV2;rp_YfKkUh68`!ub0PhD}*E`X>r`QKFo| znVn+(r!zY{@|hn+1`acGzT7_p4kuxpMVfiwh|H~gDGF+}0#tAv3+PDuWTiv>me3ou zY_e9rbQA(HD>}14Rsx_60<-+;b^3!|cd%2ad_gjf{3;P*94Amk zLIu5!{J*ZnOFk3G(JfpYc<`+c-~uHPlJkinaFWd1pCA>a1!=~))}J#m8e(W}vJs*Q z;z-atq=eop!cc$-qDAx~jOi3cmb-Q-$fGe$s^Yz6GaJfi0{9-(_2dx+2 za1)qC`U~)86PzDjUjA}?0Dk!T6?86;WQvZEQ{daTA6hTKkuB2Fy;m#k_b~k#EiTa5 zzBkHWeQ(cT+O{h<`P`tzf%uPkeOv-9S9NbGnK?ie8A@%L*3{=hOXarY)9DDBoNU_F z<<)FEaQ(JeYRMhQb!8n%;L$vy^0$@zZOnR~m z7diVBvc{Qm5o;etJ1^vka3PA0l?2z;q~cEjeS`!fFEMUCn-qpTgE5F8he9BY5Qqtk zq>*OrTnQU8z&ORpj4T9Ys{6U+04cgvavdMI)dPUXUfYw){v8i@i9iLqq zGP5nav2B(@Nkll)LKe*60#L+AJVzj5F(Efu3NT}tvNh!}{Ornno~2C4r8m|g3vLmB zF-0(1n2`s8YUOnw1Y01=kX-5uSQL>kRJi1=NPRCmsC1*4+ExiDHK#<21lsZ>T+k2n z{-_ECFuI;0NW&>|O%Ej|x{)IzdIJsdy z7aB+PIVGaLFtaE)Jq8=+A5V`rMbFxEDEg7grE$CvqBawvLr_>0Ism)F{T2Wp-ydH7 zd;ogAfe}&pX004XB#c*8_lP7Mec_!Drf`H~%&{2Ij58eBMg5N-PsJGf?s6q^j+|-& zjfj#|4xWtOfTh&A1TRF^JeV-WLcWV zNU#Eo`4$N)W1mty$1$3?>PpPF4@tZb z?Y_k^QZnD}g3B$Wb5rkxg)r7Oq6Hu*a7HBJwpv&i5pPVEk4lWkC|raws_U37;HbYV zX>>Yn=vy4eg4<}8Yzg%W6Mz%UZHX-aftVd){^A(|kOQ1B4&zw*JUT7?%kK8D2W}0C zwF-)`3=hcEZlvaPxv=ZB^geMV1}2UKCJWh8UP!KD1rEXx5@MV#0On}MI^aY!>6JDP zyD6L_fQ2-_O@#d@#FH>!3NXYc)z`@E0jPjs8X>woIKxM>rYFvRN!YkURh5?YYZ;a~ ztV&$ZDH)+sfLFWSM3i&LZlpk0tlmyZ)VBCK?_)eiiCArmiHYT3j6=$^w5|Ml-OXiD zrz5khYq!BW4N5r#3wReDF)(UU}@5P7N0%~qeK`?x0p?p z+g^?Sf@D+$_sRCa{9X-Zr4!a>cdbjRnVq>nADGoO?El4# zE*3nT{92qp|*4yM9R2Q&CZh82)8*!|0P?{$B-Csw7Ru4H3@CCE}RLSsUO zEh%RutDe#I6L;8awUosSz4$_Z=_7dya&SAv;Z$um<5>DU@;Cls=m!QIuwaH5gA-)e zBexWDj*^aPPT8r;%v6e`voJ)?$2LrH_m21-+(&QG_BeQtL_`_G*`qVkyh;49Ad~UDY21Oa5TM zti*baJz!mnwWK$3RWMAY#L-S{Wjok9~BW5xNYOWMkDu&d^mm1BmLOV!WtWXUOoI7d< zMe$nIP@^6^=8zx~d2TANBUUJdvO?a9esB_!xZ`}g%u)%%Im7f>tj|7gsedoUA6G}` z+5r4`eE!+3u9kA*lU~%N@HPQZtPJyL(If&B#B+@$1BV1FeY|)lze@d2Y0TUWH7SqYGKu^_Ub)FCVMSo4`lFLzSk$ebo|l%oP+)>Mob?{Mv-2YIm2Le zGfwOQHRU^Z)@nFm9Ki^XvD1zy{W+CQ$kFJC5vFQ=Bq$W=sVBxr2HL8jbIky`Jj`*= zu`cq1cNSjjW7Vpa!mj?7qh$29XA3ZwQup0?wVSL0vJ8(99n5E%!StYH(CRogp>|f= zvvQZCUV^F5j^NV33wG<@|Iu<P4?d69N?MQmT4i?vZCT^HGj7<+6<48nbQo?NHrEVQ1Q9EN=508tq)iSItW}jz94K=l;zdChPYL6>9(Hw_{E|;n zh5Ao~$+M;sDL=l!XlNPU?pR#vkgnA5Z5%CLnW2q}5VJ{1l(#dZL{_{2HcltZ+UI~&qo^UR6p?Du12VSWqqb5Da zozisHt(vofXr=%~1&=m{EKTxekevln!GODZcUfeY4tOIJwhAzo5!*sMD$Wukkm>+G z=#P#X4<5TGG;D~rVqcGI+T5NwaSy(^G1E|n?%Dk!U#EqLay*th16IfYd5HH2QSR+K z`s{BHE>tmb(ZEdwuP`nsyu|eWs3Q~gi9ndRVny@;sX#uV<`nhrz93_(7i*s9$T?ObUX%LK{B3 zV!dGztXgr{+UkH`;fSkW)ypyiRvnM^>sDC`5`ZnHjv$!i!UcJ356%GhSb-5-V?qwV z2-0Poc5g0gIEFfcuO|2{$H#839-Hm;01a#;`P2E9;D{}N zW+`7BW4fgk-c~;4wxqI>Nmm5J$ruS|Cn=q~%c?P%EU~fFAnK{!Er22AGvNy z7B@rJDLngI1x;ZE2Kof0n5C?*&GxL5ZA<8W0e5Ol)~~1CL#>`7VR3jv^Vr z)mA~=qOJ*WFG=M!9V)85<^GgQPAHrpaAZ$k<B*zlO{;}zu#WUpc^Na$bdk!!ik{!RfZ?#G@r_|Rxv{gQuRY zmPn5=iok}0#^x4Ch*wn_p)vqTZUl?TG9}hOQH8#0#D$?2Pi>dCbv)87REZua%H+u? zfWBZRSu%_vo^9o$tOJnjcQMnvHHovMWC|S#7_#vN$!J@Gba42nU4|h^{%I}|kS>eQ z9)QmsCyNFIEE}~|I9b9BAKH~bl+RG(gO`!)RAs4^$K35)5o6b8*+?!LG+JslQIf)m zKC$7+!9#gI=sj_>MjDC83%vS1cV!Z7$V=;3f&eoTAvtYnqfBi%2|H)(WMFXf zhv@)4&0*eBFtJL~Ftos73aK!z_$@*SfU$etqvbHiI=o>SLbexSy16_MR-h0S5=7b6 zrc%-d^P+a@s>&7KqZx{DCS9$8N;VYaS{DL7OUDdsTpYe{k6?Hs*vp={+B6eg1GQn2 ziZcyh!Jwipvs+?XcgpWl7^sGQ2`TsNF7dyR`uIk+{z*~nGZ-Vt#i&noA{SkUs=#%pr}*gx!%h=8$$p^=IyQV(w6~ z8qHE7FYnQ`Svu09^c{zp&(iODfdBo*_vvOo&FV7;Hkkc1OTI(a_}=;AM42n1doW)+ z&vaU+`;EK+Cv4;8BQHv|BQ#$z_69e1d5y!Vir&}04^gJPH0{_u9L+5enmbmW*$tH@ zT8iilGbX(d`asB(+$Jhz-E^k2Ml!_D^Ma)%ZpFG^FE|>m`t8{eF)W`A=AWyU>$AnN z+nY-_Gl;2pwMeCxN34FrDGG1Qxe87f+I!$*YH$+6d0fd^%VRk6jtBi|~|R0H-kF0A{quj=u`GqHjD%*wwLE9>QD&cStjrwX=b zCim$QrgQwCe_)5C)8EH)OR98>%5kVh;*$m`*875P_i&&X$)X%3>er=Ny2~9O@FMqN zAJ|vGxaX8tWoOWHKB>Ke*`jT71=aAC*r&5O-iBB?bky0X|S5_r*Yr8Fy})5Nq@-Ew$pjw);$ciZ0dPYqUT3 z5vyO`CSEv2Fm3C1Z5g|&seUFTh}vQj1P@8VIE7f|;9tw&Q5hw1GHIi^iZ1Cw#_%MO znU@k0q3(-B-gcZwDwz7{o|u~B;_{TZIx21&XfxSDJ12%PD(jkOHZ$xDe!09sw+G;F zIN@l5=zmJ~Fcp6mQvGi#7pnSlJ4MOIgh7tkSnf9!zRMtweAxb`r0RbbvWsy^1Wsao zbc;Q}m`Rv&d~&#w2DXtxx@xhOJB%@8$i{PN3m+w%V)eF*c-U28nu1zsDkSIWxry&p zh4PH050FO^Mp0WM(B?$)AmU+L;?NcnPyX443iIw}%jt(5SDZRoq5GYFucxGd#Z*bM zHV90lW=Lj%d3Sqz+wtD}$tX>>0<$m6Kv&(q#cFZ{c3L*U!9feW0KXuRu}t1HL{Ug) zGn7PTkJI=s^W;LhraDhRK#bsApBIuTLj=o*m}E>q4yOb=0dT_F=%_>^FlGecMCbx} zRB9>&K2srb4A3kQs@lmEsxQllG3PN7pe-U>fMwxSH2xkZSPXB+L_I{r20oa6IMuR5 z^;J=EOyZc_%KX7EKrF}VUe3AyBbF(*)F?Vd`-OtLz4ur%fyoytri;Fv z>-=LO#qVSgcUbO6vm?eZFvW#&OWIkR&3(HNXFsl zSf!#%>9X)P4`iCgu!+Sw>kO zB(P-*v4$%zq+iuXeb%K}(qXE1 zwwy=S!;DX5H1blK>KZWPQ@J9w)Oi68WsDb&PzdQ3z}BHIPl6^$NhqNQa3aYokE=Q4 zmcN}1X=QS!{5tY?dH|s6I)}XR2r+&wRkC@*NO-e*ZB~}{wY=o;THU6Y*On2w*M)EL z;|-4E%UjIDse>5$BCltObf$53eR@9MvC+g;Ux&q<8(Pr|!a7M@4gVBU8P{--Kg&U} zRx$o9j-A}x_Mp7VHf!={sYrFRd5|V%IGt?7ImgNcx#!K->wVEHb0O25VV zBrZpERBqtjX%EcX#GR*!`2UVTL4Qq%bX|CDKloPC`kP6m?Ic03pjBZBXf0b|3%IxC zD;+G2GZhM|PEve-HiCn66AK}fegP>eb4Jy9GHI41WlH2i3+H!nR(J}1kq48-lDh(2 z_;%apG2}$v-Mfhkr~czg4Uc$EtNJcsxv0tS`!$}*BO=4Asr5s)rBk>aK@QsyrYhlq z6W|*YoneI&kW$r%HyQ>|D0BC#o=H7vz0>Wsun6qWgd~m_C?eo|3G}IlZfDL!i$P6x zC%twD68$OUc3_2pC~UkbN_>>Lm>?RMz5!82_p88on5HJNyP6l~(7cd4DV&<2mX|a+ zOy&4#C2Wn?F{Uc{scZPE=;e5!?i4U01A-qhcW%O#7e+yObA`T3mf|_&2wYzNBm~Dw z^KpW?XUAQ@TUpn@F))BWp!9RWY-_i{8_3Xbr;QRp!Khffqwa)}`7rW{Ce{e@P=j<> z=r*PK2yYM*d=v^Z-6WH8T34+VaX2x@6ZCF@o{{2Bb#GM0ezk-{Us8EB5;ofll8qB? zg)jo2adb@?{A`4=hmyK4DL4BH2c}(ln5PQK?ewCC=&V%9equc-aU5>w6M`p(-bjDVNX$>a{!*yfpvoOYZ7FJ3%K&LRnzqVWNE*qlXP1MZJJ zhY{Ew_IrDZ51fQNB|b=O0+}@!!Cl2vC%gdbq`WAcqAlc00Q%}ZHFTY2*$*mm8i?9e z`3a;zT{k^JZGr-G@_s#|ETv>7R%?A;Chrit#e6D_j&l+{*yJ!cESnq_&&OCuSl|yiJ1o#U%??}pk=+b0 zUbJ-Hcb4xctF-s>%%m{ORGR{YvD}$RxJkhkp%f*;Xv2sJQ2G`i!nn{tzs7liMd?st^E~^LW&|57^V;XJJe*3IhX(h*+PqZ$yf>DNS~emc=7I1Ux4oD z1ThB3Zv^*dGqEFkYnPBW_w0^gA#bzDTg`c=QF!g%<#n5NFfaeKePkr2>-SF7YSu4N@~L|Cr|<7k=0Vq9_STjA z$KC7l#oisB#&>I@*X#9$J3I2*^yk1>OhWBoS~HBL}kf3(M$m>SJ)e-)y2US z*^8euo3%nmBz!#WwEoil_O12xs}0Z$c-T=K*pa)7oif`6psnlRF#w%U%5I#*WCY_5 z{&FN%sOFkaU68_Lg1}3hMCi*Fc!?#V2d`~q{N<$7jCWH!5RlsKb_=FhFH#RcaI?=k zVS+nh5{|_pd)^OPH#mt7fZn$|l(*{(L+;q-hi=Ufhbm0boC3gK+F!qdm&Lonab`vF$>2cvtL9vG8UpN27A_2yCpY!gsV*c;!?d|#VzrVXX z+jyUlO44zZq|Y*nzyqN;gEwsEy;o+;LS}-z?V3gP|?1c z=9ZWyt@aICu+rP#)Q*A!MQ*zuyavI`ghc2Xr$OFN-NBumZKv6d_@~M2^ z&EM&U3!uz6sy=)Z3uE_B->Lp_P@DxiNDze&%&{3d$seN#SyuZ~du^ZcOO{qy|b&+|Xe0|y1w zr~}H(BvG_~Ov9>EJK1i2=mI9)UpGX`bDhpY$IECzIw5Tr} zxcNl`T~~`62f^3gd}^Ej1zw@LMmlaA!blRIg8Je%Cp*}5I^$ZKP0;gkyIZSvev3bS zeRM4bjfwRS2waeM8Iyw!jI4IMvo>`DiJDgY+v%6`*jO*l1yU(l6{&5M#d^v| zMf#NPB(X|~$E*`-{j!26X*P;+_%m84qWlIpxs+!D!EazR+(Aj`>mLDHhUYf`tpcl> z!glq|9XwRe&tpC-_5VHm{^nVs|F;LjVL|^7x3~Mx`u`~&>Hoh#oMJRbGQ_Vdx5|X% zbuJzOm^l$1tNr*zx$L?SS1U5>>C#tO9=rw{LRQW)#*Yz7k4U<3{9(CD)8zw&i-4tX zRQ0sm&uDQb4HI2{HAZ=3c9*2G%hx)H)Pl~1o}j7up(tFGhwk4(ak&Gdq`3^1CEma^ z912Gpe0RhJfrFjkKx+ytRYN(ASJ5ty1HL2i9DVoQQSZLQT0;QX`3!IZ@Ry_fD{Dr{ ze0o%nv14Cq+ux8N-*Rvo1RLgaiJ%>akdAG#xpI=Z-IdoenQ$+4%S59tuISoJjhp0~ zyZ0bpAT1}7ZO&`o?trXU7mqx)t8m#l?vUP+PB*d+e z^Kg5A5Os-l`|!!8|6Dqj8v62qbZ^rNR0}sK4G#w6e%&T%Z^v5Q{VcM;srVnY=aA*kKzkp-J z5uKStjOtvVe_iZ zV_UAb@^BoVPCDYH?QbGmqHgGYdr?XUlJqtm4%Hm1`eI2UgC_#p8NZ8$!(kKwH%a5} zsLb%Ph6V4M!(w8q%{1p^xIEu>0D`Yytz^!>o{EnhC-=d(ZwE^XayS9sz6A>Ac^1d# zB*vlI)vBwL+F~;Bx_rLUJ6oxL{zyrdir*-iAGlHH`ZV5hJ!1;FY91z$tu3`#{!5*V zmxbHTW~5hGOJIGz&;6`wdz*dbIHfVfF$m7(UZ%~HC;)f!WBE=xk*brFwINFSFPT(r zDNPCi{5Mv$?U?6$<2`rzUn-HG68VV}d$IFkPa-Za#s|PJg z%JT;jgPJb2LC|hXV?g|QFH{5FQZ0ZyVF~!n=9zE;hUK_cnPg59XeSAZ-uLDd&t%Y- z`$@-ZnML40jeKD!@fZ-g1m6kf`2wzKIhA3gX=%M;_PEln=pyBlCI9<7CHcS8e_sDT$z$ce-on^0x9j6%0w$Q}X6@`SQqJq$sZZt( z(>rMgccbMgG{oA5zS4yUP2BReONBgocpZ`ILhu*v1$d1@@e9i9t9vrayMt=5J8XGZ zO6d!woHdL&(Nb8#JiBuLI8UAYH`%A|?fh*Z|A#xnqWs?-44&oxQ#@Aw*C#7m-}!4` zRl9!8*DA-a`L@FC>lbU{^!01_F5k6%z5s+Ug(Dnej**s*FpBcr#%Cv2*N4aNPtRIw z_=hdk{+Qlj%Rmq18+PgO_?}^%5Ar}l>yB{Jl~-T1K|7THuo$5f;6&Xkwi@X_h=*>q z{I@-Ny!=nYQvRo%-t+m-Cwc1P|J& zo~03g4UO@-`ET;%O8ZY;2K{LE-_Gu!H2;Us_TQ5{*8X#IPml3reV?xZ(6J1&Yy#WT zPTrtem+i8Q4{NM@O`C=E5bJqto%|500}D8d55RBs5`a9X{*?3dI+h`y*D5WZo8rFS&eMUOEy_3CmOR zyRLWj{F98T+7Zw7bqe|P`dY6zbdHjsGKb6m8ZSm8`Tw}<|G{9lZ2#@;J6c*^qs z0oMPnDk!i2tr)IY|C?_s*8hI7ChLE{#y!{nYb@#=J@-dk)LX82s71X?kH=rsuZX&` z$TW_*Qi`f0bnwi0(kLCaA@9l1v;(vCZ*MCp))cJqh>yn<>|6`h7Yx!91|Eai8>0$jp zRhG^p`+sustbO9suFUJtdgeu%cH6A=i^n{3NM2v_*J~g4EV?Kjr|FJjRE9U>`?>^`Mdy=Pg z{__F0e=9^}zWb{`R&D<3Pb>C*y;4oKe!U9!OZKrw;J0~m`CpgU?>`)We0Q?OuCbur zA9KT4u+T&86>BOy{x)&VCWC1I2FLN`E#~3WZ|&{r#mO&+@7}qs1s~1=r^v;Jk5?zx zeXm4+Z_w!vJH1Y?+aCliFPE6PuT&AUhAF9X6lG8{e@n?s#VRNZ?gEXC zWLw)OYs9>Re>o(=34Cxvb#f;`hfN_xQO6cElvMbruS=NKaUyubWL*!X_zPk0n3_$3 z9Yom}&ryOHJEvqM8}eQ>jdy6TXytLDDH_>-kDLFaHyo7q|95tt@Be<1=W+6X6jzPy zyC&plAZ}i|;%1G=?w56u-Jj0St`9$6{ZzV+Pb!xtg14E_wRa``o~z+y^WVCA@96zxH=QHa8JV2FG$KFBXUm$ArE6e9W z+ZYZFGksg{l7&#^U$P%pc$f<1n)sLsRSM?|%-M4A_W-hKumu8VZqY31uxap*R*Q2J zyxn>s`!l{w2|5UY=ZBo*y2a6zWv%{@W=p%wTobzvtd?z#bkQot$4?AD>;W0~dxNO8Iq^ zFduOJ0Z6|-B^gJogp73Aln|*o5814x2r+(*(^6B%Czn^(r{@pa79-)!?zK+KTx{_2 z!_m)|yVsW|7oScp9<*8Xg;RKK&dqp@p8UV7i^J=~iyzBGtr)lUi3`z;B-cw2xH>$2 zC$BL*z8fyjKKinc{yT8eKdS%m-_f_%pU9?Dqm$?_cOuG#(cfV(1Ujx0F zPJ
gz9oG>|@C{dE2F$$wc@m3s;+a~0g(AFyox+i=w1!T-1W?Eia`r_TTPiy8YT z_5V2m(AECG9IeOq|5;=n-T&uw`+M^LIrIN9{eRnK{omi&dDj0=@>u_0KC>Rc|5rJ6 z@)$7txynmtKd$i770Na7(iN(#6AQLG+%GuN)SG+9gXL?Z%ailNi^HoA-axs%r?|L^GC$K#XZvy-b|K3x2Kd3}2RX{W?aW%vc!|NFz@e4{}Q@8J}1#(#)(|0 zKFa<7gL3}g{`T&3{@*8gwEc%!e)o~wOJD#p0Kq8Ekd#zX`%W!WfRsc4TDAa0-tx-; zpF%EuG-~H9YGn*36TM&*oCab%qL40@8jR?*3GZfZslLpYB`_SpRg48RoP?7}cRtXLyBZNx} zEKgBWwss|X&ThGSIHxJ=&Q*B7LfFQ2vyS4`pK%g7cV=$Xb6%d1?Mfznv8vzgq6gc7 z>&^^WX@-*vl*TxO%&Y0VcdF~~^cnn8T`7O>RNB^+5T`hFDLpRWd365qBgZlR7vz{E z=ZJm)%>Fm(!tr2m0KnO%V z`QM-BSzG^~D#mym?XS7+!F0cdx2ERTwH`+AyTHB^t?yE$tn=Nk4K%)k;LDWa8KjF# z6)`SII&pTubs%}QlE$M>#&K*4bu_5LhWksHaqqa*4Mg)Wvo*ikV5xM1LJ>R zGC&n5l*g%}P=gkVOjc^`oKSAaT7;Jp%2`9=ilRA*b;{eho-+l&o11sw^NnimbUzqw z0h>O3i(FLAM5`xKb0}?g}=1_EV!W#$Y#lkwMqehLD730 zMKQXCREh7P8Z~tWT5uyHa&?hT2$#CoYxhIzV`P1wt$?@|5wiF zQrRNyO4tQA*$B}Dal}Fz1-a9(xWC>I9gE6+8_w5A{(7k}jI+8CEDp=8aztip4#uq6 zILwv}!R#K?uW!GW@M|tX- z7Tm=RPj=-~t_naKObK(Z;B$c3${krIpTwft*RPUv z9Z4_mj8(->OOAXFQ|`PSAvs zaWQhL%HQ7lr2;39a}~`~6Za%(E^n2rWPF#`tz0O47qzeC4&v9ZxokbBXpFxE3b^=O z1-67403#UQpd>o*Uam$$U1N&f?Mm~wXJr(jOLYN|x0#mS0+3|05u&QPByXv1*=j0a zbhf&EmNVAMrivu1n}YwwzV15zuMR_0;nDZ>0mj1pHurUXNSX^!9pnAI9ff2AKfyKn}ml zm*3U%Tc%UluUIbAeBW2CnLOt4)?*qrP9~k3eYp&n_iL6`Wi-Cm1=b&HAJ{BYQW9OF z7=@hBgYpu>`C8~?Z3$IIULdM)sl}r0y9IRZ8RX&gUDLq54%3altBB(p);XNK9ty_F zt*Ni}YL$u-f!&yrW%DoW0Q^1BK7!yM1!qSMEVKmFiGkD%lt!z)45Yzs3*^u%$D$;2 z?22FQV9Ao|@9M>fTTaZL(sl8i08bh*DTv3=;R5BzPDiB=`I-QyZ(pBeODeU!Y%G<=sXtn)-}neC=bzG` zDGZUFx0_%?-V7nhvsvn>N;F)m)^TR4$}wD1Z12E2uCQ;!G){#wyOciqj8gIp zCCnjPL2rSIWn;UxkhkD7gI0%YQ*NrOe-A!dN};tlXep$J=A9BRc?mGorlu|?e;h0~ z8-}%JLqo-7VlP}LYqjd~O17opRnlJK<+J{J)?d&1tFiQX)?d&1>yNCzo>F~%{asSP z*ZF_bdH5i)zkh0w|E0fIJpZ%1J$OF<`y|iW@xSNhR6keuejmjU&mJclIGu-1*66b5 z*1b)(ohN`;?zF9O*%o1eT6e8KXT9nBGM$HOyRaX|!KuLjK`3oisPd=tA2)XxSGc(CkH$Bw)Hu#PH*)ORD);bb z!!SgQy(f{$!_-!RB9@r;yBoH2fnf9t#TF#+x9)p>>g_)|f)8c@uCo7jcS`o(&d#&__ax6+ z_Mc#iM@jV}0Dm93UIZp<1`tT9JV@Mtg_JK%f7fsUON_F8Xg}TUP`DH?Fyk_#kThAG zfB=15JkA(L^n%27`I;>b1+(NXhRK7OCI#(WX+3_|)?SGYGW=A0@#0Wd!~L3PV7%Y( zzrjg_lgW3(1+`%z-`&_Z!<3R3=@duif}ABo)H3Og+zDDYAS_ebLgfiG3EABXg(Nbz zvQ3p#E4TgYh|WyLcxy_RKAR3(U$ojHF|pqHS(_T$T=yXVT$h-yG>iTSc5a>hch4(d zy=PVapWe=H@%(?U-+#9Mp5j^C|EDjAcoc`9d$q&^*mC~86b-F8-MSx)NzNKq6YPI5XNM}PA7^gUy96u-cd4AS@>h-@m2lWK`e|m%MekuRY z@Y(#SLrO}<_Fm;fM zo0x1K%II<@(E=C0om~xQfOIAoFKvvCRDY;+G3pPcGnW`05>~C%k(1)-&5m_*3l_|R zul8`lhDY&EN(m<+iT%OZ1i?>NSLc`ZEdKJN_+}8)C8CUlQzWQ1g)7+baEk8>e*%8rEbr5W=94OKe|o!gg+gDynwurQ7S5Yk)K0!| zL=zY*XN!Z1oL9P(e2tuve$oi%18COT>3OiCWCfem;8mbg>{K*#@ZWjJR~4_C6jkLf zSFP>|w`>$+ zHa#Q!0>Nl;7)3(%8#b)_>QQ$&h^odnq)}tT>eIJyhU0}A{!OrvpgOr?gq&Z+&xGQA zstJV{gZegV20_EcreFE*A}2H%0sF(ohkMBe!dWQ*BUDj|4n|P{&wA_#f=v&!_+y0@)YvS)#CljR?Z|w2p5jdtBESUh*|e?4qmD$W$jNXBGh>V zUAD?5tqI<0NeUf0C<{u(F}Nl4CMGbFS5>b`p^m96kA4L1rjWga;)`9QBplH(3=vZv zr;JJHAwZP17NMlGY$8|YQ@_cfx%$Ak3_3?{C8z0*LBR+s2T)<#x+sq>5YMPiN13LS zq!f$wOm0=mMNIJmqjfvxCW_Ddr4~s+Rf5C7KcdUfY>wy=nWZwR|KIwZ{;QyJCvr7i zJN|iIjl>9X=(SpvVnC7XXo|ucOA^LadyBP+l3ydzE^ZUwDFOfHa#Cs|n`Tw_p*$;w zHJ)YiU%OuK9RjvW{_pgQ_Wy8q`#JvmNgmh!*MTo^M4Rd){s$m%&wJS1{@=a@EtsZ-SeUtUbx0X@h57mITLqLE zOyC4X?a{(NY;u`rEw5V~x#x|Ru8L~bL=UziT59^+Y)bdznbOdTF!X!;XFx-}Z;@M?39^)?{Xb08yck4**m;h)o7-w<30KaB1#$zlb zYMRP1>9l@93c4)MMH^y#7#N`tW()yFW=O8#l;Be%ImRfCnB1I+@eFemiKQK%Vg@!w z3pvWiXP2TZPA1Zmwb^N%jsaCdQUM7`!XZwWW(fHXb8w5}SgaB=Ch%kcO5`=RE4e1$ zYjHRyS+zq`u{)y%;;r78c_5A}fh%)esYrqIOb1tUpNg?D)r<9N+iRB$f&4a`I|8#Y z8EroN2GU{7U(KZ}MVDAI8h11ZhcHJv$RswPy1X==ta{x)6-o zC=^UCnO)BuRZ3bitEHs2b_*T@r>~Ca(SPSwCq-!tLj;2V6M*14SYObXjul0GVMmt} z(ZSW7sXB!1@pJV~Xh&@jdt<;uujGgxi2qY=x^uTH#SKnCIox`HUb!X-pO~l<%8+ZlUAS=dXTb zbviiPi?oIOJ%Y#S(B8xL%!E2496&IKF^)j7&5b{^ z&7cmWDhXYyvc=E_iY@;S2s-k=HpM^y#=k~M110!tl;krumk1pp5t`13awdcO35?&{ zBz=CK@Tp$^*?G~u)~a7jk-IJgSDgRsZ|@fTe}mrk_TKaQ?l zeCwq4BdCs75G_CxAE1ADIY4i45}h)k$tX@HLGGOMZb7XHNe8vr9@j|5`PI!@{>cUg zQ+P-xI$gPb3)Kr1vqUHMWP;aYS;)8j@72equ~4hJ=pmW+?>oe_9&K)pCvkm-Y3VUW zYoGGSWS5nHu2B<(8CB<$IQqiPfhX_fog>yN+KcfRg^SQ!C~AK`WE&jO8BSC>su^NT zOmWDkny&fB_xZPj(%`S(gd-#>8p-8LT{A5JP%@W<`05?sAo)^VX1ezVr$e*kkbPu` zy7SnKVCVef>2ZFD#t2sNR*M(u**_>tnHoT)TWbx-kC!JG*AEZ%p&)+sPZn7C?+-73 zUb6*RXDQO6!1d+H)dK;3bZ+>uDU~Z495a~86a{4I_VTQH7hplUR{Av+_9s8SxB%i;CK$>H(!hqHJ8b$#*SLxHJ+eo%|3 zJaLvc8^Rdb~6#M!6Q4beD$s=&UbWafaj?<$gHxNV3c1!G~qI1avH zy&CdLcvaU|6)7xdVFj5ti_j{JQ-9yRg34;^UjBHw6uW#fRqg1PDlE5H^)y1s{GDJ{ z=TM7z<=fmsbD7eLYwa%&4Top_;uYN}Kq#n%D#Kkm0E2V2XT?$!;_*T@*i|6Lgo3Jh z87w1;{2L|nxB4=;l50Dph@a$AsI7A&>Qt)gxx;F=W=x!Mcx!K>(>Q^SZMqpY(onSp z^uSeQ?bnkTh*kX*^*N}mEnmw zAa$j|dy*wCJUzeNk2X_4-ca3eu0WlV5vs=BW|{5&r3JuyL??(z*US~o(AnW7xI8+1 zcLF9TK@@Tn0bvs0WK2|7MM;~p+}vy-6XCRg+Lh1}DF1lyTHhNXH;?5#5+$3%&#B|y zAmIRd4OCVh=T#XMS<$<5!w%ESLMgqTY?77X*|ojwS?T{xNp#;3pcVe#-k@L1|GU@U zevbcnl1KS}TUS#AQW7b5F6NjdOZ>l`R#OLXN}}4sVAemYlEuo2U3{14Us>ikDres= z?@uq+!IeqHYt|j*RiAnOE1^;aj|tP5>Q z7(Y|-`l5vMv$?xcR5BK!`MUugjztzFEceveAD-jiE8^QYHGOg5=*(+xF=hN0%%?x8 zk_8i{rb1;-5-02@O7s!D4oTIKy7CvvtSU)g#aD(P4W~*&+P9Tn{&HKA8u~{w-fiTr ztwvpzbzVG5gDy1yFu(5Fl=G*`j-mr+-r+=_vdqo%;^zi_<_U!%I!6>s*+P;?R&q-G zSSnC6v4r%tTW(FQWr|WrQBZfKfpt(S_n3({IAx~^<1mgr7Z^v3cd-57e$sDq^mG~` zZ7r5RAG}sBld_vfAo*nryu3jRQEKA`E!dKFegj#8e+9n*MktrZNekEXzRdSMO%l_3 zXtLERUqB9}llYNwx|M4IogufR2_h*2EqNR&DD)b@G!+FazBz4Ft#X|$8RHo#!Dyzg zYWd@1I-xK^W&X(Q2ltbHTgM;e&v)dHGNAkLM;Y4h#vf%=a{j15b8Y@8!D!4M`DAj% z6Y!_M_vy}a--B|$iSL2>9cR6Vhdbqc1n)54T>z^FGh9=x6rw+Bl#3sJ5JhtF0pl7b zsVq>>DmwLim4bRa8PEbm=55bbmi!GtkLHYyN&f@SLP1CX>ZwN)e2XNWwUUI8lq|+K&&4K#XXf zy2bf<*G8V*bHD4;!2d`2Jr4n{I{&@5Tgv~j`|SUFnn!LXoXb?8*5PN4w|EY}X6`<@ z?cyBHQb|UQf^OGrX;odtA&f?oh}1tURGrpT=QCZRw`ECBWtR#o7_Y%BWBgESX7x_h zZm+wks?Lg_FQRsrq9j68($+)*DBza5CIu_A?p57c*^8GpWowZ@eqgP1nCYFi;v&t> z3B6GYn9M&q+c^H|iVqo82cH;-h%}v8mP+D?79-uGF`-UM>JHejCBUEAmh%ay0~zXA zS!MGm55UzHjZLFmo#5KZi*4xSCyV~-=e4d&XA!%qURubos zPt^{+-OMhCR;@>5ue=rzWtef4gvdXFCqrIjaVvlIPli0YEIXjPq2BxkIJuP4R~X8( z;t|A>4l8s?LDjg|A6|3RgC?zasKWGkmc<;4CCjNi9zjt`80LhE)yzSCIS%b*8WnqB zHfr?%^lG>FYhnSM1@1b#0w&bD=zN+%ieWS=<~KK_d4G6udU*Wi`lk<IYbU6n znV-?Z3wbd?FS?14qKG*kZ_wfZq%p*a7{JO_FFt&@x;{U=y!_?E#qnb_ufMe^A-tVJ z#%>9X>YNG=)hLQEtE1V)$?@ssy(lKZuR$->;(ZBK->UrL)2Gn%hl^sM?r?kWRnUNx zGm=cm5(fNm_Tz{9GN5W=9R}2`9v@yEzB#-+DfG>q_Zofq?=j?X1f_w}r0Zdf!<#9| z7^>_2(Yw>5pMU!B@$%&Q{PgU{yAmL8sG0^inKVF`k(kyY8eD#OcOeHUxGRzZ{2D_f z8$9}OQHr;A21jBn{&PgAl%GKv#L3y=n|CMIhaazgIyt*KJvzKP{czR*uWF3t|$FJUDMT4)CCKCK0J-^pG}ZSi4=DD+PJwL#Dw;iSu^ z2G5`!nm>QjkY$MxWK;0Bzx{CX;q4FlJqo7;1cwRv#>Q8f{q0{LE zzIR$}tvMcYQEHwhIICJP2DOLB-~8RF;M)3Z)Lq_sFt6CEN7 z#sbZ}Z+HxnG28hP(d!A~V;IKZKmMci>NhZd9npwPScrmp%e`0yK?r| zuM%WOt%cMH#6LKDUl<+~eN&|W_DwRQc32cTEUa*5!nnT|7WI(758_RknBIPQH2N%O zZpT_l3F8xr*spQK(MF>H;Z+i{pBY2w*WnDHycOiv%_7dW}h4#9Gll8g*!v94WQF@jrnu2LC76 z48U*7Ze~-^ZcFT5eszuUZ=l_lPQ}4qufOMfG&Zv+@N0$<|7%63{(6UARj*Wwy_zl9 zuQ7~fI05ZUtm{B~8od1KE@Zz2pq)DJyk+LMK-$CLe=NlR_>YGG$~fd1dmvg=u0H|z z``364}PF{~;%+Oz5a)aQd_!8u} z+m2DhQj#$A`sIdWTLQrG43Uh3HUryW;Lul95-ZFw#)bDl%n*a4Twat5q_>1R&;^*ui)+ojP7&l# zs1}@n8JZEg2*5uIstPE2a+)FMotlVwQ>9O;xeNI{5~3d^vQ?a5o`*vSqnL3>r6~0i zmu#?2Pgr|erZEBu;d*pM>zz&qTnY{r%?bVA?};^s*ACD;-tXC0V|)jGuU{z}e!LYX zf)+TS-R2Y{_PP(+ZIcPve z6${vJ!GZt55pw2(5{L);ulBdQ0^zRtAQ$Z4g07UMT|rN85Dd94Nld|Vj;kJq;z0OA z;c|Vs*WWkt`Mmk+<>ijJE*kteO{HHSvK-N>K8eH zQi)|7$lu}G-%x9wCaUc+t-RG-u~W}sKHullVE>nl?wJLAMf}fBuekr)-y81iKJWiN z#iQbX&TzLyFabix*Lq-)YGxveqkL$)C@Bj7iaO?Q0Jtb`=F~6crNXs%96o?B3_%D zl|daZCFSLX)`AQ&7DeYNwW?4SIn$w1;%{$@TaCNBxvdJ7BCo{PAaM3wdtO+!Z3TS$ zCYj0Gf7LLg$6bpTj6MZy}%K}ck4A=DCE_JN1#B?)hq_hKnY zO*fp&{44t{1J?x78#=1Nt?0*sfXxQoapaxkHYXmg5gK)sSGK%9^mH}cDlRrq<*9TS zAEOv9>5k7?lU}MBz?CBv8-j%zZKkuk-lyu9SwdrOo1j0`w~g zj58?6FLVjgc^K%1+5BkWw_3+uOh|j>q7Eb-?CQVU7%X3Ik)h5~vHtUM0IQd}Hqr1AT*-AQ_$=tHFQ$U{g zMd~b|E41Z`PVl~AYOnDeKyAx9-?j7RB`7W4mUh}65>~$zx8_^?4&=%$1w|TFOZ|Pe zs;+Mim-$DlocAQM^_*8#OOr-m1+8rqgZy#eFz3?Ka>IK2ed&bF7tOMQ`Kj7X&B`Iq zfp3?`nqLYE*M45wPg6>|_H{{tjwM_z<^F&6-nF}J8*3QtXa5R3YG+N{*OEz57t3op z=W(4h^_evFiJkP!bY?XW2}u}J1WQ78G)>QMKMOY!1PO|yFHJk*hc*_8eZghlu(7e5 zp=gmxUZO>+20gh&iNT2Y(ZYs&DJiJvhS=T(amM~`V#UT;&w3`Z&_q~ZS26NyO0QIv zPp`Z`u|$lxK(WGnY8E=)N0C3Vr_%omP>k55@i9t|f65aQFQR|*f=Ml%!JYXZj$`BlAfI0i;l;Bs+N6I|LuWd@>4Pq+VD0q;+@jKqqGl>ak3xuSZ%h`qM0b~akj z`0rrumwE27pHKZ&HP4bpljnZFe*j}F?*=~wx9-6Wj)GGlrs%;MQOKqmGivzN2tLfKY4;1u@sVqL19mXd$iu~ejAK3}#Q=mKfa^BXoVe?RL$IlX} zxoK&Kqva_u9^Q`4!Rj`fBrG-IZP+}kZo-GLstF(Vsx}8jH?lmL#Dd8GzErXTJj=V6 zgFDP7Sq-=WBfiJGu~#JXnd=96_C zB3cl>&*TJa3yaOMGGTJ&<-n?p@IEiIfoC3avz)Cc> zx7^EJQ~6OPxAiubov|ESRm(yUjT=I|FS4xLpF`cKmRL?b&zW#*)m&rp{|zl^qg7@@ ztMRY0)FP6m?Wp{}(llI?0DUEoLp?dwhAmqlor^P0sa>Yk!nMI{4^G&$1xWm-^yg3p zO1aZgo&yilOAJ?^pG2=BLcDka0wnM%66C8#BtpcxzmMV18)PvCC8TUTH8%kmegdem zDNQhMq>#u!X;Pypu!76+tlfm{fJ4~%kB>(G^-MpwE5$KLMiJ|0~xE zdUF3yFVT4~|4#$-Tls&2ga`8fB(RB%7D2I9BPX!z0yZF&`GLGP(QiR94bu)3(=h#QD7N{6I?+`# z;bE}1bZnLE@9uwd4%z~4;;ab>8K|z#ngQm1&YB#Jmd={q7aedkcGm8R$L6dx7~ziC zY~I>~W2|=9erpNcjt7g+_V8lmkL9vG=+nUeQ`I~>JAga8$5{0(^7>4en^^oQ{jn?SUAzDB24PnC!3um;X$4ov5)ql;Mu zEY?9~LZStzmOiFAJl!xg^)w#_o6X;3bK((E+MLeEL0j#4esaRUGhbXiR5SN`WzFJf zKdKbl``o{ar-A>^?+K|LEnALj9-9iS%?qgt2?|iB-|C$+ptaYXBXI>@s)TUp42eGJ6K*FSx?U%vHtvvQq z-S$oaS8gh0%`_`c|5RFDg*%cf%(%k)q7~N!TD2Lc(N<~5m67I6I#_aMxc~-B+=->z zapgO!bEMT_65~$p?$!%~Av&*MyJ$S`RLGo`cE*cXOpVmN0llf|Qi)-&r+wI4~K|}qp#MiTl^I|6*WH( zxS8+<(M=Ko2vV}3AR+-e6H{a>lscxEL6ug~7}*nj`gleZw%7!npFtd%INnxNqMCc)A2%3q;i6XIxjv5ZLe^NSD2 z-|)KO2LSYCHC7b)NLAQdL+YTmYJ4U$F7Z;-5Qt{xIIgNh`l;6lG2 zRd9M*x=BUU%pHi=MMw+}uajPIrHjqA0)lr4FIV&wxCKFKjOGd^!F@-Q!Fcr16i8Sr zRbsFCU@{0-{C+c%T%$zQOzi)jMzm%O?>Bte$g#EGV``Z#o5vbQ{bC4NPG43hkyP_ z?JlzOzGur^Ek*91sr8?)&vlMcROPL_vX8$XtP7ni`%=H8%XL7ha&=bqdL7fP)^CUA zr^Eq81is+wnBR(9>T{E#FND;S zmqPG%l`^V?I8yFvL6|ZjCwr~Ju`NNSBqkwQZvVz)aIr&}cfoM9RB;cwEDH+nH(Qpu zMtr(u*A(z#Y86pDN z!`LC3f_zXjL|fsztdQ>hUyc8d*Km1n-~Y1)@&C!#IREcXM(#fT|0GW{|6gD6bcH~i zFb4?m83Lq$sG7}k3i1E-z%y~JLy!OYh7hV{%t5*uP%@w^B)$f{Wk}{QnE@-%=->(QU;y< zm`W8{-<|5Kp13bb4|z)?yO3=ZojM4Y!UR#~PftqaXPvcDT1=F3ohB>rx= zCJTf;U{@k$1whIMQ^r(azJZz6cUGyBAH2(SgT7HWRgm;>8ovIi(f`u)esulsj7Mht ze=>5Nz5aiSr-lCiTjm;ol)@-rKDC%5byHl`R0677GxCX24D(Dc;2W;{T)SQtZbXWTenT2y9K0&E* z-=0+m0R7cMHiD$~b)ahpj5M`pbut{{w5;U<)BLMpRv8qi+GX;9Ck z)iY^BXAOI*3lDSd)W8_rNrJwTyfo%S-Lx&+>+N!wH)xwyu<#KqaFWsr;6(sWWzX!N zc25KOpUk0uFDr1T{C7rX{>ON@umAWYPuT|(qJ<5*6!^9Fk`nlQlGI3h_I|gd=U6o{ z&;K@MJV(`3zze*OB-|CbMPzkSowv|My54WUojezW?`8Ra-_t<;rzp9_K6*s^-;Dnc zo#A-8m;X=k*yO()^foF$&664}a3wz3tq2r)O&6%2Om(2pHq{6j4UeQ0G}22b>r{hk zr)vkJOMg2Bk#Vrs5r3?wx%@x#eX@yY2Q{!u{trv_|J;eQkN-T$vqS#NLGPdjpqwtd zwSoMyu~JYpm34!9V^I-m2Dj7{8GVndFf_Jo1T;_|3QC0*IV+CHZ>~%-w)Q&Zw|i>j zznnHd#U!Ek+6LSu|Gkk}|HX0k_kTRiW0U`E(7}Qv0D>jHMG?3vI0S=s9s!?0HJad( zeXvvhbDEgczg1PJlCn_bUo{r-0>F4FoO@GL}85!Rue-?xA`1kY5O$!h`x#V|oY z5y-k&S^od*{VDxt?|*tgb)0dhxVq-MjdD?aR%EzNk?H*p*UcpzG_kAT*HbJ5G5q5&RkY8T9%+`{#!Rd6iw2r+x97*L?VA@1F(9 ztTMv6xMfJL&d*-G=>OxJs~TjWDYieQJs`95in)3N{Na2B6M8NW1ei@t3R|FS(4mEN zb=d(;$kaeQ7SBe8(SN13sFD9P4yB=WPYtj`{yP)bl>bwAGTh7mr+8Y)|0qC73ZTfj z1#|@|@JU1=j`Hl=!NJ=UF43t)8|0HpB)#Sef&W~s3iwZL@@mUi42zdBd66=alHh3B zlP-mM%8JIJdZUh0>E?Z2w5HhP*+8A$qU7&z9UfM<{v;}#)U5wIm_#^Q-ai9)m;L9A zhNk^D-QWN6G*655|AUwh0M5yV%0nv&2}6E(1ul0i{A@PKCf9ITbNuHGA#}$YuLP)@ zd;IvPdG_NYNYD~}_y$J-==GC-{xkSLUwlkga5$cv_PAL2;q1-pi`Oqt!JC{n5Fjef zr#$=R7oZ82L;n1%MI&ZwU^{ zeVGExk5(om*!UEa2%zW|CnQ>&fzRNz zI0(AnZ4B=yaJ!eogkM|udJ zfg2nJ%(=l4^OdT;DTKQ~iq^L%IVbBFCJ6NY@)dBM;fQ%=nb}kcMT3)b{S~0e23ZEA z5CO}8#%>NUTQN7v9N2v=T&+C zI*SZwBoy>IFR7#dqSf!=FfZSo_bLTJR$VB*^~=)N3h&#?9pF|ZrI(PddPPE0L@!aY z#-hBWSVtB>#ZP;?+Lmk`ML{i+oJ{NY?X=(@P%8fSJoWNF!M8X>OB6ij`9Eho_00XB z$#B2_^CSG+#VOdNC}=3~O`9u6WYl1@8EG12 zC0|0d(Wq-~{_#Yoj27+-^xL$COmki;5HC_6hFlYtV125xvUdGT5A{B_-)9Zh|7cQ* z{|%@6{hud!YVE)55ZJ@nekvt&m)%zij_k1ct|Yu#3+)ww!PhW^k&hCa<@aA^;nc7H zO&o`4jUo!emkHU#-F5+XtpDNAy#Hb7dehN<{XfMc)_)wc>8;BDmWN%|TuS8H4!~0U z+;Gj8;Pvuc;Nver3U84GX&gcytw*7Hv*+50!$CDE?h`lU+p+)J? z?MvIcWxOfBQ&h)%6C5Rd6j78gn@Qt9qQg-o2RZ|q1rw9t$}oH?dZn7Nuew4pf{t=3 zBrA8UJ4j4LMIC?;Cm<5MkUcPO_OZIU) zPV#9bIT?+B>r7h)f~yxyRX8}^#Q8KX1asxjg_)#vv_@%-QCyyIpjWlzH9Gd``Jc*D ztN$M+{d0Hzr{|XQzxMwBlRR9&e20=H;(7fc@nI-#Y|JXFMuE7-k9vAaA|iq?Gr_ z_qQk!^46eAM^^x)`yB67q56!P0;WS-j{MV##QOE`)BF1VpEZg94bAmG9S!&Af1c#2 z_5a_IaI;3|A;jxzbvx_>#sY53;M1LffvQGNxijX23U<3cJ?-bYz_W7>=CD-v57+hp&IGmweo$k0<*RQm^U7<306oE zti+*iDd5LMEK;Ewfo(IO2G2ko1=o&)loq|#n&ILm1Mk3kV(PHgcvpEN(9@t5?1~~m zhiz<$R_kBXw{Ela`Lomh9~rtUBFM`8PTLWuE^ZdfsSX z|LaK}ZT(k|vycGgcMWBLDp_t(`&!yFjso=I2z-GlT33~NSD*7T?-Z@G8ZYX_7iA(# z@QVxne&jzp`ejHH4(8Wi z^>TLnr>`pB|5Chjxhyw0hoZe;#3C#hK_!P$b#w-(&U2I>o3fyz!`NW`Yez7;`GC9p zzta6L!_m;)`+raJXzSlT&O#hizwdD7r!EA%Lnhdc1KI3@YMOT&3QdB@HLzQo4W@fo zqQ1&UtRcW|N!T1k1J`|Qiv9EZdD_YUZa(1d_@62Ny?yj>rd-?wqk1qd9<1CH;!tYJh014_-{fbbV zB>q&;S81@90XMPMV-i$n^BL?{!LJolh0lwUN}&8rrB$=_-+k}*vqtql%=Pbj)4l)y zBu{bum;8S9Q;St^N%hM>J#3C&5p2VS-ZZPP2)tpEZj~#}QGSwENu%|j(0lCuHrW3u zt$%0Y?e+hYJcacy$62lYr2c$gVcjRR^LlrhU_y5Ea$6?X;?(n z+@l;e@UDit+^b<5|0?SM&BGctiai?TV+E*E#4&?!k23Oa49UjtysM8b?gNdV?$bd2 z%XRu_`9H4Xn)!dO>+JLYp5)Qwzc$W711JIAuCh~w<=04b+cktmc6SxsPaGGklG{zr zmVS{Yw`D6;jY++{&b&|gc|m5U$?Yd;iteA^;3><00t1vB{{+ME{x^S$XQ%%^HqZZ$ zNBjGqpXT8=JADUn1W-hiZA@?^?tRuueuQ|Qz+@{*e+<9{Qx9PX#MNrN77@Q+DBSYf zi?T!cbC{w45OuFKxy1nrWL1&+`=j|39KbNt^~mv;;3bMs0x6P3NFc9S7Bey;f2-=1 ze0i+vit-RFNl$-~$G74k_GuqCbu0k*o-t>0o&m~w%y!X^t@tck)>7MDqKXy^k)Nd&`- zh@xZx{o)#~yi(YQAsUq1v2_PNf{2-U5d}_hamy;lJ_%5t*+oot1wo%g%^lYqH&e^SwSmrr!|wZAvgH?RYbnKeBFdN*4+V4IUPNd)Y~``Wl#D| zD7=lMW~9XlSyPC^4xOi(w(2_7s2Oz;qUnkd+JQRNv=w!#(GKdq-r!J`(TWy$xrXuX zSsuf?2qlB81;b&T-8qI7`3a(p!Hdru!p^n(E`6xL^HMswnysgVJ1fxl$tJ3ys8B&H z3))wWnyCF#{#H~23Q!!9?HVy$1z)d%M*Z6oU7}r9k-QcsL~9bIs0qsa)B9jdDWqtz z2|1vhNDE)rqAfsLFoEz)x!kYW`eXJO4uDC|vp=PWJsY)$rcYfsvD|MmiIO?=ZBwVN z-71D%nq>}l`=;4J9*felYd+@t!?0aLi8Mm=jwClR39-Mep!#=UvhJS;e603A^N$`V z0I?{`}XIJhg_qS-SJSr9$g1hC;ni-7&X&+kA&&_s8{DPc?5{Td=S> z81oK<<}HhNtG2*cQI5F{z4q%{i~!2nhLWWUqQoSnOvU{if*7Xh9Z7;zcr7R>nd6lv zmk8}(zQe3w4RG{tc%a!vw=%et)DAP*b!dT9OArD*!b_>xbCC zS&>bO?vFW#)ew0~!sPyF859%Yf0+Sf)&E?yK1uw~9ZjdD_}^atKh4AUf7zJxI6l9P zfD*Aws}@Fm5>P=Aa}UkxgX}I1n8i?q!8c`TP3QrFJh~OHX zTGlvwmkt)2Fl7HK#Orys(=(B1^UR(P{xQ2Di|NNh@T^Lb$n5Vgz(=r1$olVa9UjWC zrg(SCQPMc%ch$4^U;qwz0~LuYUue{fPQ8jq6JiUsKnfJ^`h0Llk{hP`t2x!a?8I&w zBcF|Df^IPz{cmwfNwR%~*O>D0tzf?DTLCylAva`Bd1!eJslO6w{ipS@a4}v3)%=wl zT0Leu5g63kkr=cY$sWBo>M>UJ@PKtj5$j1Y_|B(=<+xJzA=o_*23RepEt|UqVBNax z#H7h2|CLrMp*`g#+SOdDp<0_oF$pS0SOfW63+xAeZ2CXj?s@6JUo4kf1okK1}T`#d|&dnkJB<ui;3D^zT^XDALU zrj>dplq3Vfd+CcJI~BTG??0VzBgsJa0s6U)(`O_BgLK1F-8T`ug*b%sFi!|5AULhC zAGAg}{x$sYHve4=evPS6gea)dVO_Cb8bGNy5s>%x-Wc5*qo0m3YO(*cG@$z%fV=X4 z$F8~mKbh|1|4;LDu>Y>)+<1ftP$BzFe)Yv|b~C3s)}-DfC`2$tujQGq!5i`S;I%xR zRc}CQeC#dAy#@JH7G%NjxsMt7ee@iK=n>6GeW5q7BR3q~RSRpfnQ6Go+#JL(p_t!0 zT4yX~Us*@69_SNWadMOGb$ek{Z~ry6(JBnZz1emTvkic%^s&=yZW(8xZ^e1(-Phg% z&@Tk)9*-tw4q{1GGL6hLH?PhC3Yc-Vog>WU@3Ro5U|7NYKw4l+wa)%sC|qT?!_F0q<-!dx@?1EGf|f^uP}x zzfM79JrwH-@?q#LLo$b94}4L|PygM=hD-LpOcdwWeu`r!kA45YI~ea)yK7@bYu;V_*Iz# zur4C=AB!eN{&jXns9#W0`3LVZS3^S~kDZ9GkH6#v7Fa(h;lpV9{uU((4iKQk=tW-i zf%lcBJ{BM%w1jt1fYdkCQSoBa0=+%GVNVvC(0SC4&s4wzz3=&03vfN~Oh`g)_)L_C zMi*8oL?%}CDey(5CH04qq`%L{F8^0Ce46tgt~>Hd=RZdK``@4Bc~tq&&(uAv5 zm-#D_;Qx?_!tjy=XB$fR0lCD~0BkN>WdACLn$&0DyU2Uiu1?ZtSQ^XtoUTWb?tE}^ zG>s*?Xt$T;e~ia2|5YOFqvwANy-6wmf1m&HL=Ts6y8OS8cM;Y~|GE_*j(nT`D>B;^0g-W6`U&huN`8n+}!3uz5ucy=w*bKOYX{mKb{XZ6o*;% zxh%ZW1792-)@g|%7dtgYzniMahO&sSvC7EXgCc4p=0!toJk0*2<#?XzeIU-opQD6= zL+}iIp{9li+zjxCb2e+``Nh2CpVkKjwOptl_@~?cpKg1gM?=v8B7D{_fzamME>&NJ zvxJgkt%JCeA|tb*G}?K0S52Hc%6GetD52kyFhEI9!&BL9wju`%L{^;Si_ZBLdz+;8 zvFm?XDdLh>inx~*u*?7RTr>Z3Ivwrx|C2l=|F1CY58wkD0q8mx#RW&|jDf;F()?&`Hcbcf?&AS-yyrIQr&x3(Ewr-I? z&PmfSpvKxG8Teu-HAIb-fo!?A;y=m9F8@X7?Fs6CxMQbu{@0uA_y3>dDarpUKI{)5 z{8i|-Up#q`Uu45xzld&&VcajW-*ZtdBv1e;uh83CbY(GQ19W2vW(1*sDc#~-)@!N; zcSF@CJ}+K<#D6i=n_QC?1t;EWDoz6FqU7W>s0&T$=o&jS1sWeoR~Z9-ztR4KYpgo? zFRFY!`u@K=H1Gd(C*yto@6$XL@?Tsq_7Dm{mPW600OUt4B&8s);vUhGtQ7OtDlGZy zg0#%=+y&pjEZ%KyO%g=@TwNP-?7#}4`Lj7#@_ z3@6il{nsaXJ_nbOQj|m~lTTs>fV&lnz%>03i1yI^Zz8r{J-jl z)$*AANBx=JM#njzIrMKfF<9Ubr3YUQ(!2QJ%fTGp9DF&TYxZxF;N`)W|KGvq;2lgb z*`(m&`HS>m5GRC5xPt)>5Ih#2C*j|K8Z$um7ibJ_qM3W=w@-`ImX}*MozDzlf7eU-iV)=+6f3z#aAe`j=z) z*MrYL{~Y{Sc=4}iD@x<^^!Rv*>1s1)%KDfl8^kTd^qAM&@yR-d2|CtWdV|5B0O=4s z8#=>b-|_mx$>9OR#i(N|_TWodT?7Qgzd;EQ7lDKzB2j-0|4kD4`8W6j`;3&X8q$B~)e*AnmoQ@mug41+^(qs1h;o*U;!#rDu zd7V3KXmpsTci5$L=f$)J-}UYq;cgv#ia(h3im`RWoAp zu^QHlm22bJ?aZ-baO~D`Ot&!sILhu1N>EHBo6RW5*>r2zbZl%oUD=!&Tsrrfk%Hy% ztR2ha+2LXL**>%MNi!lUy5ywTB{RK89An&nfLK&j!x5%}`{AS=_rr;Oz)vi^opj}G zQsnKVlDBRG8wLT`Bq6s2$%cZTL+1RaWQ_ofV-OIOav>h#8w6Bmc`a9mSF<`MmdnwL#>Z}DxeB<7{1j+JtHj>8{lAEcq3X(@flE?KVH(AZ@tl4B!L*&j* znyh9CyWLuGXEkfZX5Vx+Zw%{3H*VZwB%oF(rLCU977?L}%CJ6$UZ!ex7zrA?Q%N+6mO1h1F5zu(a-o3ndF4*_lSv8I~ zv$Jor<2ssgjyc>;E&KD$I_A;o7*c;FN4?LWk`#der*IykteesmOi%!DEW4qZe961P zvvq@G=?14;H=GRIX;Ef7#eVRNb^i667iWLFc>NNH$O-t4t$J>+py;-L3zHO(4NY-? z09ml#K#F`3_+lN=(B{rM!gZ=ULeO2&6XHeZuF!l<0jaJpn45k54=_hKT7tWTM9Xk1 zH-rM_*GRL5O&Td4G2c;IpaexeN_pj1(Rm44LmV+UXK|d0zH-{>J;$-=J;9i*uQ~}! z-qJPtDi@c-{_v!WxO8Xj6cPKrhUY4IDPDBu*)e!_b)Lt@{P0PVAfK{HA;be%k(8RE zgY!LUW^iSEPewI-S4jx*q9fmv(pWn>-=mVO42geJ$t+t7qEt42Eo3Qk1DR<8afIYN zn6z?n*!R}{nAqmQr1LzO81rCKoCia*KhDyWE$!=n0GMr&^3aZ8)@wQVo_+8qw!xot z9{jQH9|=f0vu?>w2m$~%l!Q3CVO*1#Nqp+L#dD_bUW#8BEY*Aw4&Pr@- z2)1!Si8 zW08;J&hl}jhr9$Ny+2#;=m?%iE$7f^c33HhBd%RB3;~V^#fz=bQyW$yD zhULVI&K+A+JR>bKH`J{0b{*@r6iA+3AdPH_XVh8oj10vy(iD%|_uSSz%NGo6%p|A@-4tAfN6@C%t_-t;aCNQKQZ(YGkOWk*1>D{?PQprJn`XIHm9grOfxnQA%MLa))CRFB2FbvE7t8 z8mW~Zi;5U^RuP_|B1W2uDDb06ZbdX>KrxfX$j1xpb5728G2+=ove#K8dxl8%G?DCT zj!(PE*wXo();PbOO(c7rMY3mzWUnBShwVi&=Xu=D!JUrn4z6bt!(L}G>=|O%D~Mrt z){W;;OP)t{JX-{<*ICedhM@Hdg0?Hq!*!N)z=_E{BV)A^DGkE>nyQ7Lt=XciQR1%)twGoZGy4yYbK0Es(YQK`mnS}bgAxE zO7)j-FZg&BOQ~^Y+l9v2_uPX*A9!HRhcTSv5K}DlA49~!IxQ!lW4CUGwnaDWyy%9; zq8k<$U8xV_gv2Nbw`{_1Vt_u-1omOF%#w2@(=8{CW1l!f+hQ4ZUMxdnu?&lgWoQV1 zfcRnqm97wAJi-v8w^AL#;Xmwd!;W8caqlc^=jAY|*MtXRYcOO2jE>)sEr9 zNxS?V_I(Y{77fxlcVjjfP7R)=24U)>Kb%!5PNg83i2#p4f+BLu`hi2Icpjo7fO!JC zx`|Ts#IU7c8(IY$BfGLE*o)3RQP8CflHL>D9FU3IQh~Wv1;z-p@!U~q&j!P>!Sh7t zx#KE#T8^_bZM>5+Zn*!u1L&c<&?YhX4Qx(2_)N`AW?VPN)==!(qm8n;Z}8Qar$81c6L=x8a-21Cc_ z4_EJxZkEEh-Kh-reGSjmmI8axm1lQm@T^-3Znwz&*llMKj$Nxo$OyFX+;D%ciszFe z&+e>}XE~9TVZ;+M1H9mAniTvynEPOpgnv%?s#k~AaP)6(99h|^I))@(-0Q5t)L`jE zXUV!5QQ8pZ!`D*PkDVGZ?b=K_x3fv-8YZ2qn{YWOfgpjZ>*_TWq4hX_WSSkzp?eBp{B zLjESfbPHnUph7UmRGrNb{PLqnG{MUyN>l>AI!|aDf_7(;*!Q}}V*qQJxHTHh>VUPg zD@P-*23Si6el(oc0c%Owut1p{tAhOIvoJt$$_taQX}4VY;+$GU?grL5Z!-_Oonp@x zx8WkVx`|k^h8}QcJxH(E49ISW-m_jY90^x9B6*0dnjD*H*V(c&47-_0MsaZ3i=W3A zi4Q0}ES+vMKs(u=tf66g>XxU|!1C-a(JTzwEY8jbr=ieubJOj6*67beNLdSmHsh?b zZDyEeV~xR~x$gnPJGf0{h9zW{G+ZNjm`xtxAq(K6g!Wa{ZxX3a5na)4(|Ke+<1w@B zgw48cgv|y<*lVPBh3Q&|lxb;AC#qMdhQ zO|+X?_N-=Ix2$HSY8h5CCZU}VA?H4is85We zCBRWuZCh>3**K^kypyhjXB_oCDGpxw0ANPFzey=s=lh5uoTHGd303}lAcwD|V47M5 zlkL=R=R?27ncr#s@TpXEK5g}U^!$3M6^w#V4yaTqyboHQ8uRR@#%w2mJ0Ad^6tjb- zmI;uFC*2<}Z$KAw*W_It`gMk?_Oj@fmMhzyXfd(aQ}&7Gr4A)fk!-jiE`w7_x5<8QN#uQu~ap z+Gk?1o+e$br%BOzniQ-j*Lp(FU~tsVob^Ulb9Q2}o+e$bC*y$rq+mVSOAr|hwmcf= z*^kEA&fIrCa&MftpA@99YcITzBC7Uo#rDlDzuVOhAzo*-|3z7sTmR2ezR zLCxx3x?W3H(&MhAZJxJu(LLd!XOz;CimUF+>iwf}*Bsq(Q3;O+6TL4hbEL(#{8=0e zzFQsz@a#tc#uimN?y5?SA`|0+Dz&Gj8UyRJoFz`pEE%>dv&X(SW49tRg6}=>OALVc zR-8taXZmoov~_W{mhW8D!l-F6E@*jeH#M{3Q^LikEMJ7ybCiIXq;#2}^yd&HgisK} zG`%B9VB?`$k#{aqVbrJ?7ZiEZEw|ycoux9IS}he@Ns7)DDU5;?#JC~|3DpiaNO248r_({1S zz!Z}Rh5&{brYRD7pN9~#qC=}f--v!_rxb=K*0`;$#zf~56C<-9oXUPsD;GyJA;HF% zaT9d;?pzE%`)m8{WwB%Qju7SiM0d25e)a?6w)51Tk5hX_F4Jg7f1Cw@8h#meV0?;- zn6C&7zJ?);e3XDQ)-RI%b|&D^9x3%~iA`ST#3s*3Z1VKPCb#c2j28|k?E<31i8UbV z+0vc7j_FRk<DTzghR67DXoU}8Gh7+sf>e;fQyv|uso{<&h=~+=u&5a0i5&u2TO_Eby zIKojWZUJ7Rl(HV0Ougx1G!ebgatCr)%&Dk9`84!eE-9~WNmbj}Ugz8_&&bX4^xUkv zt~QpG*K$62b@Qp(%JuG>o8=gcj&w%Ng7ljdWszH^E%kjRVXceALe2W++CxhvBoVke zKYR5;^ia#=wnO`ITd(>`4e_G$G#DDa<7vH9k@J5kF8t}g@IxG@2*fa&>0k;bN`Sw@VIWHCTjI!`EqBW6m^;N= znhVdZW=7g(Ori0S=>OxJE48SEek(D>tW_~;vYZoL@okh8Eb%Rh#8#5qavR09Z=-m& zEGn;K78PqbGrGsoyJu>Q_5Zy|DTottivtAiV8WLdXWn0}NdOiQi|sVHp(IAh8mB4O z{=6r~?K~QHZ1re7O9GeIHG#_;7zXT2?}l=`nt67&Fkv!9P7C4D&;-GCh$94oIoKp& z3gFV3((PF?qP(sdQARSpr)5M*E~?3}S&^NMNW+GlR(58#zh%c!sA4RlkDpT@5y!)6wBwu%g+$ZJN1%^v7(4iw24HY3BT$-9za z>hWe|*c4_*eK|A-#c4u@txi$rGDSv}qG54RMpiPa2c>i2Afs;3usA4oGO7oqd$}I7 zH=HJ9R9|0m()Ie1lYv<@sMs5}Ty$$0pRT>(6mE1p$?p-Vr^B)Nbxvo$&N2KtNAv5P znMm-pkW#%~oX$>-V>mUA=G5#UrFwXr&L+20G`Stk>tJBqRHR@kEx#3z*MzuNFx%ic14$7n%8P#@B z=h{q0X(lJPgBTe$Z^Bj|sbhJhY@Uvaw0O;EvB{C{Vx&mMuo)TEnx=DUA)~U8lWUrK zGHjykK1Z-zbCx)}X_+#Tt7fZs(S@3+q4xwNjTG0s>~#%q5a3z+X0RefH06go#TjjK z7xAN;TJHXA*2+Jd%`EQO)TVZ)oz?EtP`gu8?bBA6|EDr#M4+-!-)Z^smX1NazJN=0AfnBUIQ#eR z^0mwtWb+eJaECxZqCZoeTXOu zx9TFYO|(f-ka5T3_t}a=5x=ae@Wp~8tUqiVRvAmvuEx@|XrN3DJE_E;+ST5f7VVv>VeeE7n%JngjUzL2$3}0JVKnV(7)^_Y(bO=E zEagdgD+?K&B4DiHs7S`RuG^&Sfl)*#KQ8nNr&P>ve*8rIDV8ylMsY%Xl%}$dw!Ek< z(9a;u+TBJzvt33$wb+c)t~TSeXfsX?o3UYVaMmt8U?#EyidC6$RC`!j?8J-CY?qHQ z6X_Tn+r>Ig$Su!s;{QS*h{V9MC8A%IpKc=xKVUg}t+M@Qwq(Dl#nhg5HMLno!*D3r z4dnzEF6DR;coD!}ZRXl_7ObORetZ4~tZ|aap&hq6JTn`gSg!RAHgSl3Hg%LF@?{Po zKZ<8qbhhrZnI+w=l4AE2Y!b(ur1?#yqKVOUWRoz{vv5BMZ~q1@pg3&zrQF(<ew%rHoCfPBV;7>`!zAv4=WR#S_QGwtf*Op89w)bMf2oyjYXGeycQ zA;{AzFCkrJby|deUEmP$L}vs8epo!y&b%|)NrJIgSsNqSL}%%161^dWk3}wn%yd_( z4p#EaWn*C4IT*H!u%;HTZ`#%Cn;4hjObw4OuU4#2(>Exk$;PLm=mnqb{O%hjE42jK zysPr59AKsO+MVZ`*^YBfY&YsmI^U=>;rB~ui+`eBsbh3YrlLqf8SmNg;hU4R4{3iz zWV(dtCdPQXf*vzlm19X|HRoMZEJRbMz`9rTXB=zIPRS!hDa})tu*mqGwW~ZbvlSkZ z1X{W7KHxKxY0H2YD+Fv}d6FE4JiJiI=aSc?@ES1CryCfCTQ*6=&0w>32mWUKyx(X0 z=XddlnRNW-#o6=kUJTa3W8iQc$C->q{Qr*QnE!Xj-taSb7GGI59F&m4E?44uz_ z^BBaK&nBfX`OLXDE|a<6$@4k5kjEsLGCVl=W)q1#z!1+9m~6QvbDeC^xy+#3^}!Y9 z$811IctD65LHS#8t2I!tN5_d9;d|W>V?XWDB6b!swQfxFj%SG>VJspTGJ0fXPnq zMqDVxgk^eg@VCtzB@v=1Jq7Ro`jyKse(pQ(`KQk{?QwAM5xhY$NiikK7JLLeS??ow zhZ5!ufR6_s``Yud@IUr14)G#84#)Z6-E?qp%{l|80D^B(xCXCew}{iB2S1#>d42Kv zE4Sst%pw1MIA|HE5c zu@-+CIxl&fW5?~E1p$th{d_JQAA$u=QaU*3gDZqMyFdPbZ?Fx+;Xxmq=cGNysZWw1 z|2hyq43^7d`Yye^{`QA!ny^OS$0!02{Kyql8&wveyJLSvNQw>*`u+aFSr~#hc)6k} zGc8eaivrLG*TpF=lZ1aK8c@pr6$;mV89I1yB~UB>U1#Kur-uCZJa@F0|4;ES87A_K znPlm|<5S?^K%37v1#yDcFu~!L3*mqXVQx@v`MiI9b|v$XnRFi68|H3-+Oy~-g^%|f-6KpcC{(E#%uH+5+Mdzb6xYhPr*kS zs%1ca`IST9x1??XjJB2DZVFZ?;phLDv&&v4TYxEArvvZ;`m1UeIbD%Wm|eA&@>tOg z+75(f%41m#EvJ_&@pPE7oIxU@ipGCeXnAXi`j0tT!vp$VdRNX7S2 znt}xm5u3@h0fFC;M1(PMv>->B+NIz}Hai32OJ&P+8}ZYD=Bjh8MK(#F3vQ{pq*o{@ z@5>H5{#+yYu)0?U{OZ7uAjB!3KtJ~SeYl~k-cc_i5$gR*%}A{y88*H~aD)I%mV9}p z12$<>9H9Iz&VGNBqNE={3i|<0cxUCuZ7B$esAndYq5xm$WCch>9a9SnBKR19k6=y+ z8_f3$7^a9({zAqjH&Ij`!hCAuNM0=%SW(*+ve0B9L zTQzpf199YENM}u;a%uVo-f;*DT0=-*!xT+M74XE1K8je&zyv)2Kdev$=7g@afrH}K z+9Tf2i6n>-B8sEM3Gxy1C6GmQ6-m1id%9)PUVOkQUoLXjR}MV;#q5D=a2?=inV>XnuohtisYc< zf$fppk>mzP%jY;LcJgsgSFQ}E{1R~C#`7cOnj|rbP#{k#=>m;%%j#kQB0|NfEio%# z9E--v!jbEFO*RpY;YzJi?l@_ZKx8L;$G+0Ji4aX!gp?L#2c?&R$~7KM$c9a9{54DkOA<8Hh81+TlIab?zs5m2gas~8GnKnJ@ zsZH(PY47+pj*eB^UjB+X!@biUgT-A2u8CB8Dqdz__>8}lJ~x!baq)kU$X`+2CT14j zITsd*a^cw&cz5}FU}tBLZNnE8cY%0D#1AX%ulOWWbBnc9F790F-J%0)!zJSZ8b00| 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 literal 0 HcmV?d00001 diff --git a/stable/plex/10.2.6/ix_values.yaml b/stable/plex/10.2.6/ix_values.yaml new file mode 100644 index 00000000000..7bfc4c0ff48 --- /dev/null +++ b/stable/plex/10.2.6/ix_values.yaml @@ -0,0 +1,36 @@ +image: + repository: tccr.io/truecharts/plex + pullPolicy: IfNotPresent + tag: 1.28.2.6151@sha256:5ef7e1147e99986f4e05c12b6d8801691b7e90968668c0ec582be8bb8c5dfe6d + +service: + main: + ports: + main: + protocol: HTTP + port: 32400 + targetPort: 32400 + +persistence: + config: + enabled: true + mountPath: "/config" + +plex: + serverURL: "{{ .Values.service.main.ports.main.protocol | lower }}://{{ .Values.plex.serverIP }}:{{ .Values.service.main.ports.main.port }}" + serverIngressURL: "{{ if .Values.ingress.main.enabled }}{{ with (first .Values.ingress.main.hosts) }},https://{{ .host }}{{ end }}{{ end }}" + serverIngressURLPort: "{{ if .Values.ingress.main.enabled }}{{ $port := .Values.service.main.ports.main.port }}{{ with (first .Values.ingress.main.hosts) }},https://{{ .host }}:{{ $port }}{{ end }}{{ end }}" + # User Defined + serverIP: "127.0.0.1" + additionalAdvertiseURL: "" + disableGDM: true + +env: + ADVERTISE_IP: "{{ tpl (.Values.plex.serverURL) .}}{{ tpl (.Values.plex.serverIngressURL) . }}{{ tpl (.Values.plex.serverIngressURLPort) . }}{{ with .Values.plex.additionalAdvertiseURL }},{{ . }}{{ end }}" + PLEX_PREFERENCE_GDM: 'GdmEnabled={{ ternary "0" "1" .Values.plex.disableGDM }}' + # User Defined + ALLOWED_NETWORKS: "172.16.0.0/12,10.0.0.0/8,192.168.0.0/16" + PLEX_CLAIM: "" + +portal: + enabled: true diff --git a/stable/plex/10.2.6/questions.yaml b/stable/plex/10.2.6/questions.yaml new file mode 100644 index 00000000000..d7869e0092b --- /dev/null +++ b/stable/plex/10.2.6/questions.yaml @@ -0,0 +1,2536 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: Controller + description: Configure Workload Deployment + - name: Container Configuration + description: Additional Container Configuration + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" + path: "/web" +questions: + - variable: global + label: Global Settings + group: Controller + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: Flag this is SCALE + schema: + type: boolean + default: true + hidden: true + - variable: controller + group: Controller + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: Show Advanced Controller Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: Please specify type of workload to deploy + label: (Advanced) Controller Type + schema: + type: string + required: true + enum: + - value: deployment + description: Deployment + - value: statefulset + description: Statefulset + - value: daemonset + description: Daemonset + default: deployment + - variable: replicas + description: Number of desired pod replicas + label: Desired Replicas + schema: + type: int + required: true + default: 1 + - variable: strategy + description: Please specify type of workload to deploy + label: (Advanced) Update Strategy + schema: + type: string + required: true + enum: + - value: Recreate + description: "Recreate: Kill existing pods before creating new ones" + - value: RollingUpdate + description: "RollingUpdate: Create new pods and then kill old ones" + - value: OnDelete + description: "(Legacy) OnDelete: ignore .spec.template changes" + default: Recreate + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Controller Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Controller Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: customextraargs + group: Controller + label: "Extra Args" + description: "Do not click this unless you know what you are doing" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + - variable: plex + group: "Container Configuration" + label: "Plex Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: serverIP + label: "Server IP" + description: "Set to the IP-Address used to reach Plex." + schema: + type: string + required: true + $ref: + - "definitions/nodeIP" + - variable: additionalAdvertiseURL + label: "Addition Advertise URLs" + description: "URLs to advertise to Plex, format http(s)://IPorDNS:3200. By default your serverIP and ingress URL is added" + schema: + type: string + valid_chars: '^$|^(http(s)?:\/\/([a-zA-Z0-9.-]*)(:\d{0,5})?,?)*$' + default: "" + - variable: disableGDM + label: "Disable GDM" + description: "Recommended to keep this to true. Disables legacy local network discovery. Keeping it enabled might break discovery for some Plex Clients" + schema: + type: boolean + default: true + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ALLOWED_NETWORKS + label: "Allowed Networks" + description: "Networks allowed to connect to plex. Add your local network IP to this list" + schema: + type: string + default: "172.16.0.0/12,10.0.0.0/8,192.168.0.0/16" + - variable: PLEX_CLAIM + label: "Plex Claim Token" + description: "Claim token to use to register the plex server (Max. 4 minutes old!). You can obtain a claim token to login your server to your plex account by visiting https://www.plex.tv/claim." + schema: + type: string + default: "" + - variable: TZ + label: Timezone + group: Container Configuration + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - 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..." + group: Container Configuration + 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: expertpodconf + group: Container Configuration + label: Show Expert Configuration + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: tty + label: Enable TTY + description: Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: stdin + label: Enable STDIN + description: Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: termination + group: Container Configuration + label: Termination settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: gracePeriodSeconds + label: Grace Period Seconds + schema: + type: int + default: 10 + - variable: podLabelsList + group: Container Configuration + label: Pod Labels + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: podAnnotationsList + group: Container Configuration + label: Pod Annotations + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: ClusterIP + description: ClusterIP + - value: NodePort + description: NodePort (Advanced) + - value: LoadBalancer + description: LoadBalancer (Advanced) + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: (Advanced) Specify the IP Policy + schema: + show_if: [["type", "!=", "Simple"]] + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: (Advanced) IP Families + description: (Advanced) The IP Families that should be used + schema: + show_if: [["type", "!=", "Simple"]] + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - 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: 32400 + required: true + - variable: advanced + label: Show Advanced Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: Enable the Port + schema: + type: boolean + hidden: true + default: true + - variable: protocol + label: Port Type + schema: + type: string + default: HTTP + enum: + - value: HTTP + description: HTTP + - value: HTTPS + description: HTTPS + - value: TCP + description: TCP + - value: UDP + description: UDP + - variable: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 32400 + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: Networking and Services + label: Host-Networking (Complicated) + schema: + type: boolean + default: false + - variable: externalInterfaces + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + 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: + 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 + show_subquestions_if: static + subquestions: + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + 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: dnsPolicy + group: Networking and Services + label: dnsPolicy + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ClusterFirst + description: ClusterFirst + - value: ClusterFirstWithHostNet + description: ClusterFirstWithHostNet + - value: None + description: None + - variable: dnsConfig + label: DNS Configuration + group: Networking and Services + description: Specify custom DNS configuration which will be applied to the pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: nameservers + label: Name Servers + schema: + default: [] + type: list + items: + - variable: nameserver + label: Name Server + schema: + type: string + - variable: options + label: Options + schema: + default: [] + type: list + items: + - variable: option + label: Option Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: searches + label: Searches + schema: + default: [] + type: list + items: + - variable: search + label: Search Entry + schema: + type: string + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + 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: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort + schema: + type: int + min: 9000 + max: 65535 + - 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: simplePVC + enum: + - value: simplePVC + description: PVC (simple) + - value: simpleHP + description: Host Path (simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: false + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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 + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 999Gi + - variable: hostPathType + label: (Advanced) hostPath Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) storageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: name + label: Name (Optional) + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: simpleHP + enum: + - value: simplePVC + description: PVC (Simple) + - value: simpleHP + description: Host Path (Simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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: 999Gi + - variable: hostPathType + label: (Advanced) Host Path Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) StorageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: [] + 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: tls + label: TLS-Settings + schema: + type: list + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: These middlewares enforce a number of best practices. + label: Enable Default Middlewares + schema: + type: boolean + default: true + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: service + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: security + label: Container Security Settings + group: Security and Permissions + schema: + type: dict + additional_attrs: true + attrs: + - variable: editsecurity + label: Change PUID / UMASK values + description: By enabling this you override default set values. + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - 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 + 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: "002" + - variable: advancedSecurity + label: Show Advanced Security Settings + group: Security and Permissions + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: true + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: capabilities + label: Capabilities + schema: + additional_attrs: true + type: dict + attrs: + - variable: drop + label: Drop Capability + schema: + type: list + default: [] + items: + - variable: dropEntry + label: "" + schema: + type: string + - variable: add + label: Add Capability + schema: + type: list + default: [] + items: + - variable: addEntry + label: "" + schema: + type: string + - variable: podSecurityContext + group: Security and Permissions + label: Pod Security Context + schema: + additional_attrs: true + type: dict + attrs: + - 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 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - 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 + + - variable: advancedresources + label: Set Custom Resource Limits/Requests (Advanced) + group: Resources and Devices + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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 + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 10m + 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/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 50Mi + 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: hostPath + 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" + # Specify GPU configuration + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] +# - variable: autoscaling +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - 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: +# additional_attrs: true +# type: dict +# attrs: +# - 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: 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: openvpn + description: OpenVPN + - value: wireguard + description: Wireguard + - value: tailscale + description: Tailscale + - variable: openvpn + label: OpenVPN Settings + schema: + 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 + default: "" + required: true + - variable: tailscale + label: Tailscale Settings + schema: + 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: 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: Sock5 Server + 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: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type + schema: + type: string + default: hostPath + hidden: true + - variable: hostPathType + label: hostPathType + schema: + type: string + default: File + hidden: true + - variable: noMount + label: noMount + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: Full Path to File + description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + 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 + - 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: git + label: Git Settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: deployKey + description: Raw SSH Private Key + label: Deploy Key + schema: + type: string + - variable: deployKeyBase64 + description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence + label: Deploy Key Base64 + schema: + type: string + - variable: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: NodePort + enum: + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: nodePort + description: Leave Empty to Disable + label: "nodePort" + schema: + type: int + default: 36107 + - 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: promtail + label: Promtail + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: Loki URL + schema: + type: string + required: true + - variable: logs + label: Log Paths + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: path + label: Path + schema: + type: string + required: true + - variable: args + label: Promtail Command Line Arguments + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + required: true + - variable: envList + label: Promtail 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: 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/docs/about/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/docs/about/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/plex/10.2.6/templates/common.yaml b/stable/plex/10.2.6/templates/common.yaml new file mode 100644 index 00000000000..c1a366e1cf0 --- /dev/null +++ b/stable/plex/10.2.6/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.common.loader.all" . }} diff --git a/stable/plex/10.2.6/values.yaml b/stable/plex/10.2.6/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/prometheus/4.0.75/CHANGELOG.md b/stable/prometheus/4.0.76/CHANGELOG.md similarity index 92% rename from stable/prometheus/4.0.75/CHANGELOG.md rename to stable/prometheus/4.0.76/CHANGELOG.md index 085f831aa5b..10408eaf6e5 100644 --- a/stable/prometheus/4.0.75/CHANGELOG.md +++ b/stable/prometheus/4.0.76/CHANGELOG.md @@ -2,6 +2,15 @@ +## [prometheus-4.0.76](https://github.com/truecharts/charts/compare/prometheus-4.0.75...prometheus-4.0.76) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [prometheus-4.0.75](https://github.com/truecharts/charts/compare/prometheus-4.0.74...prometheus-4.0.75) (2022-08-31) ### Chore @@ -88,12 +97,3 @@ ## [prometheus-4.0.65](https://github.com/truecharts/charts/compare/prometheus-4.0.64...prometheus-4.0.65) (2022-08-22) -### Chore - -- update docker general non-major ([#3530](https://github.com/truecharts/charts/issues/3530)) - - - - -## [prometheus-4.0.64](https://github.com/truecharts/charts/compare/prometheus-4.0.63...prometheus-4.0.64) (2022-08-20) - diff --git a/stable/prometheus/4.0.75/Chart.lock b/stable/prometheus/4.0.76/Chart.lock similarity index 89% rename from stable/prometheus/4.0.75/Chart.lock rename to stable/prometheus/4.0.76/Chart.lock index 9dad9db6b3f..60fdb66f1fe 100644 --- a/stable/prometheus/4.0.75/Chart.lock +++ b/stable/prometheus/4.0.76/Chart.lock @@ -9,4 +9,4 @@ dependencies: repository: https://charts.bitnami.com/bitnami version: 3.2.1 digest: sha256:b8749efb7166e14a1fc2c555c72994bd04fdc480b9cd049537842c3baead677a -generated: "2022-08-31T06:41:09.428910232Z" +generated: "2022-09-02T09:49:23.219812926Z" diff --git a/stable/prometheus/4.0.75/Chart.yaml b/stable/prometheus/4.0.76/Chart.yaml similarity index 98% rename from stable/prometheus/4.0.75/Chart.yaml rename to stable/prometheus/4.0.76/Chart.yaml index 0ee0a32e1ea..b59b81a6aad 100644 --- a/stable/prometheus/4.0.75/Chart.yaml +++ b/stable/prometheus/4.0.76/Chart.yaml @@ -29,7 +29,7 @@ sources: - https://github.com/prometheus-community/helm-charts - https://github.com/prometheus-operator/kube-prometheus type: application -version: 4.0.75 +version: 4.0.76 annotations: truecharts.org/catagories: | - metrics diff --git a/stable/prometheus/4.0.75/README.md b/stable/prometheus/4.0.76/README.md similarity index 98% rename from stable/prometheus/4.0.75/README.md rename to stable/prometheus/4.0.76/README.md index f899a80c5bd..4d195cfcb83 100644 --- a/stable/prometheus/4.0.75/README.md +++ b/stable/prometheus/4.0.76/README.md @@ -1,6 +1,6 @@ # prometheus -![Version: 4.0.75](https://img.shields.io/badge/Version-4.0.75-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.58.0](https://img.shields.io/badge/AppVersion-0.58.0-informational?style=flat-square) +![Version: 4.0.76](https://img.shields.io/badge/Version-4.0.76-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.58.0](https://img.shields.io/badge/AppVersion-0.58.0-informational?style=flat-square) kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator. diff --git a/stable/prometheus/4.0.75/app-readme.md b/stable/prometheus/4.0.76/app-readme.md similarity index 100% rename from stable/prometheus/4.0.75/app-readme.md rename to stable/prometheus/4.0.76/app-readme.md diff --git a/stable/prometheus/4.0.76/charts/common-10.5.6.tgz b/stable/prometheus/4.0.76/charts/common-10.5.6.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9e3f5a957f3fa92bc5b2d7cb2c16b0ab954235cf GIT binary patch literal 48176 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%0D#1AX%ulOWWbBnc9F790F-J%0)!zJSZ8b00| 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 literal 0 HcmV?d00001 diff --git a/stable/prometheus/4.0.75/charts/kube-state-metrics-3.2.1.tgz b/stable/prometheus/4.0.76/charts/kube-state-metrics-3.2.1.tgz similarity index 100% rename from stable/prometheus/4.0.75/charts/kube-state-metrics-3.2.1.tgz rename to stable/prometheus/4.0.76/charts/kube-state-metrics-3.2.1.tgz diff --git a/stable/prometheus/4.0.75/charts/node-exporter-3.1.1.tgz b/stable/prometheus/4.0.76/charts/node-exporter-3.1.1.tgz similarity index 100% rename from stable/prometheus/4.0.75/charts/node-exporter-3.1.1.tgz rename to stable/prometheus/4.0.76/charts/node-exporter-3.1.1.tgz diff --git a/stable/prometheus/4.0.75/crds/crd-alertmanager-config.yaml b/stable/prometheus/4.0.76/crds/crd-alertmanager-config.yaml similarity index 100% rename from stable/prometheus/4.0.75/crds/crd-alertmanager-config.yaml rename to stable/prometheus/4.0.76/crds/crd-alertmanager-config.yaml diff --git a/stable/prometheus/4.0.75/crds/crd-alertmanager.yaml b/stable/prometheus/4.0.76/crds/crd-alertmanager.yaml similarity index 100% rename from stable/prometheus/4.0.75/crds/crd-alertmanager.yaml rename to stable/prometheus/4.0.76/crds/crd-alertmanager.yaml diff --git a/stable/prometheus/4.0.75/crds/crd-podmonitor.yaml b/stable/prometheus/4.0.76/crds/crd-podmonitor.yaml similarity index 100% rename from stable/prometheus/4.0.75/crds/crd-podmonitor.yaml rename to stable/prometheus/4.0.76/crds/crd-podmonitor.yaml diff --git a/stable/prometheus/4.0.75/crds/crd-probes.yaml b/stable/prometheus/4.0.76/crds/crd-probes.yaml similarity index 100% rename from stable/prometheus/4.0.75/crds/crd-probes.yaml rename to stable/prometheus/4.0.76/crds/crd-probes.yaml diff --git a/stable/prometheus/4.0.75/crds/crd-prometheus.yaml b/stable/prometheus/4.0.76/crds/crd-prometheus.yaml similarity index 100% rename from stable/prometheus/4.0.75/crds/crd-prometheus.yaml rename to stable/prometheus/4.0.76/crds/crd-prometheus.yaml diff --git a/stable/prometheus/4.0.75/crds/crd-prometheusrules.yaml b/stable/prometheus/4.0.76/crds/crd-prometheusrules.yaml similarity index 100% rename from stable/prometheus/4.0.75/crds/crd-prometheusrules.yaml rename to stable/prometheus/4.0.76/crds/crd-prometheusrules.yaml diff --git a/stable/prometheus/4.0.75/crds/crd-servicemonitor.yaml b/stable/prometheus/4.0.76/crds/crd-servicemonitor.yaml similarity index 100% rename from stable/prometheus/4.0.75/crds/crd-servicemonitor.yaml rename to stable/prometheus/4.0.76/crds/crd-servicemonitor.yaml diff --git a/stable/prometheus/4.0.75/crds/crd-thanosrulers.yaml b/stable/prometheus/4.0.76/crds/crd-thanosrulers.yaml similarity index 100% rename from stable/prometheus/4.0.75/crds/crd-thanosrulers.yaml rename to stable/prometheus/4.0.76/crds/crd-thanosrulers.yaml diff --git a/stable/prometheus/4.0.75/ix_values.yaml b/stable/prometheus/4.0.76/ix_values.yaml similarity index 99% rename from stable/prometheus/4.0.75/ix_values.yaml rename to stable/prometheus/4.0.76/ix_values.yaml index 725c1427a36..17f66cb1a2c 100644 --- a/stable/prometheus/4.0.75/ix_values.yaml +++ b/stable/prometheus/4.0.76/ix_values.yaml @@ -1,10 +1,10 @@ image: repository: tccr.io/truecharts/prometheus-operator - tag: 0.58.0@sha256:63b8709d7aebda9bae9d994fa354f8e3008a0b321eec89d688d0ece896bb87b4 + tag: 0.58.0@sha256:031a4cee9771fbb8bb20673001f65cba6807291f9886c179c458b267f584d35f prometheusImage: repository: tccr.io/truecharts/prometheus - tag: 2.38.0@sha256:8a84d16bab0a19914ea91852e9bb2dee8e73c9a8d8a2b94a3a4fd954480f8a5c + tag: 2.38.0@sha256:333684f6ef1b83234dc285c115d27d8c5bcfe3b867969d53999e8439c0ba88a1 thanosImage: repository: tccr.io/truecharts/thanos diff --git a/stable/prometheus/4.0.75/questions.yaml b/stable/prometheus/4.0.76/questions.yaml similarity index 100% rename from stable/prometheus/4.0.75/questions.yaml rename to stable/prometheus/4.0.76/questions.yaml diff --git a/stable/prometheus/4.0.75/templates/_helpers.tpl b/stable/prometheus/4.0.76/templates/_helpers.tpl similarity index 100% rename from stable/prometheus/4.0.75/templates/_helpers.tpl rename to stable/prometheus/4.0.76/templates/_helpers.tpl diff --git a/stable/prometheus/4.0.75/templates/alertmanager/_alertmanager.tpl b/stable/prometheus/4.0.76/templates/alertmanager/_alertmanager.tpl similarity index 100% rename from stable/prometheus/4.0.75/templates/alertmanager/_alertmanager.tpl rename to stable/prometheus/4.0.76/templates/alertmanager/_alertmanager.tpl diff --git a/stable/prometheus/4.0.75/templates/alertmanager/secrets.yaml b/stable/prometheus/4.0.76/templates/alertmanager/secrets.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/alertmanager/secrets.yaml rename to stable/prometheus/4.0.76/templates/alertmanager/secrets.yaml diff --git a/stable/prometheus/4.0.75/templates/alertmanager/serviceaccount.yaml b/stable/prometheus/4.0.76/templates/alertmanager/serviceaccount.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/alertmanager/serviceaccount.yaml rename to stable/prometheus/4.0.76/templates/alertmanager/serviceaccount.yaml diff --git a/stable/prometheus/4.0.75/templates/alertmanager/servicemonitor.yaml b/stable/prometheus/4.0.76/templates/alertmanager/servicemonitor.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/alertmanager/servicemonitor.yaml rename to stable/prometheus/4.0.76/templates/alertmanager/servicemonitor.yaml diff --git a/stable/prometheus/4.0.75/templates/common.yaml b/stable/prometheus/4.0.76/templates/common.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/common.yaml rename to stable/prometheus/4.0.76/templates/common.yaml diff --git a/stable/prometheus/4.0.75/templates/exporters/core-dns/service.yaml b/stable/prometheus/4.0.76/templates/exporters/core-dns/service.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/exporters/core-dns/service.yaml rename to stable/prometheus/4.0.76/templates/exporters/core-dns/service.yaml diff --git a/stable/prometheus/4.0.75/templates/exporters/core-dns/servicemonitor.yaml b/stable/prometheus/4.0.76/templates/exporters/core-dns/servicemonitor.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/exporters/core-dns/servicemonitor.yaml rename to stable/prometheus/4.0.76/templates/exporters/core-dns/servicemonitor.yaml diff --git a/stable/prometheus/4.0.75/templates/exporters/kube-apiserver/servicemonitor.yaml b/stable/prometheus/4.0.76/templates/exporters/kube-apiserver/servicemonitor.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/exporters/kube-apiserver/servicemonitor.yaml rename to stable/prometheus/4.0.76/templates/exporters/kube-apiserver/servicemonitor.yaml diff --git a/stable/prometheus/4.0.75/templates/exporters/kube-controller-manager/endpoints.yaml b/stable/prometheus/4.0.76/templates/exporters/kube-controller-manager/endpoints.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/exporters/kube-controller-manager/endpoints.yaml rename to stable/prometheus/4.0.76/templates/exporters/kube-controller-manager/endpoints.yaml diff --git a/stable/prometheus/4.0.75/templates/exporters/kube-controller-manager/service.yaml b/stable/prometheus/4.0.76/templates/exporters/kube-controller-manager/service.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/exporters/kube-controller-manager/service.yaml rename to stable/prometheus/4.0.76/templates/exporters/kube-controller-manager/service.yaml diff --git a/stable/prometheus/4.0.75/templates/exporters/kube-controller-manager/servicemonitor.yaml b/stable/prometheus/4.0.76/templates/exporters/kube-controller-manager/servicemonitor.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/exporters/kube-controller-manager/servicemonitor.yaml rename to stable/prometheus/4.0.76/templates/exporters/kube-controller-manager/servicemonitor.yaml diff --git a/stable/prometheus/4.0.75/templates/exporters/kube-scheduler/endpoints.yaml b/stable/prometheus/4.0.76/templates/exporters/kube-scheduler/endpoints.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/exporters/kube-scheduler/endpoints.yaml rename to stable/prometheus/4.0.76/templates/exporters/kube-scheduler/endpoints.yaml diff --git a/stable/prometheus/4.0.75/templates/exporters/kube-scheduler/service.yaml b/stable/prometheus/4.0.76/templates/exporters/kube-scheduler/service.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/exporters/kube-scheduler/service.yaml rename to stable/prometheus/4.0.76/templates/exporters/kube-scheduler/service.yaml diff --git a/stable/prometheus/4.0.75/templates/exporters/kube-scheduler/servicemonitor.yaml b/stable/prometheus/4.0.76/templates/exporters/kube-scheduler/servicemonitor.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/exporters/kube-scheduler/servicemonitor.yaml rename to stable/prometheus/4.0.76/templates/exporters/kube-scheduler/servicemonitor.yaml diff --git a/stable/prometheus/4.0.75/templates/exporters/kubelet/servicemonitor.yaml b/stable/prometheus/4.0.76/templates/exporters/kubelet/servicemonitor.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/exporters/kubelet/servicemonitor.yaml rename to stable/prometheus/4.0.76/templates/exporters/kubelet/servicemonitor.yaml diff --git a/stable/prometheus/4.0.75/templates/operator/_args.tpl b/stable/prometheus/4.0.76/templates/operator/_args.tpl similarity index 100% rename from stable/prometheus/4.0.75/templates/operator/_args.tpl rename to stable/prometheus/4.0.76/templates/operator/_args.tpl diff --git a/stable/prometheus/4.0.75/templates/operator/configmap.yaml b/stable/prometheus/4.0.76/templates/operator/configmap.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/operator/configmap.yaml rename to stable/prometheus/4.0.76/templates/operator/configmap.yaml diff --git a/stable/prometheus/4.0.75/templates/operator/servicemonitor.yaml b/stable/prometheus/4.0.76/templates/operator/servicemonitor.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/operator/servicemonitor.yaml rename to stable/prometheus/4.0.76/templates/operator/servicemonitor.yaml diff --git a/stable/prometheus/4.0.75/templates/prometheus/_additionalPrometheusRules.tpl b/stable/prometheus/4.0.76/templates/prometheus/_additionalPrometheusRules.tpl similarity index 100% rename from stable/prometheus/4.0.75/templates/prometheus/_additionalPrometheusRules.tpl rename to stable/prometheus/4.0.76/templates/prometheus/_additionalPrometheusRules.tpl diff --git a/stable/prometheus/4.0.75/templates/prometheus/_additionalScrapeJobs.tpl b/stable/prometheus/4.0.76/templates/prometheus/_additionalScrapeJobs.tpl similarity index 100% rename from stable/prometheus/4.0.75/templates/prometheus/_additionalScrapeJobs.tpl rename to stable/prometheus/4.0.76/templates/prometheus/_additionalScrapeJobs.tpl diff --git a/stable/prometheus/4.0.75/templates/prometheus/_prometheus.tpl b/stable/prometheus/4.0.76/templates/prometheus/_prometheus.tpl similarity index 100% rename from stable/prometheus/4.0.75/templates/prometheus/_prometheus.tpl rename to stable/prometheus/4.0.76/templates/prometheus/_prometheus.tpl diff --git a/stable/prometheus/4.0.75/templates/prometheus/_servicemonitor.tpl b/stable/prometheus/4.0.76/templates/prometheus/_servicemonitor.tpl similarity index 100% rename from stable/prometheus/4.0.75/templates/prometheus/_servicemonitor.tpl rename to stable/prometheus/4.0.76/templates/prometheus/_servicemonitor.tpl diff --git a/stable/prometheus/4.0.75/templates/prometheus/clusterrole.yaml b/stable/prometheus/4.0.76/templates/prometheus/clusterrole.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/prometheus/clusterrole.yaml rename to stable/prometheus/4.0.76/templates/prometheus/clusterrole.yaml diff --git a/stable/prometheus/4.0.75/templates/prometheus/clusterrolebinding.yaml b/stable/prometheus/4.0.76/templates/prometheus/clusterrolebinding.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/prometheus/clusterrolebinding.yaml rename to stable/prometheus/4.0.76/templates/prometheus/clusterrolebinding.yaml diff --git a/stable/prometheus/4.0.75/templates/prometheus/serviceaccount.yaml b/stable/prometheus/4.0.76/templates/prometheus/serviceaccount.yaml similarity index 100% rename from stable/prometheus/4.0.75/templates/prometheus/serviceaccount.yaml rename to stable/prometheus/4.0.76/templates/prometheus/serviceaccount.yaml diff --git a/stable/prometheus/4.0.76/values.yaml b/stable/prometheus/4.0.76/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/rsshub/3.0.85/CHANGELOG.md b/stable/rsshub/3.0.86/CHANGELOG.md similarity index 92% rename from stable/rsshub/3.0.85/CHANGELOG.md rename to stable/rsshub/3.0.86/CHANGELOG.md index 90c21b0a00b..3fc9254c273 100644 --- a/stable/rsshub/3.0.85/CHANGELOG.md +++ b/stable/rsshub/3.0.86/CHANGELOG.md @@ -2,6 +2,15 @@ +## [rsshub-3.0.86](https://github.com/truecharts/charts/compare/rsshub-3.0.85...rsshub-3.0.86) (2022-09-02) + +### Chore + +- update docker general non-major ([#3660](https://github.com/truecharts/charts/issues/3660)) + + + + ## [rsshub-3.0.85](https://github.com/truecharts/charts/compare/rsshub-3.0.84...rsshub-3.0.85) (2022-09-01) ### Chore @@ -88,12 +97,3 @@ ## [rsshub-3.0.75](https://github.com/truecharts/charts/compare/rsshub-3.0.74...rsshub-3.0.75) (2022-08-27) - -### Chore - -- update docker general non-major ([#3587](https://github.com/truecharts/charts/issues/3587)) - - - - -## [rsshub-3.0.74](https://github.com/truecharts/charts/compare/rsshub-3.0.73...rsshub-3.0.74) (2022-08-26) diff --git a/stable/rsshub/3.0.85/Chart.lock b/stable/rsshub/3.0.86/Chart.lock similarity index 85% rename from stable/rsshub/3.0.85/Chart.lock rename to stable/rsshub/3.0.86/Chart.lock index 4204a2f0e8a..2da6c604c77 100644 --- a/stable/rsshub/3.0.85/Chart.lock +++ b/stable/rsshub/3.0.86/Chart.lock @@ -6,4 +6,4 @@ dependencies: repository: https://charts.truecharts.org version: 3.0.67 digest: sha256:f13ece297c4b9a2a5aaf39771f6410403b23e945ebbb82b0c9c35ac3cc69c4f0 -generated: "2022-09-01T20:51:22.755419884Z" +generated: "2022-09-02T09:49:40.397251369Z" diff --git a/stable/rsshub/3.0.85/Chart.yaml b/stable/rsshub/3.0.86/Chart.yaml similarity index 98% rename from stable/rsshub/3.0.85/Chart.yaml rename to stable/rsshub/3.0.86/Chart.yaml index 2e35ffe02dc..17a0a89ff6e 100644 --- a/stable/rsshub/3.0.85/Chart.yaml +++ b/stable/rsshub/3.0.86/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 kubeVersion: ">=1.16.0-0" name: rsshub -version: 3.0.85 +version: 3.0.86 appVersion: "latest" description: RSSHub can generate RSS feeds from pretty much everything type: application diff --git a/stable/rsshub/3.0.85/README.md b/stable/rsshub/3.0.86/README.md similarity index 98% rename from stable/rsshub/3.0.85/README.md rename to stable/rsshub/3.0.86/README.md index ed572f4f1b3..182d7e9f82b 100644 --- a/stable/rsshub/3.0.85/README.md +++ b/stable/rsshub/3.0.86/README.md @@ -1,6 +1,6 @@ # rsshub -![Version: 3.0.85](https://img.shields.io/badge/Version-3.0.85-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 3.0.86](https://img.shields.io/badge/Version-3.0.86-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) RSSHub can generate RSS feeds from pretty much everything diff --git a/stable/rsshub/3.0.85/app-readme.md b/stable/rsshub/3.0.86/app-readme.md similarity index 100% rename from stable/rsshub/3.0.85/app-readme.md rename to stable/rsshub/3.0.86/app-readme.md diff --git a/stable/rsshub/3.0.86/charts/common-10.5.6.tgz b/stable/rsshub/3.0.86/charts/common-10.5.6.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9e3f5a957f3fa92bc5b2d7cb2c16b0ab954235cf GIT binary patch literal 48176 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%0D#1AX%ulOWWbBnc9F790F-J%0)!zJSZ8b00| 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 literal 0 HcmV?d00001 diff --git a/stable/rsshub/3.0.86/charts/redis-3.0.67.tgz b/stable/rsshub/3.0.86/charts/redis-3.0.67.tgz new file mode 100644 index 0000000000000000000000000000000000000000..41113c3970f77e1401b1fb4a58c630ca4a6c6f96 GIT binary patch literal 57080 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