From dabab4577d687bb2ce2a11bf81bfacce3c3519c5 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Sat, 3 Jul 2021 10:50:39 +0000 Subject: [PATCH] Commit new App releases for TrueCharts Signed-off-by: TrueCharts-Bot --- deprecated/nzbhydra/6.3.0/CONFIG.md | 9 + deprecated/nzbhydra/6.3.0/Chart.lock | 6 + deprecated/nzbhydra/6.3.0/Chart.yaml | 20 + deprecated/nzbhydra/6.3.0/README.md | 54 + deprecated/nzbhydra/6.3.0/app-readme.md | 3 + .../nzbhydra/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes deprecated/nzbhydra/6.3.0/ix_values.yaml | 51 + deprecated/nzbhydra/6.3.0/questions.yaml | 668 +++++++++ .../nzbhydra/6.3.0/templates/common.yaml | 1 + deprecated/nzbhydra/6.3.0/test_values.yaml | 62 + deprecated/nzbhydra/6.3.0/values.yaml | 0 develop/nextcloud/1.0.16/Chart.lock | 2 +- develop/prototype-gui/1.4.0/CONFIG.md | 9 + develop/prototype-gui/1.4.0/Chart.lock | 6 + develop/prototype-gui/1.4.0/Chart.yaml | 22 + develop/prototype-gui/1.4.0/README.md | 52 + develop/prototype-gui/1.4.0/app-readme.md | 3 + .../1.4.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes develop/prototype-gui/1.4.0/ix_values.yaml | 25 + develop/prototype-gui/1.4.0/questions.yaml | 689 ++++++++++ .../prototype-gui/1.4.0/templates/common.yaml | 1 + develop/prototype-gui/1.4.0/test_values.yaml | 39 + develop/prototype-gui/1.4.0/values.yaml | 0 incubator/airsonic/1.3.0/CONFIG.md | 9 + incubator/airsonic/1.3.0/Chart.lock | 6 + incubator/airsonic/1.3.0/Chart.yaml | 22 + incubator/airsonic/1.3.0/README.md | 56 + incubator/airsonic/1.3.0/app-readme.md | 1 + .../airsonic/1.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/airsonic/1.3.0/ix_values.yaml | 19 + incubator/airsonic/1.3.0/questions.yaml | 642 +++++++++ .../airsonic/1.3.0/templates/common.yaml | 1 + incubator/airsonic/1.3.0/test_values.yaml | 60 + incubator/airsonic/1.3.0/values.yaml | 0 incubator/appdaemon/3.3.0/CONFIG.md | 9 + incubator/appdaemon/3.3.0/Chart.lock | 6 + incubator/appdaemon/3.3.0/Chart.yaml | 29 + incubator/appdaemon/3.3.0/README.md | 54 + incubator/appdaemon/3.3.0/app-readme.md | 3 + .../appdaemon/3.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/appdaemon/3.3.0/ix_values.yaml | 16 + incubator/appdaemon/3.3.0/questions.yaml | 602 +++++++++ .../appdaemon/3.3.0/templates/common.yaml | 1 + incubator/appdaemon/3.3.0/test_values.yaml | 41 + incubator/appdaemon/3.3.0/values.yaml | 0 incubator/bazarr/6.3.0/CONFIG.md | 9 + incubator/bazarr/6.3.0/Chart.lock | 6 + incubator/bazarr/6.3.0/Chart.yaml | 32 + incubator/bazarr/6.3.0/README.md | 55 + incubator/bazarr/6.3.0/app-readme.md | 3 + .../bazarr/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/bazarr/6.3.0/ix_values.yaml | 15 + incubator/bazarr/6.3.0/questions.yaml | 668 +++++++++ incubator/bazarr/6.3.0/templates/common.yaml | 1 + incubator/bazarr/6.3.0/test_values.yaml | 26 + incubator/bazarr/6.3.0/values.yaml | 0 incubator/booksonic-air/1.1.0/CONFIG.md | 9 + incubator/booksonic-air/1.1.0/Chart.lock | 6 + incubator/booksonic-air/1.1.0/Chart.yaml | 23 + incubator/booksonic-air/1.1.0/README.md | 55 + incubator/booksonic-air/1.1.0/app-readme.md | 1 + .../1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/booksonic-air/1.1.0/ix_values.yaml | 15 + incubator/booksonic-air/1.1.0/questions.yaml | 640 +++++++++ .../booksonic-air/1.1.0/templates/common.yaml | 1 + .../booksonic-air/1.1.0/test_values.yaml | 47 + incubator/booksonic-air/1.1.0/values.yaml | 0 incubator/calibre-web/6.3.0/CONFIG.md | 9 + incubator/calibre-web/6.3.0/Chart.lock | 6 + incubator/calibre-web/6.3.0/Chart.yaml | 26 + incubator/calibre-web/6.3.0/README.md | 55 + incubator/calibre-web/6.3.0/app-readme.md | 3 + .../calibre-web/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/calibre-web/6.3.0/ix_values.yaml | 16 + incubator/calibre-web/6.3.0/questions.yaml | 628 +++++++++ .../calibre-web/6.3.0/templates/common.yaml | 1 + incubator/calibre-web/6.3.0/test_values.yaml | 28 + incubator/calibre-web/6.3.0/values.yaml | 0 incubator/calibre/1.1.0/CONFIG.md | 9 + incubator/calibre/1.1.0/Chart.lock | 6 + incubator/calibre/1.1.0/Chart.yaml | 21 + incubator/calibre/1.1.0/README.md | 55 + incubator/calibre/1.1.0/app-readme.md | 1 + .../calibre/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/calibre/1.1.0/ix_values.yaml | 15 + incubator/calibre/1.1.0/questions.yaml | 756 +++++++++++ incubator/calibre/1.1.0/templates/common.yaml | 3 + incubator/calibre/1.1.0/test_values.yaml | 58 + incubator/calibre/1.1.0/values.yaml | 0 incubator/deconz/1.1.0/CONFIG.md | 9 + incubator/deconz/1.1.0/Chart.lock | 6 + incubator/deconz/1.1.0/Chart.yaml | 25 + incubator/deconz/1.1.0/README.md | 55 + incubator/deconz/1.1.0/app-readme.md | 1 + .../deconz/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/deconz/1.1.0/ix_values.yaml | 15 + incubator/deconz/1.1.0/questions.yaml | 861 ++++++++++++ incubator/deconz/1.1.0/templates/common.yaml | 1 + incubator/deconz/1.1.0/test_values.yaml | 72 + incubator/deconz/1.1.0/values.yaml | 0 incubator/deluge/6.3.0/CONFIG.md | 9 + incubator/deluge/6.3.0/Chart.lock | 6 + incubator/deluge/6.3.0/Chart.yaml | 24 + incubator/deluge/6.3.0/README.md | 54 + incubator/deluge/6.3.0/app-readme.md | 3 + .../deluge/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/deluge/6.3.0/ix_values.yaml | 16 + incubator/deluge/6.3.0/questions.yaml | 745 ++++++++++ incubator/deluge/6.3.0/templates/common.yaml | 1 + incubator/deluge/6.3.0/test_values.yaml | 33 + incubator/deluge/6.3.0/values.yaml | 0 incubator/dizquetv/1.1.0/CONFIG.md | 9 + incubator/dizquetv/1.1.0/Chart.lock | 6 + incubator/dizquetv/1.1.0/Chart.yaml | 22 + incubator/dizquetv/1.1.0/README.md | 55 + incubator/dizquetv/1.1.0/app-readme.md | 1 + .../dizquetv/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/dizquetv/1.1.0/ix_values.yaml | 15 + incubator/dizquetv/1.1.0/questions.yaml | 640 +++++++++ .../dizquetv/1.1.0/templates/common.yaml | 1 + incubator/dizquetv/1.1.0/test_values.yaml | 40 + incubator/dizquetv/1.1.0/values.yaml | 0 incubator/duplicati/1.1.0/CONFIG.md | 9 + incubator/duplicati/1.1.0/Chart.lock | 6 + incubator/duplicati/1.1.0/Chart.yaml | 21 + incubator/duplicati/1.1.0/README.md | 55 + incubator/duplicati/1.1.0/app-readme.md | 1 + .../duplicati/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/duplicati/1.1.0/ix_values.yaml | 15 + incubator/duplicati/1.1.0/questions.yaml | 640 +++++++++ .../duplicati/1.1.0/templates/common.yaml | 1 + incubator/duplicati/1.1.0/test_values.yaml | 43 + incubator/duplicati/1.1.0/values.yaml | 0 incubator/fireflyiii/4.4.0/CONFIG.md | 9 + incubator/fireflyiii/4.4.0/Chart.lock | 9 + incubator/fireflyiii/4.4.0/Chart.yaml | 30 + incubator/fireflyiii/4.4.0/README.md | 55 + incubator/fireflyiii/4.4.0/app-readme.md | 3 + .../fireflyiii/4.4.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes .../4.4.0/charts/postgresql-10.5.1.tgz | Bin 0 -> 49272 bytes incubator/fireflyiii/4.4.0/ix_values.yaml | 51 + incubator/fireflyiii/4.4.0/questions.yaml | 865 ++++++++++++ .../fireflyiii/4.4.0/templates/common.yaml | 5 + .../fireflyiii/4.4.0/templates/secrets.yaml | 19 + incubator/fireflyiii/4.4.0/test_values.yaml | 82 ++ incubator/fireflyiii/4.4.0/values.yaml | 0 incubator/flaresolverr/1.1.0/CONFIG.md | 9 + incubator/flaresolverr/1.1.0/Chart.lock | 6 + incubator/flaresolverr/1.1.0/Chart.yaml | 22 + incubator/flaresolverr/1.1.0/README.md | 55 + incubator/flaresolverr/1.1.0/app-readme.md | 1 + .../1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/flaresolverr/1.1.0/ix_values.yaml | 15 + incubator/flaresolverr/1.1.0/questions.yaml | 667 +++++++++ .../flaresolverr/1.1.0/templates/common.yaml | 1 + incubator/flaresolverr/1.1.0/test_values.yaml | 28 + incubator/flaresolverr/1.1.0/values.yaml | 0 incubator/flood/1.1.0/CONFIG.md | 9 + incubator/flood/1.1.0/Chart.lock | 6 + incubator/flood/1.1.0/Chart.yaml | 24 + incubator/flood/1.1.0/README.md | 55 + incubator/flood/1.1.0/app-readme.md | 1 + incubator/flood/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/flood/1.1.0/ci/ct-values.yaml | 5 + incubator/flood/1.1.0/ix_values.yaml | 15 + incubator/flood/1.1.0/questions.yaml | 674 ++++++++++ incubator/flood/1.1.0/templates/common.yaml | 1 + incubator/flood/1.1.0/test_values.yaml | 36 + incubator/flood/1.1.0/values.yaml | 0 incubator/focalboard/1.1.0/CONFIG.md | 9 + incubator/focalboard/1.1.0/Chart.lock | 6 + incubator/focalboard/1.1.0/Chart.yaml | 25 + incubator/focalboard/1.1.0/README.md | 56 + incubator/focalboard/1.1.0/app-readme.md | 1 + .../focalboard/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/focalboard/1.1.0/ix_values.yaml | 15 + incubator/focalboard/1.1.0/questions.yaml | 667 +++++++++ .../focalboard/1.1.0/templates/common.yaml | 1 + incubator/focalboard/1.1.0/test_values.yaml | 36 + incubator/focalboard/1.1.0/values.yaml | 0 incubator/freshrss/6.3.0/CONFIG.md | 9 + incubator/freshrss/6.3.0/Chart.lock | 6 + incubator/freshrss/6.3.0/Chart.yaml | 24 + incubator/freshrss/6.3.0/README.md | 55 + incubator/freshrss/6.3.0/app-readme.md | 3 + .../freshrss/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/freshrss/6.3.0/ix_values.yaml | 16 + incubator/freshrss/6.3.0/questions.yaml | 628 +++++++++ .../freshrss/6.3.0/templates/common.yaml | 1 + incubator/freshrss/6.3.0/test_values.yaml | 26 + incubator/freshrss/6.3.0/values.yaml | 0 incubator/gaps/6.3.0/CONFIG.md | 9 + incubator/gaps/6.3.0/Chart.lock | 6 + incubator/gaps/6.3.0/Chart.yaml | 25 + incubator/gaps/6.3.0/README.md | 54 + incubator/gaps/6.3.0/app-readme.md | 3 + incubator/gaps/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/gaps/6.3.0/ix_values.yaml | 15 + incubator/gaps/6.3.0/questions.yaml | 667 +++++++++ incubator/gaps/6.3.0/templates/common.yaml | 1 + incubator/gaps/6.3.0/test_values.yaml | 24 + incubator/gaps/6.3.0/values.yaml | 0 incubator/gonic/1.1.0/CONFIG.md | 9 + incubator/gonic/1.1.0/Chart.lock | 6 + incubator/gonic/1.1.0/Chart.yaml | 22 + incubator/gonic/1.1.0/README.md | 55 + incubator/gonic/1.1.0/app-readme.md | 1 + incubator/gonic/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/gonic/1.1.0/ci/ct-values.yaml | 21 + incubator/gonic/1.1.0/ix_values.yaml | 15 + incubator/gonic/1.1.0/questions.yaml | 667 +++++++++ incubator/gonic/1.1.0/templates/common.yaml | 1 + incubator/gonic/1.1.0/test_values.yaml | 44 + incubator/gonic/1.1.0/values.yaml | 0 incubator/grocy/6.3.0/CONFIG.md | 9 + incubator/grocy/6.3.0/Chart.lock | 6 + incubator/grocy/6.3.0/Chart.yaml | 23 + incubator/grocy/6.3.0/README.md | 54 + incubator/grocy/6.3.0/app-readme.md | 3 + incubator/grocy/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/grocy/6.3.0/ix_values.yaml | 16 + incubator/grocy/6.3.0/questions.yaml | 627 +++++++++ incubator/grocy/6.3.0/templates/common.yaml | 1 + incubator/grocy/6.3.0/test_values.yaml | 26 + incubator/grocy/6.3.0/values.yaml | 0 incubator/haste-server/1.3.0/CONFIG.md | 9 + incubator/haste-server/1.3.0/Chart.lock | 6 + incubator/haste-server/1.3.0/Chart.yaml | 24 + incubator/haste-server/1.3.0/README.md | 55 + incubator/haste-server/1.3.0/app-readme.md | 1 + .../1.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/haste-server/1.3.0/ix_values.yaml | 19 + incubator/haste-server/1.3.0/questions.yaml | 673 ++++++++++ .../haste-server/1.3.0/templates/common.yaml | 1 + incubator/haste-server/1.3.0/test_values.yaml | 50 + incubator/haste-server/1.3.0/values.yaml | 0 incubator/healthchecks/1.1.0/CONFIG.md | 9 + incubator/healthchecks/1.1.0/Chart.lock | 6 + incubator/healthchecks/1.1.0/Chart.yaml | 25 + incubator/healthchecks/1.1.0/README.md | 55 + incubator/healthchecks/1.1.0/app-readme.md | 1 + .../1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/healthchecks/1.1.0/ix_values.yaml | 15 + incubator/healthchecks/1.1.0/questions.yaml | 701 ++++++++++ .../healthchecks/1.1.0/templates/common.yaml | 1 + incubator/healthchecks/1.1.0/test_values.yaml | 41 + incubator/healthchecks/1.1.0/values.yaml | 0 incubator/heimdall/6.3.0/CONFIG.md | 9 + incubator/heimdall/6.3.0/Chart.lock | 6 + incubator/heimdall/6.3.0/Chart.yaml | 21 + incubator/heimdall/6.3.0/README.md | 52 + incubator/heimdall/6.3.0/app-readme.md | 3 + .../heimdall/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/heimdall/6.3.0/ix_values.yaml | 16 + incubator/heimdall/6.3.0/questions.yaml | 628 +++++++++ .../heimdall/6.3.0/templates/common.yaml | 1 + incubator/heimdall/6.3.0/test_values.yaml | 30 + incubator/heimdall/6.3.0/values.yaml | 0 incubator/hyperion-ng/1.1.0/CONFIG.md | 9 + incubator/hyperion-ng/1.1.0/Chart.lock | 6 + incubator/hyperion-ng/1.1.0/Chart.yaml | 22 + incubator/hyperion-ng/1.1.0/README.md | 55 + incubator/hyperion-ng/1.1.0/app-readme.md | 1 + .../hyperion-ng/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/hyperion-ng/1.1.0/ix_values.yaml | 15 + incubator/hyperion-ng/1.1.0/questions.yaml | 973 ++++++++++++++ .../hyperion-ng/1.1.0/templates/common.yaml | 1 + incubator/hyperion-ng/1.1.0/test_values.yaml | 53 + incubator/hyperion-ng/1.1.0/values.yaml | 0 incubator/komga/1.1.0/CONFIG.md | 9 + incubator/komga/1.1.0/Chart.lock | 6 + incubator/komga/1.1.0/Chart.yaml | 24 + incubator/komga/1.1.0/README.md | 55 + incubator/komga/1.1.0/app-readme.md | 1 + incubator/komga/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/komga/1.1.0/ix_values.yaml | 15 + incubator/komga/1.1.0/questions.yaml | 777 +++++++++++ incubator/komga/1.1.0/templates/common.yaml | 1 + incubator/komga/1.1.0/test_values.yaml | 37 + incubator/komga/1.1.0/values.yaml | 0 incubator/lazylibrarian/6.3.0/CONFIG.md | 9 + incubator/lazylibrarian/6.3.0/Chart.lock | 6 + incubator/lazylibrarian/6.3.0/Chart.yaml | 27 + incubator/lazylibrarian/6.3.0/README.md | 55 + incubator/lazylibrarian/6.3.0/app-readme.md | 3 + .../6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/lazylibrarian/6.3.0/ix_values.yaml | 16 + incubator/lazylibrarian/6.3.0/questions.yaml | 628 +++++++++ .../lazylibrarian/6.3.0/templates/common.yaml | 1 + .../lazylibrarian/6.3.0/test_values.yaml | 26 + incubator/lazylibrarian/6.3.0/values.yaml | 0 incubator/librespeed/1.1.0/CONFIG.md | 9 + incubator/librespeed/1.1.0/Chart.lock | 6 + incubator/librespeed/1.1.0/Chart.yaml | 23 + incubator/librespeed/1.1.0/README.md | 56 + incubator/librespeed/1.1.0/app-readme.md | 1 + .../librespeed/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/librespeed/1.1.0/ci/ct-values.yaml | 2 + incubator/librespeed/1.1.0/ix_values.yaml | 15 + incubator/librespeed/1.1.0/questions.yaml | 679 ++++++++++ .../librespeed/1.1.0/templates/common.yaml | 1 + incubator/librespeed/1.1.0/test_values.yaml | 46 + incubator/librespeed/1.1.0/values.yaml | 0 incubator/lychee/6.3.0/CONFIG.md | 9 + incubator/lychee/6.3.0/Chart.lock | 6 + incubator/lychee/6.3.0/Chart.yaml | 26 + incubator/lychee/6.3.0/README.md | 55 + incubator/lychee/6.3.0/app-readme.md | 3 + .../lychee/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/lychee/6.3.0/ix_values.yaml | 16 + incubator/lychee/6.3.0/questions.yaml | 628 +++++++++ incubator/lychee/6.3.0/templates/common.yaml | 1 + incubator/lychee/6.3.0/test_values.yaml | 26 + incubator/lychee/6.3.0/values.yaml | 0 incubator/mealie/1.3.0/CONFIG.md | 9 + incubator/mealie/1.3.0/Chart.lock | 6 + incubator/mealie/1.3.0/Chart.yaml | 22 + incubator/mealie/1.3.0/README.md | 54 + incubator/mealie/1.3.0/app-readme.md | 1 + .../mealie/1.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/mealie/1.3.0/ix_values.yaml | 19 + incubator/mealie/1.3.0/questions.yaml | 635 +++++++++ incubator/mealie/1.3.0/templates/common.yaml | 1 + incubator/mealie/1.3.0/test_values.yaml | 43 + incubator/mealie/1.3.0/values.yaml | 0 incubator/mosquitto/1.3.0/CONFIG.md | 9 + incubator/mosquitto/1.3.0/Chart.lock | 6 + incubator/mosquitto/1.3.0/Chart.yaml | 24 + incubator/mosquitto/1.3.0/README.md | 54 + incubator/mosquitto/1.3.0/app-readme.md | 3 + .../mosquitto/1.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/mosquitto/1.3.0/ix_values.yaml | 18 + incubator/mosquitto/1.3.0/questions.yaml | 789 +++++++++++ .../mosquitto/1.3.0/templates/common.yaml | 17 + .../mosquitto/1.3.0/templates/configmap.yaml | 22 + incubator/mosquitto/1.3.0/test_values.yaml | 39 + incubator/mosquitto/1.3.0/values.yaml | 0 incubator/mylar/1.1.0/CONFIG.md | 9 + incubator/mylar/1.1.0/Chart.lock | 6 + incubator/mylar/1.1.0/Chart.yaml | 22 + incubator/mylar/1.1.0/README.md | 56 + incubator/mylar/1.1.0/app-readme.md | 1 + incubator/mylar/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/mylar/1.1.0/ix_values.yaml | 15 + incubator/mylar/1.1.0/questions.yaml | 679 ++++++++++ incubator/mylar/1.1.0/templates/common.yaml | 1 + incubator/mylar/1.1.0/test_values.yaml | 45 + incubator/mylar/1.1.0/values.yaml | 0 incubator/navidrome/6.3.0/CONFIG.md | 9 + incubator/navidrome/6.3.0/Chart.lock | 6 + incubator/navidrome/6.3.0/Chart.yaml | 25 + incubator/navidrome/6.3.0/README.md | 55 + incubator/navidrome/6.3.0/app-readme.md | 3 + .../navidrome/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/navidrome/6.3.0/ix_values.yaml | 15 + incubator/navidrome/6.3.0/questions.yaml | 668 +++++++++ .../navidrome/6.3.0/templates/common.yaml | 1 + incubator/navidrome/6.3.0/test_values.yaml | 28 + incubator/navidrome/6.3.0/values.yaml | 0 incubator/node-red/6.3.0/CONFIG.md | 9 + incubator/node-red/6.3.0/Chart.lock | 6 + incubator/node-red/6.3.0/Chart.yaml | 23 + incubator/node-red/6.3.0/README.md | 54 + incubator/node-red/6.3.0/app-readme.md | 3 + .../node-red/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/node-red/6.3.0/ix_values.yaml | 15 + incubator/node-red/6.3.0/questions.yaml | 668 +++++++++ .../node-red/6.3.0/templates/common.yaml | 1 + incubator/node-red/6.3.0/test_values.yaml | 30 + incubator/node-red/6.3.0/values.yaml | 0 incubator/nullserv/1.1.0/CONFIG.md | 9 + incubator/nullserv/1.1.0/Chart.lock | 6 + incubator/nullserv/1.1.0/Chart.yaml | 20 + incubator/nullserv/1.1.0/README.md | 54 + incubator/nullserv/1.1.0/app-readme.md | 1 + .../nullserv/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/nullserv/1.1.0/ix_values.yaml | 26 + incubator/nullserv/1.1.0/questions.yaml | 771 +++++++++++ .../nullserv/1.1.0/templates/common.yaml | 1 + incubator/nullserv/1.1.0/test_values.yaml | 49 + incubator/nullserv/1.1.0/values.yaml | 0 incubator/nzbget/6.3.0/CONFIG.md | 9 + incubator/nzbget/6.3.0/Chart.lock | 6 + incubator/nzbget/6.3.0/Chart.yaml | 23 + incubator/nzbget/6.3.0/README.md | 54 + incubator/nzbget/6.3.0/app-readme.md | 3 + .../nzbget/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/nzbget/6.3.0/ix_values.yaml | 25 + incubator/nzbget/6.3.0/questions.yaml | 668 +++++++++ incubator/nzbget/6.3.0/templates/common.yaml | 1 + incubator/nzbget/6.3.0/test_values.yaml | 31 + incubator/nzbget/6.3.0/values.yaml | 0 incubator/octoprint/1.1.0/CONFIG.md | 9 + incubator/octoprint/1.1.0/Chart.lock | 6 + incubator/octoprint/1.1.0/Chart.yaml | 23 + incubator/octoprint/1.1.0/README.md | 55 + incubator/octoprint/1.1.0/app-readme.md | 1 + .../octoprint/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/octoprint/1.1.0/ix_values.yaml | 15 + incubator/octoprint/1.1.0/questions.yaml | 725 ++++++++++ .../octoprint/1.1.0/templates/common.yaml | 1 + incubator/octoprint/1.1.0/test_values.yaml | 53 + incubator/octoprint/1.1.0/values.yaml | 0 incubator/omada-controller/1.1.0/CONFIG.md | 9 + incubator/omada-controller/1.1.0/Chart.lock | 6 + incubator/omada-controller/1.1.0/Chart.yaml | 22 + incubator/omada-controller/1.1.0/README.md | 55 + .../omada-controller/1.1.0/app-readme.md | 1 + .../1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes .../omada-controller/1.1.0/ix_values.yaml | 15 + .../omada-controller/1.1.0/questions.yaml | 667 +++++++++ .../1.1.0/templates/common.yaml | 1 + .../omada-controller/1.1.0/test_values.yaml | 35 + incubator/omada-controller/1.1.0/values.yaml | 0 incubator/organizr/6.3.0/CONFIG.md | 9 + incubator/organizr/6.3.0/Chart.lock | 6 + incubator/organizr/6.3.0/Chart.yaml | 23 + incubator/organizr/6.3.0/README.md | 55 + incubator/organizr/6.3.0/app-readme.md | 3 + .../organizr/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/organizr/6.3.0/ix_values.yaml | 16 + incubator/organizr/6.3.0/questions.yaml | 738 ++++++++++ .../organizr/6.3.0/templates/common.yaml | 1 + incubator/organizr/6.3.0/test_values.yaml | 26 + incubator/organizr/6.3.0/values.yaml | 0 incubator/overseerr/1.1.0/CONFIG.md | 9 + incubator/overseerr/1.1.0/Chart.lock | 6 + incubator/overseerr/1.1.0/Chart.yaml | 26 + incubator/overseerr/1.1.0/README.md | 55 + incubator/overseerr/1.1.0/app-readme.md | 1 + .../overseerr/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/overseerr/1.1.0/ix_values.yaml | 15 + incubator/overseerr/1.1.0/questions.yaml | 673 ++++++++++ .../overseerr/1.1.0/templates/common.yaml | 1 + incubator/overseerr/1.1.0/test_values.yaml | 38 + incubator/overseerr/1.1.0/values.yaml | 0 incubator/owncast/1.1.0/CONFIG.md | 9 + incubator/owncast/1.1.0/Chart.lock | 6 + incubator/owncast/1.1.0/Chart.yaml | 25 + incubator/owncast/1.1.0/README.md | 55 + incubator/owncast/1.1.0/app-readme.md | 1 + .../owncast/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/owncast/1.1.0/ix_values.yaml | 15 + incubator/owncast/1.1.0/questions.yaml | 765 +++++++++++ incubator/owncast/1.1.0/templates/common.yaml | 1 + incubator/owncast/1.1.0/test_values.yaml | 41 + incubator/owncast/1.1.0/values.yaml | 0 incubator/owncloud-ocis/1.1.0/CONFIG.md | 9 + incubator/owncloud-ocis/1.1.0/Chart.lock | 6 + incubator/owncloud-ocis/1.1.0/Chart.yaml | 28 + incubator/owncloud-ocis/1.1.0/README.md | 55 + incubator/owncloud-ocis/1.1.0/app-readme.md | 1 + .../1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/owncloud-ocis/1.1.0/ix_values.yaml | 15 + incubator/owncloud-ocis/1.1.0/questions.yaml | 667 +++++++++ .../owncloud-ocis/1.1.0/templates/common.yaml | 1 + .../owncloud-ocis/1.1.0/test_values.yaml | 39 + incubator/owncloud-ocis/1.1.0/values.yaml | 0 incubator/photoprism/1.1.0/CONFIG.md | 9 + incubator/photoprism/1.1.0/Chart.lock | 6 + incubator/photoprism/1.1.0/Chart.yaml | 25 + incubator/photoprism/1.1.0/README.md | 55 + incubator/photoprism/1.1.0/app-readme.md | 1 + .../photoprism/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/photoprism/1.1.0/ix_values.yaml | 15 + incubator/photoprism/1.1.0/questions.yaml | 704 ++++++++++ .../photoprism/1.1.0/templates/common.yaml | 1 + incubator/photoprism/1.1.0/test_values.yaml | 54 + incubator/photoprism/1.1.0/values.yaml | 0 incubator/piaware/1.1.0/CONFIG.md | 9 + incubator/piaware/1.1.0/Chart.lock | 6 + incubator/piaware/1.1.0/Chart.yaml | 22 + incubator/piaware/1.1.0/README.md | 54 + incubator/piaware/1.1.0/app-readme.md | 1 + .../piaware/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/piaware/1.1.0/ci/ct-values.yaml | 3 + incubator/piaware/1.1.0/ix_values.yaml | 15 + incubator/piaware/1.1.0/questions.yaml | 707 ++++++++++ incubator/piaware/1.1.0/templates/common.yaml | 1 + incubator/piaware/1.1.0/test_values.yaml | 55 + incubator/piaware/1.1.0/values.yaml | 0 incubator/podgrab/4.3.0/CONFIG.md | 9 + incubator/podgrab/4.3.0/Chart.lock | 6 + incubator/podgrab/4.3.0/Chart.yaml | 27 + incubator/podgrab/4.3.0/README.md | 55 + incubator/podgrab/4.3.0/app-readme.md | 3 + .../podgrab/4.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/podgrab/4.3.0/ix_values.yaml | 26 + incubator/podgrab/4.3.0/questions.yaml | 676 ++++++++++ incubator/podgrab/4.3.0/templates/common.yaml | 1 + incubator/podgrab/4.3.0/test_values.yaml | 57 + incubator/podgrab/4.3.0/values.yaml | 0 incubator/pretend-youre-xyzzy/1.1.0/CONFIG.md | 9 + .../pretend-youre-xyzzy/1.1.0/Chart.lock | 6 + .../pretend-youre-xyzzy/1.1.0/Chart.yaml | 24 + incubator/pretend-youre-xyzzy/1.1.0/README.md | 55 + .../pretend-youre-xyzzy/1.1.0/app-readme.md | 1 + .../1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes .../pretend-youre-xyzzy/1.1.0/ix_values.yaml | 15 + .../pretend-youre-xyzzy/1.1.0/questions.yaml | 551 ++++++++ .../1.1.0/templates/common.yaml | 1 + .../1.1.0/test_values.yaml | 22 + .../pretend-youre-xyzzy/1.1.0/values.yaml | 0 incubator/protonmail-bridge/1.1.0/CONFIG.md | 9 + incubator/protonmail-bridge/1.1.0/Chart.lock | 6 + incubator/protonmail-bridge/1.1.0/Chart.yaml | 22 + incubator/protonmail-bridge/1.1.0/README.md | 55 + .../protonmail-bridge/1.1.0/app-readme.md | 1 + .../1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes .../protonmail-bridge/1.1.0/ix_values.yaml | 21 + .../protonmail-bridge/1.1.0/questions.yaml | 680 ++++++++++ .../1.1.0/templates/common.yaml | 1 + .../protonmail-bridge/1.1.0/test_values.yaml | 40 + incubator/protonmail-bridge/1.1.0/values.yaml | 0 incubator/prowlarr/1.3.0/CONFIG.md | 9 + incubator/prowlarr/1.3.0/Chart.lock | 6 + incubator/prowlarr/1.3.0/Chart.yaml | 24 + incubator/prowlarr/1.3.0/README.md | 55 + incubator/prowlarr/1.3.0/app-readme.md | 1 + .../prowlarr/1.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/prowlarr/1.3.0/ix_values.yaml | 19 + incubator/prowlarr/1.3.0/questions.yaml | 675 ++++++++++ .../prowlarr/1.3.0/templates/common.yaml | 1 + incubator/prowlarr/1.3.0/test_values.yaml | 45 + incubator/prowlarr/1.3.0/values.yaml | 0 incubator/pyload/1.1.0/CONFIG.md | 9 + incubator/pyload/1.1.0/Chart.lock | 6 + incubator/pyload/1.1.0/Chart.yaml | 24 + incubator/pyload/1.1.0/README.md | 55 + incubator/pyload/1.1.0/app-readme.md | 1 + .../pyload/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/pyload/1.1.0/ix_values.yaml | 15 + incubator/pyload/1.1.0/questions.yaml | 679 ++++++++++ incubator/pyload/1.1.0/templates/common.yaml | 1 + incubator/pyload/1.1.0/test_values.yaml | 41 + incubator/pyload/1.1.0/values.yaml | 0 incubator/qbittorrent/6.3.0/CONFIG.md | 9 + incubator/qbittorrent/6.3.0/Chart.lock | 6 + incubator/qbittorrent/6.3.0/Chart.yaml | 22 + incubator/qbittorrent/6.3.0/README.md | 52 + incubator/qbittorrent/6.3.0/app-readme.md | 3 + .../qbittorrent/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/qbittorrent/6.3.0/ix_values.yaml | 15 + incubator/qbittorrent/6.3.0/questions.yaml | 815 +++++++++++ .../6.3.0/templates/_configmap.tpl | 32 + .../qbittorrent/6.3.0/templates/common.yaml | 6 + incubator/qbittorrent/6.3.0/test_values.yaml | 52 + incubator/qbittorrent/6.3.0/values.yaml | 0 incubator/readarr/6.3.0/CONFIG.md | 9 + incubator/readarr/6.3.0/Chart.lock | 6 + incubator/readarr/6.3.0/Chart.yaml | 30 + incubator/readarr/6.3.0/README.md | 55 + incubator/readarr/6.3.0/app-readme.md | 3 + .../readarr/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/readarr/6.3.0/ix_values.yaml | 37 + incubator/readarr/6.3.0/questions.yaml | 668 +++++++++ incubator/readarr/6.3.0/templates/common.yaml | 1 + incubator/readarr/6.3.0/test_values.yaml | 47 + incubator/readarr/6.3.0/values.yaml | 0 incubator/reg/1.3.0/CONFIG.md | 9 + incubator/reg/1.3.0/Chart.lock | 6 + incubator/reg/1.3.0/Chart.yaml | 22 + incubator/reg/1.3.0/README.md | 55 + incubator/reg/1.3.0/app-readme.md | 1 + incubator/reg/1.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/reg/1.3.0/ci/ct-values.yaml | 2 + incubator/reg/1.3.0/ix_values.yaml | 19 + incubator/reg/1.3.0/questions.yaml | 663 +++++++++ incubator/reg/1.3.0/templates/common.yaml | 1 + incubator/reg/1.3.0/test_values.yaml | 40 + incubator/reg/1.3.0/values.yaml | 0 incubator/sabnzbd/6.3.0/CONFIG.md | 9 + incubator/sabnzbd/6.3.0/Chart.lock | 6 + incubator/sabnzbd/6.3.0/Chart.yaml | 23 + incubator/sabnzbd/6.3.0/README.md | 54 + incubator/sabnzbd/6.3.0/app-readme.md | 3 + .../sabnzbd/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/sabnzbd/6.3.0/ix_values.yaml | 15 + incubator/sabnzbd/6.3.0/questions.yaml | 675 ++++++++++ incubator/sabnzbd/6.3.0/templates/common.yaml | 1 + incubator/sabnzbd/6.3.0/test_values.yaml | 26 + incubator/sabnzbd/6.3.0/values.yaml | 0 incubator/ser2sock/1.1.0/CONFIG.md | 9 + incubator/ser2sock/1.1.0/Chart.lock | 6 + incubator/ser2sock/1.1.0/Chart.yaml | 21 + incubator/ser2sock/1.1.0/README.md | 55 + incubator/ser2sock/1.1.0/app-readme.md | 1 + .../ser2sock/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/ser2sock/1.1.0/ix_values.yaml | 15 + incubator/ser2sock/1.1.0/questions.yaml | 728 ++++++++++ .../ser2sock/1.1.0/templates/common.yaml | 1 + incubator/ser2sock/1.1.0/test_values.yaml | 63 + incubator/ser2sock/1.1.0/values.yaml | 0 incubator/stash/1.1.0/CONFIG.md | 9 + incubator/stash/1.1.0/Chart.lock | 6 + incubator/stash/1.1.0/Chart.yaml | 21 + incubator/stash/1.1.0/README.md | 55 + incubator/stash/1.1.0/app-readme.md | 1 + incubator/stash/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/stash/1.1.0/ci/ct-values.yaml | 15 + incubator/stash/1.1.0/ix_values.yaml | 15 + incubator/stash/1.1.0/questions.yaml | 672 ++++++++++ incubator/stash/1.1.0/templates/common.yaml | 1 + incubator/stash/1.1.0/test_values.yaml | 44 + incubator/stash/1.1.0/values.yaml | 0 incubator/thelounge/1.3.0/CONFIG.md | 9 + incubator/thelounge/1.3.0/Chart.lock | 6 + incubator/thelounge/1.3.0/Chart.yaml | 24 + incubator/thelounge/1.3.0/README.md | 54 + incubator/thelounge/1.3.0/app-readme.md | 1 + .../thelounge/1.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/thelounge/1.3.0/ix_values.yaml | 19 + incubator/thelounge/1.3.0/questions.yaml | 635 +++++++++ .../thelounge/1.3.0/templates/common.yaml | 1 + incubator/thelounge/1.3.0/test_values.yaml | 44 + incubator/thelounge/1.3.0/values.yaml | 0 incubator/tvheadend/7.3.0/CONFIG.md | 9 + incubator/tvheadend/7.3.0/Chart.lock | 6 + incubator/tvheadend/7.3.0/Chart.yaml | 25 + incubator/tvheadend/7.3.0/README.md | 54 + incubator/tvheadend/7.3.0/app-readme.md | 3 + .../tvheadend/7.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/tvheadend/7.3.0/ix_values.yaml | 15 + incubator/tvheadend/7.3.0/questions.yaml | 724 ++++++++++ .../tvheadend/7.3.0/templates/common.yaml | 1 + incubator/tvheadend/7.3.0/test_values.yaml | 36 + incubator/tvheadend/7.3.0/values.yaml | 0 incubator/unifi/6.3.0/CONFIG.md | 9 + incubator/unifi/6.3.0/Chart.lock | 6 + incubator/unifi/6.3.0/Chart.yaml | 24 + incubator/unifi/6.3.0/README.md | 55 + incubator/unifi/6.3.0/app-readme.md | 3 + incubator/unifi/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/unifi/6.3.0/ix_values.yaml | 19 + incubator/unifi/6.3.0/questions.yaml | 823 ++++++++++++ incubator/unifi/6.3.0/templates/common.yaml | 1 + incubator/unifi/6.3.0/test_values.yaml | 48 + incubator/unifi/6.3.0/values.yaml | 0 incubator/unpackerr/1.3.0/CONFIG.md | 9 + incubator/unpackerr/1.3.0/Chart.lock | 6 + incubator/unpackerr/1.3.0/Chart.yaml | 29 + incubator/unpackerr/1.3.0/README.md | 55 + incubator/unpackerr/1.3.0/app-readme.md | 3 + .../unpackerr/1.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/unpackerr/1.3.0/ix_values.yaml | 32 + incubator/unpackerr/1.3.0/questions.yaml | 540 ++++++++ .../unpackerr/1.3.0/templates/common.yaml | 1 + incubator/unpackerr/1.3.0/test_values.yaml | 51 + incubator/unpackerr/1.3.0/values.yaml | 0 incubator/xteve/1.1.0/CONFIG.md | 9 + incubator/xteve/1.1.0/Chart.lock | 6 + incubator/xteve/1.1.0/Chart.yaml | 24 + incubator/xteve/1.1.0/README.md | 55 + incubator/xteve/1.1.0/app-readme.md | 1 + incubator/xteve/1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes incubator/xteve/1.1.0/ix_values.yaml | 15 + incubator/xteve/1.1.0/questions.yaml | 667 +++++++++ incubator/xteve/1.1.0/templates/common.yaml | 1 + incubator/xteve/1.1.0/test_values.yaml | 33 + incubator/xteve/1.1.0/values.yaml | 0 non-free/resilio-sync/1.1.0/CONFIG.md | 9 + non-free/resilio-sync/1.1.0/Chart.lock | 6 + non-free/resilio-sync/1.1.0/Chart.yaml | 24 + non-free/resilio-sync/1.1.0/README.md | 54 + non-free/resilio-sync/1.1.0/app-readme.md | 1 + .../1.1.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes non-free/resilio-sync/1.1.0/ix_values.yaml | 15 + non-free/resilio-sync/1.1.0/questions.yaml | 875 ++++++++++++ .../resilio-sync/1.1.0/templates/common.yaml | 1 + non-free/resilio-sync/1.1.0/test_values.yaml | 72 + non-free/resilio-sync/1.1.0/values.yaml | 0 stable/collabora-online/6.3.0/CONFIG.md | 9 + stable/collabora-online/6.3.0/Chart.lock | 6 + stable/collabora-online/6.3.0/Chart.yaml | 28 + stable/collabora-online/6.3.0/README.md | 56 + stable/collabora-online/6.3.0/app-readme.md | 3 + .../6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/collabora-online/6.3.0/ix_values.yaml | 14 + stable/collabora-online/6.3.0/questions.yaml | 531 ++++++++ .../6.3.0/templates/common.yaml | 1 + .../collabora-online/6.3.0/test_values.yaml | 22 + stable/collabora-online/6.3.0/values.yaml | 0 stable/deepstack-cpu/4.3.0/CONFIG.md | 9 + stable/deepstack-cpu/4.3.0/Chart.lock | 6 + stable/deepstack-cpu/4.3.0/Chart.yaml | 28 + stable/deepstack-cpu/4.3.0/README.md | 56 + stable/deepstack-cpu/4.3.0/app-readme.md | 3 + .../4.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/deepstack-cpu/4.3.0/ix_values.yaml | 19 + stable/deepstack-cpu/4.3.0/questions.yaml | 681 ++++++++++ .../deepstack-cpu/4.3.0/templates/common.yaml | 1 + stable/deepstack-cpu/4.3.0/test_values.yaml | 39 + stable/deepstack-cpu/4.3.0/values.yaml | 0 stable/emby/6.3.0/CONFIG.md | 9 + stable/emby/6.3.0/Chart.lock | 6 + stable/emby/6.3.0/Chart.yaml | 28 + stable/emby/6.3.0/README.md | 55 + stable/emby/6.3.0/app-readme.md | 3 + stable/emby/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/emby/6.3.0/ix_values.yaml | 22 + stable/emby/6.3.0/questions.yaml | 676 ++++++++++ stable/emby/6.3.0/templates/common.yaml | 1 + stable/emby/6.3.0/test_values.yaml | 29 + stable/emby/6.3.0/values.yaml | 0 stable/esphome/6.3.0/CONFIG.md | 9 + stable/esphome/6.3.0/Chart.lock | 6 + stable/esphome/6.3.0/Chart.yaml | 27 + stable/esphome/6.3.0/README.md | 55 + stable/esphome/6.3.0/app-readme.md | 3 + stable/esphome/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/esphome/6.3.0/ix_values.yaml | 15 + stable/esphome/6.3.0/questions.yaml | 771 +++++++++++ stable/esphome/6.3.0/templates/common.yaml | 1 + stable/esphome/6.3.0/test_values.yaml | 30 + stable/esphome/6.3.0/values.yaml | 0 stable/handbrake/6.3.0/CONFIG.md | 9 + stable/handbrake/6.3.0/Chart.lock | 6 + stable/handbrake/6.3.0/Chart.yaml | 30 + stable/handbrake/6.3.0/README.md | 56 + stable/handbrake/6.3.0/app-readme.md | 3 + .../handbrake/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/handbrake/6.3.0/ix_values.yaml | 20 + stable/handbrake/6.3.0/questions.yaml | 837 ++++++++++++ stable/handbrake/6.3.0/templates/common.yaml | 1 + stable/handbrake/6.3.0/test_values.yaml | 51 + stable/handbrake/6.3.0/values.yaml | 0 stable/home-assistant/6.3.0/CONFIG.md | 9 + stable/home-assistant/6.3.0/Chart.lock | 6 + stable/home-assistant/6.3.0/Chart.yaml | 28 + stable/home-assistant/6.3.0/README.md | 55 + stable/home-assistant/6.3.0/app-readme.md | 3 + .../6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/home-assistant/6.3.0/ix_values.yaml | 15 + stable/home-assistant/6.3.0/questions.yaml | 683 ++++++++++ .../6.3.0/templates/common.yaml | 1 + .../6.3.0/templates/secret.yaml | 15 + stable/home-assistant/6.3.0/test_values.yaml | 83 ++ stable/home-assistant/6.3.0/values.yaml | 0 stable/jackett/6.3.0/CONFIG.md | 9 + stable/jackett/6.3.0/Chart.lock | 6 + stable/jackett/6.3.0/Chart.yaml | 27 + stable/jackett/6.3.0/README.md | 54 + stable/jackett/6.3.0/app-readme.md | 3 + stable/jackett/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/jackett/6.3.0/ix_values.yaml | 25 + stable/jackett/6.3.0/questions.yaml | 667 +++++++++ stable/jackett/6.3.0/templates/common.yaml | 1 + stable/jackett/6.3.0/test_values.yaml | 39 + stable/jackett/6.3.0/values.yaml | 0 stable/jellyfin/6.3.0/CONFIG.md | 9 + stable/jellyfin/6.3.0/Chart.lock | 6 + stable/jellyfin/6.3.0/Chart.yaml | 27 + stable/jellyfin/6.3.0/README.md | 54 + stable/jellyfin/6.3.0/app-readme.md | 3 + stable/jellyfin/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/jellyfin/6.3.0/ix_values.yaml | 22 + stable/jellyfin/6.3.0/questions.yaml | 676 ++++++++++ stable/jellyfin/6.3.0/templates/common.yaml | 1 + stable/jellyfin/6.3.0/test_values.yaml | 29 + stable/jellyfin/6.3.0/values.yaml | 0 stable/kms/6.3.0/CONFIG.md | 9 + stable/kms/6.3.0/Chart.lock | 6 + stable/kms/6.3.0/Chart.yaml | 25 + stable/kms/6.3.0/README.md | 54 + stable/kms/6.3.0/app-readme.md | 3 + stable/kms/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/kms/6.3.0/ix_values.yaml | 16 + stable/kms/6.3.0/questions.yaml | 395 ++++++ stable/kms/6.3.0/templates/common.yaml | 1 + stable/kms/6.3.0/test_values.yaml | 16 + stable/kms/6.3.0/values.yaml | 0 stable/lidarr/6.3.0/CONFIG.md | 9 + stable/lidarr/6.3.0/Chart.lock | 6 + stable/lidarr/6.3.0/Chart.yaml | 27 + stable/lidarr/6.3.0/README.md | 54 + stable/lidarr/6.3.0/app-readme.md | 3 + stable/lidarr/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/lidarr/6.3.0/ix_values.yaml | 37 + stable/lidarr/6.3.0/questions.yaml | 667 +++++++++ stable/lidarr/6.3.0/templates/common.yaml | 1 + stable/lidarr/6.3.0/test_values.yaml | 47 + stable/lidarr/6.3.0/values.yaml | 0 stable/ombi/6.3.0/CONFIG.md | 9 + stable/ombi/6.3.0/Chart.lock | 6 + stable/ombi/6.3.0/Chart.yaml | 30 + stable/ombi/6.3.0/README.md | 54 + stable/ombi/6.3.0/app-readme.md | 3 + stable/ombi/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/ombi/6.3.0/ix_values.yaml | 15 + stable/ombi/6.3.0/questions.yaml | 667 +++++++++ stable/ombi/6.3.0/templates/common.yaml | 1 + stable/ombi/6.3.0/test_values.yaml | 40 + stable/ombi/6.3.0/values.yaml | 0 stable/plex/5.3.0/CONFIG.md | 9 + stable/plex/5.3.0/Chart.lock | 6 + stable/plex/5.3.0/Chart.yaml | 25 + stable/plex/5.3.0/README.md | 52 + stable/plex/5.3.0/app-readme.md | 3 + stable/plex/5.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/plex/5.3.0/ix_values.yaml | 19 + stable/plex/5.3.0/questions.yaml | 695 ++++++++++ stable/plex/5.3.0/templates/common.yaml | 1 + stable/plex/5.3.0/test_values.yaml | 32 + stable/plex/5.3.0/values.yaml | 0 stable/radarr/6.3.0/CONFIG.md | 9 + stable/radarr/6.3.0/Chart.lock | 6 + stable/radarr/6.3.0/Chart.yaml | 27 + stable/radarr/6.3.0/README.md | 54 + stable/radarr/6.3.0/app-readme.md | 3 + stable/radarr/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/radarr/6.3.0/ix_values.yaml | 37 + stable/radarr/6.3.0/questions.yaml | 667 +++++++++ stable/radarr/6.3.0/templates/common.yaml | 1 + stable/radarr/6.3.0/test_values.yaml | 47 + stable/radarr/6.3.0/values.yaml | 0 stable/sonarr/6.3.0/CONFIG.md | 9 + stable/sonarr/6.3.0/Chart.lock | 6 + stable/sonarr/6.3.0/Chart.yaml | 27 + stable/sonarr/6.3.0/README.md | 54 + stable/sonarr/6.3.0/app-readme.md | 3 + stable/sonarr/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/sonarr/6.3.0/ix_values.yaml | 37 + stable/sonarr/6.3.0/questions.yaml | 667 +++++++++ stable/sonarr/6.3.0/templates/common.yaml | 1 + stable/sonarr/6.3.0/test_values.yaml | 47 + stable/sonarr/6.3.0/values.yaml | 0 stable/syncthing/6.3.0/CONFIG.md | 9 + stable/syncthing/6.3.0/Chart.lock | 6 + stable/syncthing/6.3.0/Chart.yaml | 27 + stable/syncthing/6.3.0/README.md | 56 + stable/syncthing/6.3.0/app-readme.md | 3 + .../syncthing/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/syncthing/6.3.0/ix_values.yaml | 15 + stable/syncthing/6.3.0/questions.yaml | 928 +++++++++++++ stable/syncthing/6.3.0/templates/common.yaml | 1 + stable/syncthing/6.3.0/test_values.yaml | 38 + stable/syncthing/6.3.0/values.yaml | 0 stable/tautulli/6.3.0/CONFIG.md | 9 + stable/tautulli/6.3.0/Chart.lock | 6 + stable/tautulli/6.3.0/Chart.yaml | 26 + stable/tautulli/6.3.0/README.md | 54 + stable/tautulli/6.3.0/app-readme.md | 3 + stable/tautulli/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/tautulli/6.3.0/ix_values.yaml | 15 + stable/tautulli/6.3.0/questions.yaml | 667 +++++++++ stable/tautulli/6.3.0/templates/common.yaml | 1 + stable/tautulli/6.3.0/test_values.yaml | 26 + stable/tautulli/6.3.0/values.yaml | 0 stable/traefik/6.4.0/CONFIG.md | 9 + stable/traefik/6.4.0/Chart.lock | 6 + stable/traefik/6.4.0/Chart.yaml | 29 + stable/traefik/6.4.0/LICENSE | 202 +++ stable/traefik/6.4.0/README.md | 56 + stable/traefik/6.4.0/app-readme.md | 3 + stable/traefik/6.4.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/traefik/6.4.0/crds/ingressroute.yaml | 12 + .../traefik/6.4.0/crds/ingressroutetcp.yaml | 12 + .../traefik/6.4.0/crds/ingressrouteudp.yaml | 13 + stable/traefik/6.4.0/crds/middlewares.yaml | 12 + .../traefik/6.4.0/crds/serverstransports.yaml | 12 + stable/traefik/6.4.0/crds/tlsoptions.yaml | 12 + stable/traefik/6.4.0/crds/tlsstores.yaml | 13 + .../traefik/6.4.0/crds/traefikservices.yaml | 12 + stable/traefik/6.4.0/ix_values.yaml | 329 +++++ stable/traefik/6.4.0/questions.yaml | 385 ++++++ stable/traefik/6.4.0/templates/_helpers.tpl | 62 + .../traefik/6.4.0/templates/_podtemplate.tpl | 265 ++++ .../6.4.0/templates/custom/common.yaml | 0 .../custom/middleware-namespace.yaml | 7 + .../custom/middlewares/basic-middleware.yaml | 57 + .../custom/middlewares/basicauth.yaml | 29 + .../custom/middlewares/forwardauth.yaml | 23 + .../6.4.0/templates/custom/portal.yaml | 45 + stable/traefik/6.4.0/templates/daemonset.yaml | 40 + .../dashboard-hook-ingressroute.yaml | 28 + .../traefik/6.4.0/templates/deployment.yaml | 47 + stable/traefik/6.4.0/templates/gateway.yaml | 33 + .../traefik/6.4.0/templates/gatewayclass.yaml | 9 + stable/traefik/6.4.0/templates/hpa.yaml | 20 + .../traefik/6.4.0/templates/ingressclass.yaml | 23 + .../6.4.0/templates/poddisruptionbudget.yaml | 22 + .../6.4.0/templates/rbac/clusterrole.yaml | 112 ++ .../templates/rbac/clusterrolebinding.yaml | 19 + .../templates/rbac/podsecuritypolicy.yaml | 68 + stable/traefik/6.4.0/templates/rbac/role.yaml | 61 + .../6.4.0/templates/rbac/rolebinding.yaml | 19 + .../6.4.0/templates/rbac/serviceaccount.yaml | 15 + stable/traefik/6.4.0/templates/service.yaml | 114 ++ stable/traefik/6.4.0/templates/tlsoption.yaml | 14 + stable/traefik/6.4.0/test_values.yaml | 426 ++++++ stable/traefik/6.4.0/values.yaml | 0 stable/transmission/6.3.0/CONFIG.md | 9 + stable/transmission/6.3.0/Chart.lock | 6 + stable/transmission/6.3.0/Chart.yaml | 28 + stable/transmission/6.3.0/README.md | 55 + stable/transmission/6.3.0/app-readme.md | 3 + .../6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/transmission/6.3.0/ix_values.yaml | 50 + stable/transmission/6.3.0/questions.yaml | 1156 ++++++++++++++++ .../transmission/6.3.0/templates/common.yaml | 2 + stable/transmission/6.3.0/test_values.yaml | 106 ++ stable/transmission/6.3.0/values.yaml | 0 stable/truecommand/6.3.0/CONFIG.md | 9 + stable/truecommand/6.3.0/Chart.lock | 6 + stable/truecommand/6.3.0/Chart.yaml | 25 + stable/truecommand/6.3.0/README.md | 54 + stable/truecommand/6.3.0/app-readme.md | 3 + .../truecommand/6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/truecommand/6.3.0/ix_values.yaml | 15 + stable/truecommand/6.3.0/questions.yaml | 628 +++++++++ .../truecommand/6.3.0/templates/common.yaml | 1 + stable/truecommand/6.3.0/test_values.yaml | 26 + stable/truecommand/6.3.0/values.yaml | 0 stable/vaultwarden/3.4.0/CONFIG.md | 9 + stable/vaultwarden/3.4.0/Chart.lock | 9 + stable/vaultwarden/3.4.0/Chart.yaml | 34 + stable/vaultwarden/3.4.0/README.md | 55 + stable/vaultwarden/3.4.0/app-readme.md | 3 + .../vaultwarden/3.4.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes .../3.4.0/charts/postgresql-10.5.1.tgz | Bin 0 -> 49272 bytes stable/vaultwarden/3.4.0/ix_values.yaml | 54 + stable/vaultwarden/3.4.0/questions.yaml | 1193 +++++++++++++++++ .../3.4.0/templates/_configmap.tpl | 116 ++ .../vaultwarden/3.4.0/templates/_secrets.tpl | 59 + .../vaultwarden/3.4.0/templates/_validate.tpl | 17 + .../vaultwarden/3.4.0/templates/common.yaml | 11 + stable/vaultwarden/3.4.0/test_values.yaml | 172 +++ stable/vaultwarden/3.4.0/values.yaml | 0 stable/zwavejs2mqtt/6.3.0/CONFIG.md | 9 + stable/zwavejs2mqtt/6.3.0/Chart.lock | 6 + stable/zwavejs2mqtt/6.3.0/Chart.yaml | 30 + stable/zwavejs2mqtt/6.3.0/README.md | 55 + stable/zwavejs2mqtt/6.3.0/app-readme.md | 3 + .../6.3.0/charts/common-6.5.0.tgz | Bin 0 -> 23425 bytes stable/zwavejs2mqtt/6.3.0/ix_values.yaml | 63 + stable/zwavejs2mqtt/6.3.0/questions.yaml | 798 +++++++++++ .../zwavejs2mqtt/6.3.0/templates/common.yaml | 1 + stable/zwavejs2mqtt/6.3.0/test_values.yaml | 103 ++ stable/zwavejs2mqtt/6.3.0/values.yaml | 0 939 files changed, 72282 insertions(+), 1 deletion(-) create mode 100644 deprecated/nzbhydra/6.3.0/CONFIG.md create mode 100644 deprecated/nzbhydra/6.3.0/Chart.lock create mode 100644 deprecated/nzbhydra/6.3.0/Chart.yaml create mode 100644 deprecated/nzbhydra/6.3.0/README.md create mode 100644 deprecated/nzbhydra/6.3.0/app-readme.md create mode 100644 deprecated/nzbhydra/6.3.0/charts/common-6.5.0.tgz create mode 100644 deprecated/nzbhydra/6.3.0/ix_values.yaml create mode 100644 deprecated/nzbhydra/6.3.0/questions.yaml create mode 100644 deprecated/nzbhydra/6.3.0/templates/common.yaml create mode 100644 deprecated/nzbhydra/6.3.0/test_values.yaml create mode 100644 deprecated/nzbhydra/6.3.0/values.yaml create mode 100644 develop/prototype-gui/1.4.0/CONFIG.md create mode 100644 develop/prototype-gui/1.4.0/Chart.lock create mode 100644 develop/prototype-gui/1.4.0/Chart.yaml create mode 100644 develop/prototype-gui/1.4.0/README.md create mode 100644 develop/prototype-gui/1.4.0/app-readme.md create mode 100644 develop/prototype-gui/1.4.0/charts/common-6.5.0.tgz create mode 100644 develop/prototype-gui/1.4.0/ix_values.yaml create mode 100644 develop/prototype-gui/1.4.0/questions.yaml create mode 100644 develop/prototype-gui/1.4.0/templates/common.yaml create mode 100644 develop/prototype-gui/1.4.0/test_values.yaml create mode 100644 develop/prototype-gui/1.4.0/values.yaml create mode 100644 incubator/airsonic/1.3.0/CONFIG.md create mode 100644 incubator/airsonic/1.3.0/Chart.lock create mode 100644 incubator/airsonic/1.3.0/Chart.yaml create mode 100644 incubator/airsonic/1.3.0/README.md create mode 100644 incubator/airsonic/1.3.0/app-readme.md create mode 100644 incubator/airsonic/1.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/airsonic/1.3.0/ix_values.yaml create mode 100644 incubator/airsonic/1.3.0/questions.yaml create mode 100644 incubator/airsonic/1.3.0/templates/common.yaml create mode 100644 incubator/airsonic/1.3.0/test_values.yaml create mode 100644 incubator/airsonic/1.3.0/values.yaml create mode 100644 incubator/appdaemon/3.3.0/CONFIG.md create mode 100644 incubator/appdaemon/3.3.0/Chart.lock create mode 100644 incubator/appdaemon/3.3.0/Chart.yaml create mode 100644 incubator/appdaemon/3.3.0/README.md create mode 100644 incubator/appdaemon/3.3.0/app-readme.md create mode 100644 incubator/appdaemon/3.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/appdaemon/3.3.0/ix_values.yaml create mode 100644 incubator/appdaemon/3.3.0/questions.yaml create mode 100644 incubator/appdaemon/3.3.0/templates/common.yaml create mode 100644 incubator/appdaemon/3.3.0/test_values.yaml create mode 100644 incubator/appdaemon/3.3.0/values.yaml create mode 100644 incubator/bazarr/6.3.0/CONFIG.md create mode 100644 incubator/bazarr/6.3.0/Chart.lock create mode 100644 incubator/bazarr/6.3.0/Chart.yaml create mode 100644 incubator/bazarr/6.3.0/README.md create mode 100644 incubator/bazarr/6.3.0/app-readme.md create mode 100644 incubator/bazarr/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/bazarr/6.3.0/ix_values.yaml create mode 100644 incubator/bazarr/6.3.0/questions.yaml create mode 100644 incubator/bazarr/6.3.0/templates/common.yaml create mode 100644 incubator/bazarr/6.3.0/test_values.yaml create mode 100644 incubator/bazarr/6.3.0/values.yaml create mode 100644 incubator/booksonic-air/1.1.0/CONFIG.md create mode 100644 incubator/booksonic-air/1.1.0/Chart.lock create mode 100644 incubator/booksonic-air/1.1.0/Chart.yaml create mode 100644 incubator/booksonic-air/1.1.0/README.md create mode 100644 incubator/booksonic-air/1.1.0/app-readme.md create mode 100644 incubator/booksonic-air/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/booksonic-air/1.1.0/ix_values.yaml create mode 100644 incubator/booksonic-air/1.1.0/questions.yaml create mode 100644 incubator/booksonic-air/1.1.0/templates/common.yaml create mode 100644 incubator/booksonic-air/1.1.0/test_values.yaml create mode 100644 incubator/booksonic-air/1.1.0/values.yaml create mode 100644 incubator/calibre-web/6.3.0/CONFIG.md create mode 100644 incubator/calibre-web/6.3.0/Chart.lock create mode 100644 incubator/calibre-web/6.3.0/Chart.yaml create mode 100644 incubator/calibre-web/6.3.0/README.md create mode 100644 incubator/calibre-web/6.3.0/app-readme.md create mode 100644 incubator/calibre-web/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/calibre-web/6.3.0/ix_values.yaml create mode 100644 incubator/calibre-web/6.3.0/questions.yaml create mode 100644 incubator/calibre-web/6.3.0/templates/common.yaml create mode 100644 incubator/calibre-web/6.3.0/test_values.yaml create mode 100644 incubator/calibre-web/6.3.0/values.yaml create mode 100644 incubator/calibre/1.1.0/CONFIG.md create mode 100644 incubator/calibre/1.1.0/Chart.lock create mode 100644 incubator/calibre/1.1.0/Chart.yaml create mode 100644 incubator/calibre/1.1.0/README.md create mode 100644 incubator/calibre/1.1.0/app-readme.md create mode 100644 incubator/calibre/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/calibre/1.1.0/ix_values.yaml create mode 100644 incubator/calibre/1.1.0/questions.yaml create mode 100644 incubator/calibre/1.1.0/templates/common.yaml create mode 100644 incubator/calibre/1.1.0/test_values.yaml create mode 100644 incubator/calibre/1.1.0/values.yaml create mode 100644 incubator/deconz/1.1.0/CONFIG.md create mode 100644 incubator/deconz/1.1.0/Chart.lock create mode 100644 incubator/deconz/1.1.0/Chart.yaml create mode 100644 incubator/deconz/1.1.0/README.md create mode 100644 incubator/deconz/1.1.0/app-readme.md create mode 100644 incubator/deconz/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/deconz/1.1.0/ix_values.yaml create mode 100644 incubator/deconz/1.1.0/questions.yaml create mode 100644 incubator/deconz/1.1.0/templates/common.yaml create mode 100644 incubator/deconz/1.1.0/test_values.yaml create mode 100644 incubator/deconz/1.1.0/values.yaml create mode 100644 incubator/deluge/6.3.0/CONFIG.md create mode 100644 incubator/deluge/6.3.0/Chart.lock create mode 100644 incubator/deluge/6.3.0/Chart.yaml create mode 100644 incubator/deluge/6.3.0/README.md create mode 100644 incubator/deluge/6.3.0/app-readme.md create mode 100644 incubator/deluge/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/deluge/6.3.0/ix_values.yaml create mode 100644 incubator/deluge/6.3.0/questions.yaml create mode 100644 incubator/deluge/6.3.0/templates/common.yaml create mode 100644 incubator/deluge/6.3.0/test_values.yaml create mode 100644 incubator/deluge/6.3.0/values.yaml create mode 100644 incubator/dizquetv/1.1.0/CONFIG.md create mode 100644 incubator/dizquetv/1.1.0/Chart.lock create mode 100644 incubator/dizquetv/1.1.0/Chart.yaml create mode 100644 incubator/dizquetv/1.1.0/README.md create mode 100644 incubator/dizquetv/1.1.0/app-readme.md create mode 100644 incubator/dizquetv/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/dizquetv/1.1.0/ix_values.yaml create mode 100644 incubator/dizquetv/1.1.0/questions.yaml create mode 100644 incubator/dizquetv/1.1.0/templates/common.yaml create mode 100644 incubator/dizquetv/1.1.0/test_values.yaml create mode 100644 incubator/dizquetv/1.1.0/values.yaml create mode 100644 incubator/duplicati/1.1.0/CONFIG.md create mode 100644 incubator/duplicati/1.1.0/Chart.lock create mode 100644 incubator/duplicati/1.1.0/Chart.yaml create mode 100644 incubator/duplicati/1.1.0/README.md create mode 100644 incubator/duplicati/1.1.0/app-readme.md create mode 100644 incubator/duplicati/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/duplicati/1.1.0/ix_values.yaml create mode 100644 incubator/duplicati/1.1.0/questions.yaml create mode 100644 incubator/duplicati/1.1.0/templates/common.yaml create mode 100644 incubator/duplicati/1.1.0/test_values.yaml create mode 100644 incubator/duplicati/1.1.0/values.yaml create mode 100644 incubator/fireflyiii/4.4.0/CONFIG.md create mode 100644 incubator/fireflyiii/4.4.0/Chart.lock create mode 100644 incubator/fireflyiii/4.4.0/Chart.yaml create mode 100644 incubator/fireflyiii/4.4.0/README.md create mode 100644 incubator/fireflyiii/4.4.0/app-readme.md create mode 100644 incubator/fireflyiii/4.4.0/charts/common-6.5.0.tgz create mode 100644 incubator/fireflyiii/4.4.0/charts/postgresql-10.5.1.tgz create mode 100644 incubator/fireflyiii/4.4.0/ix_values.yaml create mode 100644 incubator/fireflyiii/4.4.0/questions.yaml create mode 100644 incubator/fireflyiii/4.4.0/templates/common.yaml create mode 100644 incubator/fireflyiii/4.4.0/templates/secrets.yaml create mode 100644 incubator/fireflyiii/4.4.0/test_values.yaml create mode 100644 incubator/fireflyiii/4.4.0/values.yaml create mode 100644 incubator/flaresolverr/1.1.0/CONFIG.md create mode 100644 incubator/flaresolverr/1.1.0/Chart.lock create mode 100644 incubator/flaresolverr/1.1.0/Chart.yaml create mode 100644 incubator/flaresolverr/1.1.0/README.md create mode 100644 incubator/flaresolverr/1.1.0/app-readme.md create mode 100644 incubator/flaresolverr/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/flaresolverr/1.1.0/ix_values.yaml create mode 100644 incubator/flaresolverr/1.1.0/questions.yaml create mode 100644 incubator/flaresolverr/1.1.0/templates/common.yaml create mode 100644 incubator/flaresolverr/1.1.0/test_values.yaml create mode 100644 incubator/flaresolverr/1.1.0/values.yaml create mode 100644 incubator/flood/1.1.0/CONFIG.md create mode 100644 incubator/flood/1.1.0/Chart.lock create mode 100644 incubator/flood/1.1.0/Chart.yaml create mode 100644 incubator/flood/1.1.0/README.md create mode 100644 incubator/flood/1.1.0/app-readme.md create mode 100644 incubator/flood/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/flood/1.1.0/ci/ct-values.yaml create mode 100644 incubator/flood/1.1.0/ix_values.yaml create mode 100644 incubator/flood/1.1.0/questions.yaml create mode 100644 incubator/flood/1.1.0/templates/common.yaml create mode 100644 incubator/flood/1.1.0/test_values.yaml create mode 100644 incubator/flood/1.1.0/values.yaml create mode 100644 incubator/focalboard/1.1.0/CONFIG.md create mode 100644 incubator/focalboard/1.1.0/Chart.lock create mode 100644 incubator/focalboard/1.1.0/Chart.yaml create mode 100644 incubator/focalboard/1.1.0/README.md create mode 100644 incubator/focalboard/1.1.0/app-readme.md create mode 100644 incubator/focalboard/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/focalboard/1.1.0/ix_values.yaml create mode 100644 incubator/focalboard/1.1.0/questions.yaml create mode 100644 incubator/focalboard/1.1.0/templates/common.yaml create mode 100644 incubator/focalboard/1.1.0/test_values.yaml create mode 100644 incubator/focalboard/1.1.0/values.yaml create mode 100644 incubator/freshrss/6.3.0/CONFIG.md create mode 100644 incubator/freshrss/6.3.0/Chart.lock create mode 100644 incubator/freshrss/6.3.0/Chart.yaml create mode 100644 incubator/freshrss/6.3.0/README.md create mode 100644 incubator/freshrss/6.3.0/app-readme.md create mode 100644 incubator/freshrss/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/freshrss/6.3.0/ix_values.yaml create mode 100644 incubator/freshrss/6.3.0/questions.yaml create mode 100644 incubator/freshrss/6.3.0/templates/common.yaml create mode 100644 incubator/freshrss/6.3.0/test_values.yaml create mode 100644 incubator/freshrss/6.3.0/values.yaml create mode 100644 incubator/gaps/6.3.0/CONFIG.md create mode 100644 incubator/gaps/6.3.0/Chart.lock create mode 100644 incubator/gaps/6.3.0/Chart.yaml create mode 100644 incubator/gaps/6.3.0/README.md create mode 100644 incubator/gaps/6.3.0/app-readme.md create mode 100644 incubator/gaps/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/gaps/6.3.0/ix_values.yaml create mode 100644 incubator/gaps/6.3.0/questions.yaml create mode 100644 incubator/gaps/6.3.0/templates/common.yaml create mode 100644 incubator/gaps/6.3.0/test_values.yaml create mode 100644 incubator/gaps/6.3.0/values.yaml create mode 100644 incubator/gonic/1.1.0/CONFIG.md create mode 100644 incubator/gonic/1.1.0/Chart.lock create mode 100644 incubator/gonic/1.1.0/Chart.yaml create mode 100644 incubator/gonic/1.1.0/README.md create mode 100644 incubator/gonic/1.1.0/app-readme.md create mode 100644 incubator/gonic/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/gonic/1.1.0/ci/ct-values.yaml create mode 100644 incubator/gonic/1.1.0/ix_values.yaml create mode 100644 incubator/gonic/1.1.0/questions.yaml create mode 100644 incubator/gonic/1.1.0/templates/common.yaml create mode 100644 incubator/gonic/1.1.0/test_values.yaml create mode 100644 incubator/gonic/1.1.0/values.yaml create mode 100644 incubator/grocy/6.3.0/CONFIG.md create mode 100644 incubator/grocy/6.3.0/Chart.lock create mode 100644 incubator/grocy/6.3.0/Chart.yaml create mode 100644 incubator/grocy/6.3.0/README.md create mode 100644 incubator/grocy/6.3.0/app-readme.md create mode 100644 incubator/grocy/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/grocy/6.3.0/ix_values.yaml create mode 100644 incubator/grocy/6.3.0/questions.yaml create mode 100644 incubator/grocy/6.3.0/templates/common.yaml create mode 100644 incubator/grocy/6.3.0/test_values.yaml create mode 100644 incubator/grocy/6.3.0/values.yaml create mode 100644 incubator/haste-server/1.3.0/CONFIG.md create mode 100644 incubator/haste-server/1.3.0/Chart.lock create mode 100644 incubator/haste-server/1.3.0/Chart.yaml create mode 100644 incubator/haste-server/1.3.0/README.md create mode 100644 incubator/haste-server/1.3.0/app-readme.md create mode 100644 incubator/haste-server/1.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/haste-server/1.3.0/ix_values.yaml create mode 100644 incubator/haste-server/1.3.0/questions.yaml create mode 100644 incubator/haste-server/1.3.0/templates/common.yaml create mode 100644 incubator/haste-server/1.3.0/test_values.yaml create mode 100644 incubator/haste-server/1.3.0/values.yaml create mode 100644 incubator/healthchecks/1.1.0/CONFIG.md create mode 100644 incubator/healthchecks/1.1.0/Chart.lock create mode 100644 incubator/healthchecks/1.1.0/Chart.yaml create mode 100644 incubator/healthchecks/1.1.0/README.md create mode 100644 incubator/healthchecks/1.1.0/app-readme.md create mode 100644 incubator/healthchecks/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/healthchecks/1.1.0/ix_values.yaml create mode 100644 incubator/healthchecks/1.1.0/questions.yaml create mode 100644 incubator/healthchecks/1.1.0/templates/common.yaml create mode 100644 incubator/healthchecks/1.1.0/test_values.yaml create mode 100644 incubator/healthchecks/1.1.0/values.yaml create mode 100644 incubator/heimdall/6.3.0/CONFIG.md create mode 100644 incubator/heimdall/6.3.0/Chart.lock create mode 100644 incubator/heimdall/6.3.0/Chart.yaml create mode 100644 incubator/heimdall/6.3.0/README.md create mode 100644 incubator/heimdall/6.3.0/app-readme.md create mode 100644 incubator/heimdall/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/heimdall/6.3.0/ix_values.yaml create mode 100644 incubator/heimdall/6.3.0/questions.yaml create mode 100644 incubator/heimdall/6.3.0/templates/common.yaml create mode 100644 incubator/heimdall/6.3.0/test_values.yaml create mode 100644 incubator/heimdall/6.3.0/values.yaml create mode 100644 incubator/hyperion-ng/1.1.0/CONFIG.md create mode 100644 incubator/hyperion-ng/1.1.0/Chart.lock create mode 100644 incubator/hyperion-ng/1.1.0/Chart.yaml create mode 100644 incubator/hyperion-ng/1.1.0/README.md create mode 100644 incubator/hyperion-ng/1.1.0/app-readme.md create mode 100644 incubator/hyperion-ng/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/hyperion-ng/1.1.0/ix_values.yaml create mode 100644 incubator/hyperion-ng/1.1.0/questions.yaml create mode 100644 incubator/hyperion-ng/1.1.0/templates/common.yaml create mode 100644 incubator/hyperion-ng/1.1.0/test_values.yaml create mode 100644 incubator/hyperion-ng/1.1.0/values.yaml create mode 100644 incubator/komga/1.1.0/CONFIG.md create mode 100644 incubator/komga/1.1.0/Chart.lock create mode 100644 incubator/komga/1.1.0/Chart.yaml create mode 100644 incubator/komga/1.1.0/README.md create mode 100644 incubator/komga/1.1.0/app-readme.md create mode 100644 incubator/komga/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/komga/1.1.0/ix_values.yaml create mode 100644 incubator/komga/1.1.0/questions.yaml create mode 100644 incubator/komga/1.1.0/templates/common.yaml create mode 100644 incubator/komga/1.1.0/test_values.yaml create mode 100644 incubator/komga/1.1.0/values.yaml create mode 100644 incubator/lazylibrarian/6.3.0/CONFIG.md create mode 100644 incubator/lazylibrarian/6.3.0/Chart.lock create mode 100644 incubator/lazylibrarian/6.3.0/Chart.yaml create mode 100644 incubator/lazylibrarian/6.3.0/README.md create mode 100644 incubator/lazylibrarian/6.3.0/app-readme.md create mode 100644 incubator/lazylibrarian/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/lazylibrarian/6.3.0/ix_values.yaml create mode 100644 incubator/lazylibrarian/6.3.0/questions.yaml create mode 100644 incubator/lazylibrarian/6.3.0/templates/common.yaml create mode 100644 incubator/lazylibrarian/6.3.0/test_values.yaml create mode 100644 incubator/lazylibrarian/6.3.0/values.yaml create mode 100644 incubator/librespeed/1.1.0/CONFIG.md create mode 100644 incubator/librespeed/1.1.0/Chart.lock create mode 100644 incubator/librespeed/1.1.0/Chart.yaml create mode 100644 incubator/librespeed/1.1.0/README.md create mode 100644 incubator/librespeed/1.1.0/app-readme.md create mode 100644 incubator/librespeed/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/librespeed/1.1.0/ci/ct-values.yaml create mode 100644 incubator/librespeed/1.1.0/ix_values.yaml create mode 100644 incubator/librespeed/1.1.0/questions.yaml create mode 100644 incubator/librespeed/1.1.0/templates/common.yaml create mode 100644 incubator/librespeed/1.1.0/test_values.yaml create mode 100644 incubator/librespeed/1.1.0/values.yaml create mode 100644 incubator/lychee/6.3.0/CONFIG.md create mode 100644 incubator/lychee/6.3.0/Chart.lock create mode 100644 incubator/lychee/6.3.0/Chart.yaml create mode 100644 incubator/lychee/6.3.0/README.md create mode 100644 incubator/lychee/6.3.0/app-readme.md create mode 100644 incubator/lychee/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/lychee/6.3.0/ix_values.yaml create mode 100644 incubator/lychee/6.3.0/questions.yaml create mode 100644 incubator/lychee/6.3.0/templates/common.yaml create mode 100644 incubator/lychee/6.3.0/test_values.yaml create mode 100644 incubator/lychee/6.3.0/values.yaml create mode 100644 incubator/mealie/1.3.0/CONFIG.md create mode 100644 incubator/mealie/1.3.0/Chart.lock create mode 100644 incubator/mealie/1.3.0/Chart.yaml create mode 100644 incubator/mealie/1.3.0/README.md create mode 100644 incubator/mealie/1.3.0/app-readme.md create mode 100644 incubator/mealie/1.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/mealie/1.3.0/ix_values.yaml create mode 100644 incubator/mealie/1.3.0/questions.yaml create mode 100644 incubator/mealie/1.3.0/templates/common.yaml create mode 100644 incubator/mealie/1.3.0/test_values.yaml create mode 100644 incubator/mealie/1.3.0/values.yaml create mode 100644 incubator/mosquitto/1.3.0/CONFIG.md create mode 100644 incubator/mosquitto/1.3.0/Chart.lock create mode 100644 incubator/mosquitto/1.3.0/Chart.yaml create mode 100644 incubator/mosquitto/1.3.0/README.md create mode 100644 incubator/mosquitto/1.3.0/app-readme.md create mode 100644 incubator/mosquitto/1.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/mosquitto/1.3.0/ix_values.yaml create mode 100644 incubator/mosquitto/1.3.0/questions.yaml create mode 100644 incubator/mosquitto/1.3.0/templates/common.yaml create mode 100644 incubator/mosquitto/1.3.0/templates/configmap.yaml create mode 100644 incubator/mosquitto/1.3.0/test_values.yaml create mode 100644 incubator/mosquitto/1.3.0/values.yaml create mode 100644 incubator/mylar/1.1.0/CONFIG.md create mode 100644 incubator/mylar/1.1.0/Chart.lock create mode 100644 incubator/mylar/1.1.0/Chart.yaml create mode 100644 incubator/mylar/1.1.0/README.md create mode 100644 incubator/mylar/1.1.0/app-readme.md create mode 100644 incubator/mylar/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/mylar/1.1.0/ix_values.yaml create mode 100644 incubator/mylar/1.1.0/questions.yaml create mode 100644 incubator/mylar/1.1.0/templates/common.yaml create mode 100644 incubator/mylar/1.1.0/test_values.yaml create mode 100644 incubator/mylar/1.1.0/values.yaml create mode 100644 incubator/navidrome/6.3.0/CONFIG.md create mode 100644 incubator/navidrome/6.3.0/Chart.lock create mode 100644 incubator/navidrome/6.3.0/Chart.yaml create mode 100644 incubator/navidrome/6.3.0/README.md create mode 100644 incubator/navidrome/6.3.0/app-readme.md create mode 100644 incubator/navidrome/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/navidrome/6.3.0/ix_values.yaml create mode 100644 incubator/navidrome/6.3.0/questions.yaml create mode 100644 incubator/navidrome/6.3.0/templates/common.yaml create mode 100644 incubator/navidrome/6.3.0/test_values.yaml create mode 100644 incubator/navidrome/6.3.0/values.yaml create mode 100644 incubator/node-red/6.3.0/CONFIG.md create mode 100644 incubator/node-red/6.3.0/Chart.lock create mode 100644 incubator/node-red/6.3.0/Chart.yaml create mode 100644 incubator/node-red/6.3.0/README.md create mode 100644 incubator/node-red/6.3.0/app-readme.md create mode 100644 incubator/node-red/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/node-red/6.3.0/ix_values.yaml create mode 100644 incubator/node-red/6.3.0/questions.yaml create mode 100644 incubator/node-red/6.3.0/templates/common.yaml create mode 100644 incubator/node-red/6.3.0/test_values.yaml create mode 100644 incubator/node-red/6.3.0/values.yaml create mode 100644 incubator/nullserv/1.1.0/CONFIG.md create mode 100644 incubator/nullserv/1.1.0/Chart.lock create mode 100644 incubator/nullserv/1.1.0/Chart.yaml create mode 100644 incubator/nullserv/1.1.0/README.md create mode 100644 incubator/nullserv/1.1.0/app-readme.md create mode 100644 incubator/nullserv/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/nullserv/1.1.0/ix_values.yaml create mode 100644 incubator/nullserv/1.1.0/questions.yaml create mode 100644 incubator/nullserv/1.1.0/templates/common.yaml create mode 100644 incubator/nullserv/1.1.0/test_values.yaml create mode 100644 incubator/nullserv/1.1.0/values.yaml create mode 100644 incubator/nzbget/6.3.0/CONFIG.md create mode 100644 incubator/nzbget/6.3.0/Chart.lock create mode 100644 incubator/nzbget/6.3.0/Chart.yaml create mode 100644 incubator/nzbget/6.3.0/README.md create mode 100644 incubator/nzbget/6.3.0/app-readme.md create mode 100644 incubator/nzbget/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/nzbget/6.3.0/ix_values.yaml create mode 100644 incubator/nzbget/6.3.0/questions.yaml create mode 100644 incubator/nzbget/6.3.0/templates/common.yaml create mode 100644 incubator/nzbget/6.3.0/test_values.yaml create mode 100644 incubator/nzbget/6.3.0/values.yaml create mode 100644 incubator/octoprint/1.1.0/CONFIG.md create mode 100644 incubator/octoprint/1.1.0/Chart.lock create mode 100644 incubator/octoprint/1.1.0/Chart.yaml create mode 100644 incubator/octoprint/1.1.0/README.md create mode 100644 incubator/octoprint/1.1.0/app-readme.md create mode 100644 incubator/octoprint/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/octoprint/1.1.0/ix_values.yaml create mode 100644 incubator/octoprint/1.1.0/questions.yaml create mode 100644 incubator/octoprint/1.1.0/templates/common.yaml create mode 100644 incubator/octoprint/1.1.0/test_values.yaml create mode 100644 incubator/octoprint/1.1.0/values.yaml create mode 100644 incubator/omada-controller/1.1.0/CONFIG.md create mode 100644 incubator/omada-controller/1.1.0/Chart.lock create mode 100644 incubator/omada-controller/1.1.0/Chart.yaml create mode 100644 incubator/omada-controller/1.1.0/README.md create mode 100644 incubator/omada-controller/1.1.0/app-readme.md create mode 100644 incubator/omada-controller/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/omada-controller/1.1.0/ix_values.yaml create mode 100644 incubator/omada-controller/1.1.0/questions.yaml create mode 100644 incubator/omada-controller/1.1.0/templates/common.yaml create mode 100644 incubator/omada-controller/1.1.0/test_values.yaml create mode 100644 incubator/omada-controller/1.1.0/values.yaml create mode 100644 incubator/organizr/6.3.0/CONFIG.md create mode 100644 incubator/organizr/6.3.0/Chart.lock create mode 100644 incubator/organizr/6.3.0/Chart.yaml create mode 100644 incubator/organizr/6.3.0/README.md create mode 100644 incubator/organizr/6.3.0/app-readme.md create mode 100644 incubator/organizr/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/organizr/6.3.0/ix_values.yaml create mode 100644 incubator/organizr/6.3.0/questions.yaml create mode 100644 incubator/organizr/6.3.0/templates/common.yaml create mode 100644 incubator/organizr/6.3.0/test_values.yaml create mode 100644 incubator/organizr/6.3.0/values.yaml create mode 100644 incubator/overseerr/1.1.0/CONFIG.md create mode 100644 incubator/overseerr/1.1.0/Chart.lock create mode 100644 incubator/overseerr/1.1.0/Chart.yaml create mode 100644 incubator/overseerr/1.1.0/README.md create mode 100644 incubator/overseerr/1.1.0/app-readme.md create mode 100644 incubator/overseerr/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/overseerr/1.1.0/ix_values.yaml create mode 100644 incubator/overseerr/1.1.0/questions.yaml create mode 100644 incubator/overseerr/1.1.0/templates/common.yaml create mode 100644 incubator/overseerr/1.1.0/test_values.yaml create mode 100644 incubator/overseerr/1.1.0/values.yaml create mode 100644 incubator/owncast/1.1.0/CONFIG.md create mode 100644 incubator/owncast/1.1.0/Chart.lock create mode 100644 incubator/owncast/1.1.0/Chart.yaml create mode 100644 incubator/owncast/1.1.0/README.md create mode 100644 incubator/owncast/1.1.0/app-readme.md create mode 100644 incubator/owncast/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/owncast/1.1.0/ix_values.yaml create mode 100644 incubator/owncast/1.1.0/questions.yaml create mode 100644 incubator/owncast/1.1.0/templates/common.yaml create mode 100644 incubator/owncast/1.1.0/test_values.yaml create mode 100644 incubator/owncast/1.1.0/values.yaml create mode 100644 incubator/owncloud-ocis/1.1.0/CONFIG.md create mode 100644 incubator/owncloud-ocis/1.1.0/Chart.lock create mode 100644 incubator/owncloud-ocis/1.1.0/Chart.yaml create mode 100644 incubator/owncloud-ocis/1.1.0/README.md create mode 100644 incubator/owncloud-ocis/1.1.0/app-readme.md create mode 100644 incubator/owncloud-ocis/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/owncloud-ocis/1.1.0/ix_values.yaml create mode 100644 incubator/owncloud-ocis/1.1.0/questions.yaml create mode 100644 incubator/owncloud-ocis/1.1.0/templates/common.yaml create mode 100644 incubator/owncloud-ocis/1.1.0/test_values.yaml create mode 100644 incubator/owncloud-ocis/1.1.0/values.yaml create mode 100644 incubator/photoprism/1.1.0/CONFIG.md create mode 100644 incubator/photoprism/1.1.0/Chart.lock create mode 100644 incubator/photoprism/1.1.0/Chart.yaml create mode 100644 incubator/photoprism/1.1.0/README.md create mode 100644 incubator/photoprism/1.1.0/app-readme.md create mode 100644 incubator/photoprism/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/photoprism/1.1.0/ix_values.yaml create mode 100644 incubator/photoprism/1.1.0/questions.yaml create mode 100644 incubator/photoprism/1.1.0/templates/common.yaml create mode 100644 incubator/photoprism/1.1.0/test_values.yaml create mode 100644 incubator/photoprism/1.1.0/values.yaml create mode 100644 incubator/piaware/1.1.0/CONFIG.md create mode 100644 incubator/piaware/1.1.0/Chart.lock create mode 100644 incubator/piaware/1.1.0/Chart.yaml create mode 100644 incubator/piaware/1.1.0/README.md create mode 100644 incubator/piaware/1.1.0/app-readme.md create mode 100644 incubator/piaware/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/piaware/1.1.0/ci/ct-values.yaml create mode 100644 incubator/piaware/1.1.0/ix_values.yaml create mode 100644 incubator/piaware/1.1.0/questions.yaml create mode 100644 incubator/piaware/1.1.0/templates/common.yaml create mode 100644 incubator/piaware/1.1.0/test_values.yaml create mode 100644 incubator/piaware/1.1.0/values.yaml create mode 100644 incubator/podgrab/4.3.0/CONFIG.md create mode 100644 incubator/podgrab/4.3.0/Chart.lock create mode 100644 incubator/podgrab/4.3.0/Chart.yaml create mode 100644 incubator/podgrab/4.3.0/README.md create mode 100644 incubator/podgrab/4.3.0/app-readme.md create mode 100644 incubator/podgrab/4.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/podgrab/4.3.0/ix_values.yaml create mode 100644 incubator/podgrab/4.3.0/questions.yaml create mode 100644 incubator/podgrab/4.3.0/templates/common.yaml create mode 100644 incubator/podgrab/4.3.0/test_values.yaml create mode 100644 incubator/podgrab/4.3.0/values.yaml create mode 100644 incubator/pretend-youre-xyzzy/1.1.0/CONFIG.md create mode 100644 incubator/pretend-youre-xyzzy/1.1.0/Chart.lock create mode 100644 incubator/pretend-youre-xyzzy/1.1.0/Chart.yaml create mode 100644 incubator/pretend-youre-xyzzy/1.1.0/README.md create mode 100644 incubator/pretend-youre-xyzzy/1.1.0/app-readme.md create mode 100644 incubator/pretend-youre-xyzzy/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/pretend-youre-xyzzy/1.1.0/ix_values.yaml create mode 100644 incubator/pretend-youre-xyzzy/1.1.0/questions.yaml create mode 100644 incubator/pretend-youre-xyzzy/1.1.0/templates/common.yaml create mode 100644 incubator/pretend-youre-xyzzy/1.1.0/test_values.yaml create mode 100644 incubator/pretend-youre-xyzzy/1.1.0/values.yaml create mode 100644 incubator/protonmail-bridge/1.1.0/CONFIG.md create mode 100644 incubator/protonmail-bridge/1.1.0/Chart.lock create mode 100644 incubator/protonmail-bridge/1.1.0/Chart.yaml create mode 100644 incubator/protonmail-bridge/1.1.0/README.md create mode 100644 incubator/protonmail-bridge/1.1.0/app-readme.md create mode 100644 incubator/protonmail-bridge/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/protonmail-bridge/1.1.0/ix_values.yaml create mode 100644 incubator/protonmail-bridge/1.1.0/questions.yaml create mode 100644 incubator/protonmail-bridge/1.1.0/templates/common.yaml create mode 100644 incubator/protonmail-bridge/1.1.0/test_values.yaml create mode 100644 incubator/protonmail-bridge/1.1.0/values.yaml create mode 100644 incubator/prowlarr/1.3.0/CONFIG.md create mode 100644 incubator/prowlarr/1.3.0/Chart.lock create mode 100644 incubator/prowlarr/1.3.0/Chart.yaml create mode 100644 incubator/prowlarr/1.3.0/README.md create mode 100644 incubator/prowlarr/1.3.0/app-readme.md create mode 100644 incubator/prowlarr/1.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/prowlarr/1.3.0/ix_values.yaml create mode 100644 incubator/prowlarr/1.3.0/questions.yaml create mode 100644 incubator/prowlarr/1.3.0/templates/common.yaml create mode 100644 incubator/prowlarr/1.3.0/test_values.yaml create mode 100644 incubator/prowlarr/1.3.0/values.yaml create mode 100644 incubator/pyload/1.1.0/CONFIG.md create mode 100644 incubator/pyload/1.1.0/Chart.lock create mode 100644 incubator/pyload/1.1.0/Chart.yaml create mode 100644 incubator/pyload/1.1.0/README.md create mode 100644 incubator/pyload/1.1.0/app-readme.md create mode 100644 incubator/pyload/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/pyload/1.1.0/ix_values.yaml create mode 100644 incubator/pyload/1.1.0/questions.yaml create mode 100644 incubator/pyload/1.1.0/templates/common.yaml create mode 100644 incubator/pyload/1.1.0/test_values.yaml create mode 100644 incubator/pyload/1.1.0/values.yaml create mode 100644 incubator/qbittorrent/6.3.0/CONFIG.md create mode 100644 incubator/qbittorrent/6.3.0/Chart.lock create mode 100644 incubator/qbittorrent/6.3.0/Chart.yaml create mode 100644 incubator/qbittorrent/6.3.0/README.md create mode 100644 incubator/qbittorrent/6.3.0/app-readme.md create mode 100644 incubator/qbittorrent/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/qbittorrent/6.3.0/ix_values.yaml create mode 100644 incubator/qbittorrent/6.3.0/questions.yaml create mode 100644 incubator/qbittorrent/6.3.0/templates/_configmap.tpl create mode 100644 incubator/qbittorrent/6.3.0/templates/common.yaml create mode 100644 incubator/qbittorrent/6.3.0/test_values.yaml create mode 100644 incubator/qbittorrent/6.3.0/values.yaml create mode 100644 incubator/readarr/6.3.0/CONFIG.md create mode 100644 incubator/readarr/6.3.0/Chart.lock create mode 100644 incubator/readarr/6.3.0/Chart.yaml create mode 100644 incubator/readarr/6.3.0/README.md create mode 100644 incubator/readarr/6.3.0/app-readme.md create mode 100644 incubator/readarr/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/readarr/6.3.0/ix_values.yaml create mode 100644 incubator/readarr/6.3.0/questions.yaml create mode 100644 incubator/readarr/6.3.0/templates/common.yaml create mode 100644 incubator/readarr/6.3.0/test_values.yaml create mode 100644 incubator/readarr/6.3.0/values.yaml create mode 100644 incubator/reg/1.3.0/CONFIG.md create mode 100644 incubator/reg/1.3.0/Chart.lock create mode 100644 incubator/reg/1.3.0/Chart.yaml create mode 100644 incubator/reg/1.3.0/README.md create mode 100644 incubator/reg/1.3.0/app-readme.md create mode 100644 incubator/reg/1.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/reg/1.3.0/ci/ct-values.yaml create mode 100644 incubator/reg/1.3.0/ix_values.yaml create mode 100644 incubator/reg/1.3.0/questions.yaml create mode 100644 incubator/reg/1.3.0/templates/common.yaml create mode 100644 incubator/reg/1.3.0/test_values.yaml create mode 100644 incubator/reg/1.3.0/values.yaml create mode 100644 incubator/sabnzbd/6.3.0/CONFIG.md create mode 100644 incubator/sabnzbd/6.3.0/Chart.lock create mode 100644 incubator/sabnzbd/6.3.0/Chart.yaml create mode 100644 incubator/sabnzbd/6.3.0/README.md create mode 100644 incubator/sabnzbd/6.3.0/app-readme.md create mode 100644 incubator/sabnzbd/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/sabnzbd/6.3.0/ix_values.yaml create mode 100644 incubator/sabnzbd/6.3.0/questions.yaml create mode 100644 incubator/sabnzbd/6.3.0/templates/common.yaml create mode 100644 incubator/sabnzbd/6.3.0/test_values.yaml create mode 100644 incubator/sabnzbd/6.3.0/values.yaml create mode 100644 incubator/ser2sock/1.1.0/CONFIG.md create mode 100644 incubator/ser2sock/1.1.0/Chart.lock create mode 100644 incubator/ser2sock/1.1.0/Chart.yaml create mode 100644 incubator/ser2sock/1.1.0/README.md create mode 100644 incubator/ser2sock/1.1.0/app-readme.md create mode 100644 incubator/ser2sock/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/ser2sock/1.1.0/ix_values.yaml create mode 100644 incubator/ser2sock/1.1.0/questions.yaml create mode 100644 incubator/ser2sock/1.1.0/templates/common.yaml create mode 100644 incubator/ser2sock/1.1.0/test_values.yaml create mode 100644 incubator/ser2sock/1.1.0/values.yaml create mode 100644 incubator/stash/1.1.0/CONFIG.md create mode 100644 incubator/stash/1.1.0/Chart.lock create mode 100644 incubator/stash/1.1.0/Chart.yaml create mode 100644 incubator/stash/1.1.0/README.md create mode 100644 incubator/stash/1.1.0/app-readme.md create mode 100644 incubator/stash/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/stash/1.1.0/ci/ct-values.yaml create mode 100644 incubator/stash/1.1.0/ix_values.yaml create mode 100644 incubator/stash/1.1.0/questions.yaml create mode 100644 incubator/stash/1.1.0/templates/common.yaml create mode 100644 incubator/stash/1.1.0/test_values.yaml create mode 100644 incubator/stash/1.1.0/values.yaml create mode 100644 incubator/thelounge/1.3.0/CONFIG.md create mode 100644 incubator/thelounge/1.3.0/Chart.lock create mode 100644 incubator/thelounge/1.3.0/Chart.yaml create mode 100644 incubator/thelounge/1.3.0/README.md create mode 100644 incubator/thelounge/1.3.0/app-readme.md create mode 100644 incubator/thelounge/1.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/thelounge/1.3.0/ix_values.yaml create mode 100644 incubator/thelounge/1.3.0/questions.yaml create mode 100644 incubator/thelounge/1.3.0/templates/common.yaml create mode 100644 incubator/thelounge/1.3.0/test_values.yaml create mode 100644 incubator/thelounge/1.3.0/values.yaml create mode 100644 incubator/tvheadend/7.3.0/CONFIG.md create mode 100644 incubator/tvheadend/7.3.0/Chart.lock create mode 100644 incubator/tvheadend/7.3.0/Chart.yaml create mode 100644 incubator/tvheadend/7.3.0/README.md create mode 100644 incubator/tvheadend/7.3.0/app-readme.md create mode 100644 incubator/tvheadend/7.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/tvheadend/7.3.0/ix_values.yaml create mode 100644 incubator/tvheadend/7.3.0/questions.yaml create mode 100644 incubator/tvheadend/7.3.0/templates/common.yaml create mode 100644 incubator/tvheadend/7.3.0/test_values.yaml create mode 100644 incubator/tvheadend/7.3.0/values.yaml create mode 100644 incubator/unifi/6.3.0/CONFIG.md create mode 100644 incubator/unifi/6.3.0/Chart.lock create mode 100644 incubator/unifi/6.3.0/Chart.yaml create mode 100644 incubator/unifi/6.3.0/README.md create mode 100644 incubator/unifi/6.3.0/app-readme.md create mode 100644 incubator/unifi/6.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/unifi/6.3.0/ix_values.yaml create mode 100644 incubator/unifi/6.3.0/questions.yaml create mode 100644 incubator/unifi/6.3.0/templates/common.yaml create mode 100644 incubator/unifi/6.3.0/test_values.yaml create mode 100644 incubator/unifi/6.3.0/values.yaml create mode 100644 incubator/unpackerr/1.3.0/CONFIG.md create mode 100644 incubator/unpackerr/1.3.0/Chart.lock create mode 100644 incubator/unpackerr/1.3.0/Chart.yaml create mode 100644 incubator/unpackerr/1.3.0/README.md create mode 100644 incubator/unpackerr/1.3.0/app-readme.md create mode 100644 incubator/unpackerr/1.3.0/charts/common-6.5.0.tgz create mode 100644 incubator/unpackerr/1.3.0/ix_values.yaml create mode 100644 incubator/unpackerr/1.3.0/questions.yaml create mode 100644 incubator/unpackerr/1.3.0/templates/common.yaml create mode 100644 incubator/unpackerr/1.3.0/test_values.yaml create mode 100644 incubator/unpackerr/1.3.0/values.yaml create mode 100644 incubator/xteve/1.1.0/CONFIG.md create mode 100644 incubator/xteve/1.1.0/Chart.lock create mode 100644 incubator/xteve/1.1.0/Chart.yaml create mode 100644 incubator/xteve/1.1.0/README.md create mode 100644 incubator/xteve/1.1.0/app-readme.md create mode 100644 incubator/xteve/1.1.0/charts/common-6.5.0.tgz create mode 100644 incubator/xteve/1.1.0/ix_values.yaml create mode 100644 incubator/xteve/1.1.0/questions.yaml create mode 100644 incubator/xteve/1.1.0/templates/common.yaml create mode 100644 incubator/xteve/1.1.0/test_values.yaml create mode 100644 incubator/xteve/1.1.0/values.yaml create mode 100644 non-free/resilio-sync/1.1.0/CONFIG.md create mode 100644 non-free/resilio-sync/1.1.0/Chart.lock create mode 100644 non-free/resilio-sync/1.1.0/Chart.yaml create mode 100644 non-free/resilio-sync/1.1.0/README.md create mode 100644 non-free/resilio-sync/1.1.0/app-readme.md create mode 100644 non-free/resilio-sync/1.1.0/charts/common-6.5.0.tgz create mode 100644 non-free/resilio-sync/1.1.0/ix_values.yaml create mode 100644 non-free/resilio-sync/1.1.0/questions.yaml create mode 100644 non-free/resilio-sync/1.1.0/templates/common.yaml create mode 100644 non-free/resilio-sync/1.1.0/test_values.yaml create mode 100644 non-free/resilio-sync/1.1.0/values.yaml create mode 100644 stable/collabora-online/6.3.0/CONFIG.md create mode 100644 stable/collabora-online/6.3.0/Chart.lock create mode 100644 stable/collabora-online/6.3.0/Chart.yaml create mode 100644 stable/collabora-online/6.3.0/README.md create mode 100644 stable/collabora-online/6.3.0/app-readme.md create mode 100644 stable/collabora-online/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/collabora-online/6.3.0/ix_values.yaml create mode 100644 stable/collabora-online/6.3.0/questions.yaml create mode 100644 stable/collabora-online/6.3.0/templates/common.yaml create mode 100644 stable/collabora-online/6.3.0/test_values.yaml create mode 100644 stable/collabora-online/6.3.0/values.yaml create mode 100644 stable/deepstack-cpu/4.3.0/CONFIG.md create mode 100644 stable/deepstack-cpu/4.3.0/Chart.lock create mode 100644 stable/deepstack-cpu/4.3.0/Chart.yaml create mode 100644 stable/deepstack-cpu/4.3.0/README.md create mode 100644 stable/deepstack-cpu/4.3.0/app-readme.md create mode 100644 stable/deepstack-cpu/4.3.0/charts/common-6.5.0.tgz create mode 100644 stable/deepstack-cpu/4.3.0/ix_values.yaml create mode 100644 stable/deepstack-cpu/4.3.0/questions.yaml create mode 100644 stable/deepstack-cpu/4.3.0/templates/common.yaml create mode 100644 stable/deepstack-cpu/4.3.0/test_values.yaml create mode 100644 stable/deepstack-cpu/4.3.0/values.yaml create mode 100644 stable/emby/6.3.0/CONFIG.md create mode 100644 stable/emby/6.3.0/Chart.lock create mode 100644 stable/emby/6.3.0/Chart.yaml create mode 100644 stable/emby/6.3.0/README.md create mode 100644 stable/emby/6.3.0/app-readme.md create mode 100644 stable/emby/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/emby/6.3.0/ix_values.yaml create mode 100644 stable/emby/6.3.0/questions.yaml create mode 100644 stable/emby/6.3.0/templates/common.yaml create mode 100644 stable/emby/6.3.0/test_values.yaml create mode 100644 stable/emby/6.3.0/values.yaml create mode 100644 stable/esphome/6.3.0/CONFIG.md create mode 100644 stable/esphome/6.3.0/Chart.lock create mode 100644 stable/esphome/6.3.0/Chart.yaml create mode 100644 stable/esphome/6.3.0/README.md create mode 100644 stable/esphome/6.3.0/app-readme.md create mode 100644 stable/esphome/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/esphome/6.3.0/ix_values.yaml create mode 100644 stable/esphome/6.3.0/questions.yaml create mode 100644 stable/esphome/6.3.0/templates/common.yaml create mode 100644 stable/esphome/6.3.0/test_values.yaml create mode 100644 stable/esphome/6.3.0/values.yaml create mode 100644 stable/handbrake/6.3.0/CONFIG.md create mode 100644 stable/handbrake/6.3.0/Chart.lock create mode 100644 stable/handbrake/6.3.0/Chart.yaml create mode 100644 stable/handbrake/6.3.0/README.md create mode 100644 stable/handbrake/6.3.0/app-readme.md create mode 100644 stable/handbrake/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/handbrake/6.3.0/ix_values.yaml create mode 100644 stable/handbrake/6.3.0/questions.yaml create mode 100644 stable/handbrake/6.3.0/templates/common.yaml create mode 100644 stable/handbrake/6.3.0/test_values.yaml create mode 100644 stable/handbrake/6.3.0/values.yaml create mode 100644 stable/home-assistant/6.3.0/CONFIG.md create mode 100644 stable/home-assistant/6.3.0/Chart.lock create mode 100644 stable/home-assistant/6.3.0/Chart.yaml create mode 100644 stable/home-assistant/6.3.0/README.md create mode 100644 stable/home-assistant/6.3.0/app-readme.md create mode 100644 stable/home-assistant/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/home-assistant/6.3.0/ix_values.yaml create mode 100644 stable/home-assistant/6.3.0/questions.yaml create mode 100644 stable/home-assistant/6.3.0/templates/common.yaml create mode 100644 stable/home-assistant/6.3.0/templates/secret.yaml create mode 100644 stable/home-assistant/6.3.0/test_values.yaml create mode 100644 stable/home-assistant/6.3.0/values.yaml create mode 100644 stable/jackett/6.3.0/CONFIG.md create mode 100644 stable/jackett/6.3.0/Chart.lock create mode 100644 stable/jackett/6.3.0/Chart.yaml create mode 100644 stable/jackett/6.3.0/README.md create mode 100644 stable/jackett/6.3.0/app-readme.md create mode 100644 stable/jackett/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/jackett/6.3.0/ix_values.yaml create mode 100644 stable/jackett/6.3.0/questions.yaml create mode 100644 stable/jackett/6.3.0/templates/common.yaml create mode 100644 stable/jackett/6.3.0/test_values.yaml create mode 100644 stable/jackett/6.3.0/values.yaml create mode 100644 stable/jellyfin/6.3.0/CONFIG.md create mode 100644 stable/jellyfin/6.3.0/Chart.lock create mode 100644 stable/jellyfin/6.3.0/Chart.yaml create mode 100644 stable/jellyfin/6.3.0/README.md create mode 100644 stable/jellyfin/6.3.0/app-readme.md create mode 100644 stable/jellyfin/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/jellyfin/6.3.0/ix_values.yaml create mode 100644 stable/jellyfin/6.3.0/questions.yaml create mode 100644 stable/jellyfin/6.3.0/templates/common.yaml create mode 100644 stable/jellyfin/6.3.0/test_values.yaml create mode 100644 stable/jellyfin/6.3.0/values.yaml create mode 100644 stable/kms/6.3.0/CONFIG.md create mode 100644 stable/kms/6.3.0/Chart.lock create mode 100644 stable/kms/6.3.0/Chart.yaml create mode 100644 stable/kms/6.3.0/README.md create mode 100644 stable/kms/6.3.0/app-readme.md create mode 100644 stable/kms/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/kms/6.3.0/ix_values.yaml create mode 100644 stable/kms/6.3.0/questions.yaml create mode 100644 stable/kms/6.3.0/templates/common.yaml create mode 100644 stable/kms/6.3.0/test_values.yaml create mode 100644 stable/kms/6.3.0/values.yaml create mode 100644 stable/lidarr/6.3.0/CONFIG.md create mode 100644 stable/lidarr/6.3.0/Chart.lock create mode 100644 stable/lidarr/6.3.0/Chart.yaml create mode 100644 stable/lidarr/6.3.0/README.md create mode 100644 stable/lidarr/6.3.0/app-readme.md create mode 100644 stable/lidarr/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/lidarr/6.3.0/ix_values.yaml create mode 100644 stable/lidarr/6.3.0/questions.yaml create mode 100644 stable/lidarr/6.3.0/templates/common.yaml create mode 100644 stable/lidarr/6.3.0/test_values.yaml create mode 100644 stable/lidarr/6.3.0/values.yaml create mode 100644 stable/ombi/6.3.0/CONFIG.md create mode 100644 stable/ombi/6.3.0/Chart.lock create mode 100644 stable/ombi/6.3.0/Chart.yaml create mode 100644 stable/ombi/6.3.0/README.md create mode 100644 stable/ombi/6.3.0/app-readme.md create mode 100644 stable/ombi/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/ombi/6.3.0/ix_values.yaml create mode 100644 stable/ombi/6.3.0/questions.yaml create mode 100644 stable/ombi/6.3.0/templates/common.yaml create mode 100644 stable/ombi/6.3.0/test_values.yaml create mode 100644 stable/ombi/6.3.0/values.yaml create mode 100644 stable/plex/5.3.0/CONFIG.md create mode 100644 stable/plex/5.3.0/Chart.lock create mode 100644 stable/plex/5.3.0/Chart.yaml create mode 100644 stable/plex/5.3.0/README.md create mode 100644 stable/plex/5.3.0/app-readme.md create mode 100644 stable/plex/5.3.0/charts/common-6.5.0.tgz create mode 100644 stable/plex/5.3.0/ix_values.yaml create mode 100644 stable/plex/5.3.0/questions.yaml create mode 100644 stable/plex/5.3.0/templates/common.yaml create mode 100644 stable/plex/5.3.0/test_values.yaml create mode 100644 stable/plex/5.3.0/values.yaml create mode 100644 stable/radarr/6.3.0/CONFIG.md create mode 100644 stable/radarr/6.3.0/Chart.lock create mode 100644 stable/radarr/6.3.0/Chart.yaml create mode 100644 stable/radarr/6.3.0/README.md create mode 100644 stable/radarr/6.3.0/app-readme.md create mode 100644 stable/radarr/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/radarr/6.3.0/ix_values.yaml create mode 100644 stable/radarr/6.3.0/questions.yaml create mode 100644 stable/radarr/6.3.0/templates/common.yaml create mode 100644 stable/radarr/6.3.0/test_values.yaml create mode 100644 stable/radarr/6.3.0/values.yaml create mode 100644 stable/sonarr/6.3.0/CONFIG.md create mode 100644 stable/sonarr/6.3.0/Chart.lock create mode 100644 stable/sonarr/6.3.0/Chart.yaml create mode 100644 stable/sonarr/6.3.0/README.md create mode 100644 stable/sonarr/6.3.0/app-readme.md create mode 100644 stable/sonarr/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/sonarr/6.3.0/ix_values.yaml create mode 100644 stable/sonarr/6.3.0/questions.yaml create mode 100644 stable/sonarr/6.3.0/templates/common.yaml create mode 100644 stable/sonarr/6.3.0/test_values.yaml create mode 100644 stable/sonarr/6.3.0/values.yaml create mode 100644 stable/syncthing/6.3.0/CONFIG.md create mode 100644 stable/syncthing/6.3.0/Chart.lock create mode 100644 stable/syncthing/6.3.0/Chart.yaml create mode 100644 stable/syncthing/6.3.0/README.md create mode 100644 stable/syncthing/6.3.0/app-readme.md create mode 100644 stable/syncthing/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/syncthing/6.3.0/ix_values.yaml create mode 100644 stable/syncthing/6.3.0/questions.yaml create mode 100644 stable/syncthing/6.3.0/templates/common.yaml create mode 100644 stable/syncthing/6.3.0/test_values.yaml create mode 100644 stable/syncthing/6.3.0/values.yaml create mode 100644 stable/tautulli/6.3.0/CONFIG.md create mode 100644 stable/tautulli/6.3.0/Chart.lock create mode 100644 stable/tautulli/6.3.0/Chart.yaml create mode 100644 stable/tautulli/6.3.0/README.md create mode 100644 stable/tautulli/6.3.0/app-readme.md create mode 100644 stable/tautulli/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/tautulli/6.3.0/ix_values.yaml create mode 100644 stable/tautulli/6.3.0/questions.yaml create mode 100644 stable/tautulli/6.3.0/templates/common.yaml create mode 100644 stable/tautulli/6.3.0/test_values.yaml create mode 100644 stable/tautulli/6.3.0/values.yaml create mode 100644 stable/traefik/6.4.0/CONFIG.md create mode 100644 stable/traefik/6.4.0/Chart.lock create mode 100644 stable/traefik/6.4.0/Chart.yaml create mode 100644 stable/traefik/6.4.0/LICENSE create mode 100644 stable/traefik/6.4.0/README.md create mode 100644 stable/traefik/6.4.0/app-readme.md create mode 100644 stable/traefik/6.4.0/charts/common-6.5.0.tgz create mode 100644 stable/traefik/6.4.0/crds/ingressroute.yaml create mode 100644 stable/traefik/6.4.0/crds/ingressroutetcp.yaml create mode 100644 stable/traefik/6.4.0/crds/ingressrouteudp.yaml create mode 100644 stable/traefik/6.4.0/crds/middlewares.yaml create mode 100644 stable/traefik/6.4.0/crds/serverstransports.yaml create mode 100644 stable/traefik/6.4.0/crds/tlsoptions.yaml create mode 100644 stable/traefik/6.4.0/crds/tlsstores.yaml create mode 100644 stable/traefik/6.4.0/crds/traefikservices.yaml create mode 100644 stable/traefik/6.4.0/ix_values.yaml create mode 100644 stable/traefik/6.4.0/questions.yaml create mode 100644 stable/traefik/6.4.0/templates/_helpers.tpl create mode 100644 stable/traefik/6.4.0/templates/_podtemplate.tpl create mode 100644 stable/traefik/6.4.0/templates/custom/common.yaml create mode 100644 stable/traefik/6.4.0/templates/custom/middleware-namespace.yaml create mode 100644 stable/traefik/6.4.0/templates/custom/middlewares/basic-middleware.yaml create mode 100644 stable/traefik/6.4.0/templates/custom/middlewares/basicauth.yaml create mode 100644 stable/traefik/6.4.0/templates/custom/middlewares/forwardauth.yaml create mode 100644 stable/traefik/6.4.0/templates/custom/portal.yaml create mode 100644 stable/traefik/6.4.0/templates/daemonset.yaml create mode 100644 stable/traefik/6.4.0/templates/dashboard-hook-ingressroute.yaml create mode 100644 stable/traefik/6.4.0/templates/deployment.yaml create mode 100644 stable/traefik/6.4.0/templates/gateway.yaml create mode 100644 stable/traefik/6.4.0/templates/gatewayclass.yaml create mode 100644 stable/traefik/6.4.0/templates/hpa.yaml create mode 100644 stable/traefik/6.4.0/templates/ingressclass.yaml create mode 100644 stable/traefik/6.4.0/templates/poddisruptionbudget.yaml create mode 100644 stable/traefik/6.4.0/templates/rbac/clusterrole.yaml create mode 100644 stable/traefik/6.4.0/templates/rbac/clusterrolebinding.yaml create mode 100644 stable/traefik/6.4.0/templates/rbac/podsecuritypolicy.yaml create mode 100644 stable/traefik/6.4.0/templates/rbac/role.yaml create mode 100644 stable/traefik/6.4.0/templates/rbac/rolebinding.yaml create mode 100644 stable/traefik/6.4.0/templates/rbac/serviceaccount.yaml create mode 100644 stable/traefik/6.4.0/templates/service.yaml create mode 100644 stable/traefik/6.4.0/templates/tlsoption.yaml create mode 100644 stable/traefik/6.4.0/test_values.yaml create mode 100644 stable/traefik/6.4.0/values.yaml create mode 100644 stable/transmission/6.3.0/CONFIG.md create mode 100644 stable/transmission/6.3.0/Chart.lock create mode 100644 stable/transmission/6.3.0/Chart.yaml create mode 100644 stable/transmission/6.3.0/README.md create mode 100644 stable/transmission/6.3.0/app-readme.md create mode 100644 stable/transmission/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/transmission/6.3.0/ix_values.yaml create mode 100644 stable/transmission/6.3.0/questions.yaml create mode 100644 stable/transmission/6.3.0/templates/common.yaml create mode 100644 stable/transmission/6.3.0/test_values.yaml create mode 100644 stable/transmission/6.3.0/values.yaml create mode 100644 stable/truecommand/6.3.0/CONFIG.md create mode 100644 stable/truecommand/6.3.0/Chart.lock create mode 100644 stable/truecommand/6.3.0/Chart.yaml create mode 100644 stable/truecommand/6.3.0/README.md create mode 100644 stable/truecommand/6.3.0/app-readme.md create mode 100644 stable/truecommand/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/truecommand/6.3.0/ix_values.yaml create mode 100644 stable/truecommand/6.3.0/questions.yaml create mode 100644 stable/truecommand/6.3.0/templates/common.yaml create mode 100644 stable/truecommand/6.3.0/test_values.yaml create mode 100644 stable/truecommand/6.3.0/values.yaml create mode 100644 stable/vaultwarden/3.4.0/CONFIG.md create mode 100644 stable/vaultwarden/3.4.0/Chart.lock create mode 100644 stable/vaultwarden/3.4.0/Chart.yaml create mode 100644 stable/vaultwarden/3.4.0/README.md create mode 100644 stable/vaultwarden/3.4.0/app-readme.md create mode 100644 stable/vaultwarden/3.4.0/charts/common-6.5.0.tgz create mode 100644 stable/vaultwarden/3.4.0/charts/postgresql-10.5.1.tgz create mode 100644 stable/vaultwarden/3.4.0/ix_values.yaml create mode 100644 stable/vaultwarden/3.4.0/questions.yaml create mode 100644 stable/vaultwarden/3.4.0/templates/_configmap.tpl create mode 100644 stable/vaultwarden/3.4.0/templates/_secrets.tpl create mode 100644 stable/vaultwarden/3.4.0/templates/_validate.tpl create mode 100644 stable/vaultwarden/3.4.0/templates/common.yaml create mode 100644 stable/vaultwarden/3.4.0/test_values.yaml create mode 100644 stable/vaultwarden/3.4.0/values.yaml create mode 100644 stable/zwavejs2mqtt/6.3.0/CONFIG.md create mode 100644 stable/zwavejs2mqtt/6.3.0/Chart.lock create mode 100644 stable/zwavejs2mqtt/6.3.0/Chart.yaml create mode 100644 stable/zwavejs2mqtt/6.3.0/README.md create mode 100644 stable/zwavejs2mqtt/6.3.0/app-readme.md create mode 100644 stable/zwavejs2mqtt/6.3.0/charts/common-6.5.0.tgz create mode 100644 stable/zwavejs2mqtt/6.3.0/ix_values.yaml create mode 100644 stable/zwavejs2mqtt/6.3.0/questions.yaml create mode 100644 stable/zwavejs2mqtt/6.3.0/templates/common.yaml create mode 100644 stable/zwavejs2mqtt/6.3.0/test_values.yaml create mode 100644 stable/zwavejs2mqtt/6.3.0/values.yaml diff --git a/deprecated/nzbhydra/6.3.0/CONFIG.md b/deprecated/nzbhydra/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/deprecated/nzbhydra/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/deprecated/nzbhydra/6.3.0/Chart.lock b/deprecated/nzbhydra/6.3.0/Chart.lock new file mode 100644 index 00000000000..41ec71ac22e --- /dev/null +++ b/deprecated/nzbhydra/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:49:53.240234083Z" diff --git a/deprecated/nzbhydra/6.3.0/Chart.yaml b/deprecated/nzbhydra/6.3.0/Chart.yaml new file mode 100644 index 00000000000..7a28bf7140f --- /dev/null +++ b/deprecated/nzbhydra/6.3.0/Chart.yaml @@ -0,0 +1,20 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: true +description: Usenet meta search +home: https://github.com/truecharts/apps/tree/master/charts/incubator/nzbhydra +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/hydra-icon.png +keywords: +- nzbhydra +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: [] +name: nzbhydra +sources: +- https://github.com/theotherp/nzbhydra2 +type: application +version: 6.3.0 diff --git a/deprecated/nzbhydra/6.3.0/README.md b/deprecated/nzbhydra/6.3.0/README.md new file mode 100644 index 00000000000..eb7e83a54df --- /dev/null +++ b/deprecated/nzbhydra/6.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Usenet meta search + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `nzbhydra` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `nzbhydra` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/deprecated/nzbhydra/6.3.0/app-readme.md b/deprecated/nzbhydra/6.3.0/app-readme.md new file mode 100644 index 00000000000..2012c83a622 --- /dev/null +++ b/deprecated/nzbhydra/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Usenet meta search +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Usenet meta search diff --git a/deprecated/nzbhydra/6.3.0/charts/common-6.5.0.tgz b/deprecated/nzbhydra/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/deprecated/nzbhydra/6.3.0/ix_values.yaml b/deprecated/nzbhydra/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..057c2c67a5d --- /dev/null +++ b/deprecated/nzbhydra/6.3.0/ix_values.yaml @@ -0,0 +1,51 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/nzbhydra2 + pullPolicy: IfNotPresent + tag: v3.14.2 + +probes: + liveness: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/livenessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + readiness: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/readinessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + startup: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/readinessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/deprecated/nzbhydra/6.3.0/questions.yaml b/deprecated/nzbhydra/6.3.0/questions.yaml new file mode 100644 index 00000000000..95185c5c0fb --- /dev/null +++ b/deprecated/nzbhydra/6.3.0/questions.yaml @@ -0,0 +1,668 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 5076 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5076 + editable: true + 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 + default: 36041 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/deprecated/nzbhydra/6.3.0/templates/common.yaml b/deprecated/nzbhydra/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/deprecated/nzbhydra/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/deprecated/nzbhydra/6.3.0/test_values.yaml b/deprecated/nzbhydra/6.3.0/test_values.yaml new file mode 100644 index 00000000000..5c988926a65 --- /dev/null +++ b/deprecated/nzbhydra/6.3.0/test_values.yaml @@ -0,0 +1,62 @@ +# Default values for nzbhydra. + +image: + repository: ghcr.io/k8s-at-home/nzbhydra2 + pullPolicy: IfNotPresent + tag: v3.14.2 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 5076 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/livenessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + readiness: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/readinessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + startup: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/readinessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/deprecated/nzbhydra/6.3.0/values.yaml b/deprecated/nzbhydra/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/develop/nextcloud/1.0.16/Chart.lock b/develop/nextcloud/1.0.16/Chart.lock index 9eafd13c46f..74dac8758d7 100644 --- a/develop/nextcloud/1.0.16/Chart.lock +++ b/develop/nextcloud/1.0.16/Chart.lock @@ -9,4 +9,4 @@ dependencies: repository: https://charts.bitnami.com/bitnami version: 14.6.3 digest: sha256:1feab7236f71fa25a92831c1a6cf62a50c1af47404fbf9327a0a1c1e712d97b9 -generated: "2021-07-03T10:45:01.972764441Z" +generated: "2021-07-03T10:49:40.798533394Z" diff --git a/develop/prototype-gui/1.4.0/CONFIG.md b/develop/prototype-gui/1.4.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/develop/prototype-gui/1.4.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/develop/prototype-gui/1.4.0/Chart.lock b/develop/prototype-gui/1.4.0/Chart.lock new file mode 100644 index 00000000000..c8117043bc6 --- /dev/null +++ b/develop/prototype-gui/1.4.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:49:49.729083847Z" diff --git a/develop/prototype-gui/1.4.0/Chart.yaml b/develop/prototype-gui/1.4.0/Chart.yaml new file mode 100644 index 00000000000..853b7c72c47 --- /dev/null +++ b/develop/prototype-gui/1.4.0/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: App to test GUI prototypes +home: https://github.com/truechartsapps/tree/master/charts/develop/prototype-gui +icon: https://truecharts.org/_static/img/jackett-icon.png +keywords: +- dev +- prototype +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: prototype-gui +sources: null +type: application +version: 1.4.0 diff --git a/develop/prototype-gui/1.4.0/README.md b/develop/prototype-gui/1.4.0/README.md new file mode 100644 index 00000000000..969b1b20525 --- /dev/null +++ b/develop/prototype-gui/1.4.0/README.md @@ -0,0 +1,52 @@ +# Introduction + +![Version: 1.3.10](https://img.shields.io/badge/Version-1.3.10-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +App to test GUI prototypes + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + + + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `prototype-gui` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `prototype-gui` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/develop/prototype-gui/1.4.0/app-readme.md b/develop/prototype-gui/1.4.0/app-readme.md new file mode 100644 index 00000000000..f1bf7dc8109 --- /dev/null +++ b/develop/prototype-gui/1.4.0/app-readme.md @@ -0,0 +1,3 @@ +API Support for your favorite torrent trackers. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +App to test GUI prototypes diff --git a/develop/prototype-gui/1.4.0/charts/common-6.5.0.tgz b/develop/prototype-gui/1.4.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/develop/prototype-gui/1.4.0/ix_values.yaml b/develop/prototype-gui/1.4.0/ix_values.yaml new file mode 100644 index 00000000000..1061fbbd45d --- /dev/null +++ b/develop/prototype-gui/1.4.0/ix_values.yaml @@ -0,0 +1,25 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/jackett + pullPolicy: IfNotPresent + tag: v0.18.263 + +probes: + liveness: + path: "/UI/Login" + + readiness: + path: "/UI/Login" + + startup: + path: "/UI/Login" + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/develop/prototype-gui/1.4.0/questions.yaml b/develop/prototype-gui/1.4.0/questions.yaml new file mode 100644 index 00000000000..19353ef508f --- /dev/null +++ b/develop/prototype-gui/1.4.0/questions.yaml @@ -0,0 +1,689 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "(Advanced) Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "(Advanced) 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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 9117 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9117 + editable: true + 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 + default: 36009 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "(Advanced) Enable privileged mode" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: "(Advanced) When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "(Advanced) Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory (RAM)" + schema: + type: string + default: "2Gi" + - variable: requests + label: "(Advanced) Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory (RAM)" + schema: + type: string + default: "50Mi" diff --git a/develop/prototype-gui/1.4.0/templates/common.yaml b/develop/prototype-gui/1.4.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/develop/prototype-gui/1.4.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/develop/prototype-gui/1.4.0/test_values.yaml b/develop/prototype-gui/1.4.0/test_values.yaml new file mode 100644 index 00000000000..30bacce5332 --- /dev/null +++ b/develop/prototype-gui/1.4.0/test_values.yaml @@ -0,0 +1,39 @@ +# Default values for Jackett. + +image: + repository: ghcr.io/k8s-at-home/jackett + pullPolicy: IfNotPresent + tag: v0.18.386 + +strategy: + type: Recreate + + +service: + main: + enabled: true + ports: + main: + port: 9117 + +probes: + liveness: + path: "/UI/Login" + + readiness: + path: "/UI/Login" + + startup: + path: "/UI/Login" + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/develop/prototype-gui/1.4.0/values.yaml b/develop/prototype-gui/1.4.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/airsonic/1.3.0/CONFIG.md b/incubator/airsonic/1.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/airsonic/1.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/airsonic/1.3.0/Chart.lock b/incubator/airsonic/1.3.0/Chart.lock new file mode 100644 index 00000000000..66cd8c00bfa --- /dev/null +++ b/incubator/airsonic/1.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:49.242946986Z" diff --git a/incubator/airsonic/1.3.0/Chart.yaml b/incubator/airsonic/1.3.0/Chart.yaml new file mode 100644 index 00000000000..4ef028b377d --- /dev/null +++ b/incubator/airsonic/1.3.0/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +description: Airsonic is a Free and Open Source community driven media server +home: https://github.com/truecharts/apps/tree/master/charts/incubator/airsonic +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/airsonic-logo.png +keywords: +- airsonic +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: airsonic +sources: +- https://github.com/airsonic/airsonic +- https://github.com/linuxserver/docker-airsonic +- https://github.com/k8s-at-home/charts/tree/master/charts/airsonic +version: 1.3.0 diff --git a/incubator/airsonic/1.3.0/README.md b/incubator/airsonic/1.3.0/README.md new file mode 100644 index 00000000000..6218895d3e6 --- /dev/null +++ b/incubator/airsonic/1.3.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 1.2.9](https://img.shields.io/badge/Version-1.2.9-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Airsonic is a Free and Open Source community driven media server + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `airsonic` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `airsonic` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/airsonic/1.3.0/app-readme.md b/incubator/airsonic/1.3.0/app-readme.md new file mode 100644 index 00000000000..02ff47fc823 --- /dev/null +++ b/incubator/airsonic/1.3.0/app-readme.md @@ -0,0 +1 @@ +Airsonic is a Free and Open Source community driven media server diff --git a/incubator/airsonic/1.3.0/charts/common-6.5.0.tgz b/incubator/airsonic/1.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/airsonic/1.3.0/ix_values.yaml b/incubator/airsonic/1.3.0/ix_values.yaml new file mode 100644 index 00000000000..8771a6489cf --- /dev/null +++ b/incubator/airsonic/1.3.0/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: linuxserver/airsonic + # -- image tag + tag: version-v10.6.2 + # -- image pull policy + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/airsonic/1.3.0/questions.yaml b/incubator/airsonic/1.3.0/questions.yaml new file mode 100644 index 00000000000..210974598cd --- /dev/null +++ b/incubator/airsonic/1.3.0/questions.yaml @@ -0,0 +1,642 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 4040 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 4040 + editable: true + 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 + default: 36050 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/airsonic/1.3.0/templates/common.yaml b/incubator/airsonic/1.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/airsonic/1.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/airsonic/1.3.0/test_values.yaml b/incubator/airsonic/1.3.0/test_values.yaml new file mode 100644 index 00000000000..a704a092be3 --- /dev/null +++ b/incubator/airsonic/1.3.0/test_values.yaml @@ -0,0 +1,60 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: linuxserver/airsonic + # -- image tag + tag: version-v10.6.2 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://docs.linuxserver.io/images/docker-airsonic#environment-variables-e) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1001" + # -- Specify the group ID the application will run as + PGID: "1001" + # -- Used to set the base path for reverse proxies eg. /booksonic, /books, etc. + CONTEXT_PATH: # "url-base" + # -- For passing additional java options. For some reverse proxies, you may need to pass `JAVA_OPTS=-Dserver.use-forward-headers=true` for airsonic to generate the proper URL schemes. + JAVA_OPTS: + +# -- Configures service settings for the chart. Normally this does not need to be modified. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 4040 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + music: + enabled: false + mountPath: /music + playlists: + enabled: false + mountPath: /playlists + podcasts: + enabled: false + mountPath: /podcasts + media: + enabled: false + mountPath: /media diff --git a/incubator/airsonic/1.3.0/values.yaml b/incubator/airsonic/1.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/appdaemon/3.3.0/CONFIG.md b/incubator/appdaemon/3.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/appdaemon/3.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/appdaemon/3.3.0/Chart.lock b/incubator/appdaemon/3.3.0/Chart.lock new file mode 100644 index 00000000000..5d563a75345 --- /dev/null +++ b/incubator/appdaemon/3.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:51.016308629Z" diff --git a/incubator/appdaemon/3.3.0/Chart.yaml b/incubator/appdaemon/3.3.0/Chart.yaml new file mode 100644 index 00000000000..a2ed47d6816 --- /dev/null +++ b/incubator/appdaemon/3.3.0/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: v4.0.8 +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: AppDaemon is a loosely coupled, multithreaded, sandboxed python execution + environment for writing automation apps for Home Assistant home automation software. + It also provides a configurable dashboard (HADashboard) suitable for wall mounted + tablets. +home: https://github.com/truecharts/apps/tree/master/charts/incubator/appdaemon +icon: https://github.com/hassio-addons/addon-appdaemon/blob/main/appdaemon/icon.png?raw=true +keywords: +- appdaemon +- homeautomation +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: 20650065+warllo54@users.noreply.github.com + name: warllo54 + url: truecharts.org +name: appdaemon +sources: +- https://github.com/AppDaemon/appdaemon +type: application +version: 3.3.0 diff --git a/incubator/appdaemon/3.3.0/README.md b/incubator/appdaemon/3.3.0/README.md new file mode 100644 index 00000000000..12c1f861c57 --- /dev/null +++ b/incubator/appdaemon/3.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 3.2.10](https://img.shields.io/badge/Version-3.2.10-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v4.0.8](https://img.shields.io/badge/AppVersion-v4.0.8-informational?style=flat-square) + +AppDaemon is a loosely coupled, multithreaded, sandboxed python execution environment for writing automation apps for Home Assistant home automation software. It also provides a configurable dashboard (HADashboard) suitable for wall mounted tablets. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `appdaemon` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `appdaemon` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/appdaemon/3.3.0/app-readme.md b/incubator/appdaemon/3.3.0/app-readme.md new file mode 100644 index 00000000000..083a4a25f67 --- /dev/null +++ b/incubator/appdaemon/3.3.0/app-readme.md @@ -0,0 +1,3 @@ +AppDaemon is a loosely coupled, multithreaded, sandboxed python execution environment for writing automation apps for Home Assistant home automation software. It also provides a configurable dashboard (HADashboard) suitable for wall mounted tablets. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +AppDaemon is a loosely coupled, multithreaded, sandboxed python execution diff --git a/incubator/appdaemon/3.3.0/charts/common-6.5.0.tgz b/incubator/appdaemon/3.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/appdaemon/3.3.0/ix_values.yaml b/incubator/appdaemon/3.3.0/ix_values.yaml new file mode 100644 index 00000000000..ef02d27c01d --- /dev/null +++ b/incubator/appdaemon/3.3.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: acockburn/appdaemon + pullPolicy: IfNotPresent + tag: "4.0.8" + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/appdaemon/3.3.0/questions.yaml b/incubator/appdaemon/3.3.0/questions.yaml new file mode 100644 index 00000000000..47b16f5496b --- /dev/null +++ b/incubator/appdaemon/3.3.0/questions.yaml @@ -0,0 +1,602 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: HA_URL + label: "HA URL" + description: "Your HomeAssistant URL" + schema: + type: string + default: "" + required: true + - variable: TOKEN + label: "HA Token" + description: "Your HomeAssistant Token" + schema: + type: string + default: "" + required: true + - variable: DASH_URL + label: "Dashboard URL" + description: "URL of your appdaemon dashboard" + schema: + type: string + default: "http://$HOSTNAME:5050" + required: true + - variable: LATITUDE + label: "Latitude" + description: "Latitude of your home assistant instance" + schema: + type: string + default: "" + required: true + - variable: LONGITUDE + label: "Longitude" + description: "Longitude of your home assistant instance" + schema: + type: string + default: "" + required: true + - variable: ELEVATION + label: "Elevation" + description: "Longitude of your home assistant instance" + schema: + type: int + default: 0 + required: true + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 5050 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51050 + editable: true + 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 + default: 36051 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: conf + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/conf" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/appdaemon/3.3.0/templates/common.yaml b/incubator/appdaemon/3.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/appdaemon/3.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/appdaemon/3.3.0/test_values.yaml b/incubator/appdaemon/3.3.0/test_values.yaml new file mode 100644 index 00000000000..c17735094cc --- /dev/null +++ b/incubator/appdaemon/3.3.0/test_values.yaml @@ -0,0 +1,41 @@ +image: + repository: ghcr.io/k8s-at-home/appdaemon + pullPolicy: IfNotPresent + tag: "v4.0.8" + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + +env: + TZ: "America/Chicago" + LATITUDE: 46 + LONGITUDE: -94 + ELEVATION: 1217 + DASH_URL: "http://$HOSTNAME:5050" + +service: + main: + ports: + main: + port: 5050 + tcp: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 51050 + protocol: TCP + +hostPathMounts: + - name: config + enabled: true + mountPath: /conf + type: emptyDir diff --git a/incubator/appdaemon/3.3.0/values.yaml b/incubator/appdaemon/3.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/bazarr/6.3.0/CONFIG.md b/incubator/bazarr/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/bazarr/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/bazarr/6.3.0/Chart.lock b/incubator/bazarr/6.3.0/Chart.lock new file mode 100644 index 00000000000..d2319ce5964 --- /dev/null +++ b/incubator/bazarr/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:52.730067743Z" diff --git a/incubator/bazarr/6.3.0/Chart.yaml b/incubator/bazarr/6.3.0/Chart.yaml new file mode 100644 index 00000000000..e5227813712 --- /dev/null +++ b/incubator/bazarr/6.3.0/Chart.yaml @@ -0,0 +1,32 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Bazarr is a companion application to Bazarr and Radarr. It manages and + downloads subtitles based on your requirements +home: https://github.com/truecharts/apps/tree/master/charts/incubator/bazarr +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/bazarr.png +keywords: +- bazarr +- radarr +- bazarr +- subtitles +- usenet +- torrent +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: bazarr +sources: +- https://github.com/Bazarr/Bazarr +- https://hub.docker.com/r/linuxserver/bazarr +type: application +version: 6.3.0 diff --git a/incubator/bazarr/6.3.0/README.md b/incubator/bazarr/6.3.0/README.md new file mode 100644 index 00000000000..1c88d9aa296 --- /dev/null +++ b/incubator/bazarr/6.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Bazarr is a companion application to Bazarr and Radarr. It manages and downloads subtitles based on your requirements + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `bazarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `bazarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/bazarr/6.3.0/app-readme.md b/incubator/bazarr/6.3.0/app-readme.md new file mode 100644 index 00000000000..d983e4cb852 --- /dev/null +++ b/incubator/bazarr/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Bazarr is a companion application to Bazarr and Radarr. It manages and downloads subtitles based on your requirements +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Bazarr is a companion application to Bazarr and Radarr. It manages and diff --git a/incubator/bazarr/6.3.0/charts/common-6.5.0.tgz b/incubator/bazarr/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/bazarr/6.3.0/ix_values.yaml b/incubator/bazarr/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..a24f5dba0c4 --- /dev/null +++ b/incubator/bazarr/6.3.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/bazarr + pullPolicy: IfNotPresent + tag: v0.9.5 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/bazarr/6.3.0/questions.yaml b/incubator/bazarr/6.3.0/questions.yaml new file mode 100644 index 00000000000..bd6d3878e33 --- /dev/null +++ b/incubator/bazarr/6.3.0/questions.yaml @@ -0,0 +1,668 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 6767 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 6767 + editable: true + 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 + default: 36025 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/bazarr/6.3.0/templates/common.yaml b/incubator/bazarr/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/bazarr/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/bazarr/6.3.0/test_values.yaml b/incubator/bazarr/6.3.0/test_values.yaml new file mode 100644 index 00000000000..4b2e3faafc5 --- /dev/null +++ b/incubator/bazarr/6.3.0/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Bazarr. + +image: + repository: ghcr.io/k8s-at-home/bazarr + pullPolicy: IfNotPresent + tag: v0.9.5 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 6767 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/bazarr/6.3.0/values.yaml b/incubator/bazarr/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/booksonic-air/1.1.0/CONFIG.md b/incubator/booksonic-air/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/booksonic-air/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/booksonic-air/1.1.0/Chart.lock b/incubator/booksonic-air/1.1.0/Chart.lock new file mode 100644 index 00000000000..fc3cfb3be71 --- /dev/null +++ b/incubator/booksonic-air/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:47:54.563026187Z" diff --git a/incubator/booksonic-air/1.1.0/Chart.yaml b/incubator/booksonic-air/1.1.0/Chart.yaml new file mode 100644 index 00000000000..90d8271be15 --- /dev/null +++ b/incubator/booksonic-air/1.1.0/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Booksonic is a platform for accessing the audibooks you own wherever + you are +home: https://github.com/truechartsapps/tree/master/charts/incubator/booksonic-air +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/booksonic-air.png +keywords: +- booksonic +- audiobook +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: booksonic-air +sources: +- https://github.com/popeen/Booksonic-Air +- https://hub.docker.com/r/linuxserver/booksonic-air +version: 1.1.0 diff --git a/incubator/booksonic-air/1.1.0/README.md b/incubator/booksonic-air/1.1.0/README.md new file mode 100644 index 00000000000..d0ce48469a9 --- /dev/null +++ b/incubator/booksonic-air/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Booksonic is a platform for accessing the audibooks you own wherever you are + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `booksonic-air` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `booksonic-air` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/booksonic-air/1.1.0/app-readme.md b/incubator/booksonic-air/1.1.0/app-readme.md new file mode 100644 index 00000000000..e2ff5f5bbdb --- /dev/null +++ b/incubator/booksonic-air/1.1.0/app-readme.md @@ -0,0 +1 @@ +Booksonic is a platform for accessing the audibooks you own wherever diff --git a/incubator/booksonic-air/1.1.0/charts/common-6.5.0.tgz b/incubator/booksonic-air/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/booksonic-air/1.1.0/ix_values.yaml b/incubator/booksonic-air/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..d4514d8f9dd --- /dev/null +++ b/incubator/booksonic-air/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/linuxserver/booksonic-air + pullPolicy: IfNotPresent + tag: version-v2009.1.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/booksonic-air/1.1.0/questions.yaml b/incubator/booksonic-air/1.1.0/questions.yaml new file mode 100644 index 00000000000..8805e2b2acb --- /dev/null +++ b/incubator/booksonic-air/1.1.0/questions.yaml @@ -0,0 +1,640 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 4040 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 4040 + editable: true + 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 + default: 36052 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/booksonic-air/1.1.0/templates/common.yaml b/incubator/booksonic-air/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/booksonic-air/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/booksonic-air/1.1.0/test_values.yaml b/incubator/booksonic-air/1.1.0/test_values.yaml new file mode 100644 index 00000000000..ce0c5310b0f --- /dev/null +++ b/incubator/booksonic-air/1.1.0/test_values.yaml @@ -0,0 +1,47 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/linuxserver/booksonic-air + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: version-v2009.1.0 + +# See more environment variables in the [booksonic-air documentation](https://github.com/linuxserver/docker-booksonic-air#parameters) +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "568" + # -- Specify the group ID the application will run as + PGID: "568" + # -- Used to set the base path for reverse proxies eg. /booksonic, /books, etc. + # CONTEXT_PATH=url-base + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 4040 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + audiobooks: + enabled: false + podcasts: + enabled: false + othermedia: + enabled: false diff --git a/incubator/booksonic-air/1.1.0/values.yaml b/incubator/booksonic-air/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/calibre-web/6.3.0/CONFIG.md b/incubator/calibre-web/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/calibre-web/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/calibre-web/6.3.0/Chart.lock b/incubator/calibre-web/6.3.0/Chart.lock new file mode 100644 index 00000000000..8eb1c3d2bc0 --- /dev/null +++ b/incubator/calibre-web/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:58.048439962Z" diff --git a/incubator/calibre-web/6.3.0/Chart.yaml b/incubator/calibre-web/6.3.0/Chart.yaml new file mode 100644 index 00000000000..397ff5c465c --- /dev/null +++ b/incubator/calibre-web/6.3.0/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Calibre-Web is a web app providing a clean interface for browsing, reading + and downloading eBooks using an existing Calibre database. +home: https://github.com/truecharts/apps/tree/master/charts/incubator/calibre-web +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calibre-web-icon.png +keywords: +- calibre-web +- calibre +- ebook +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: calibre-web +sources: +- https://hub.docker.com/r/linuxserver/calibre-web/ +- https://github.com/janeczku/calibre-web +type: application +version: 6.3.0 diff --git a/incubator/calibre-web/6.3.0/README.md b/incubator/calibre-web/6.3.0/README.md new file mode 100644 index 00000000000..d23599aaad2 --- /dev/null +++ b/incubator/calibre-web/6.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `calibre-web` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `calibre-web` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/calibre-web/6.3.0/app-readme.md b/incubator/calibre-web/6.3.0/app-readme.md new file mode 100644 index 00000000000..e5b39d2720c --- /dev/null +++ b/incubator/calibre-web/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Calibre-Web is a web app providing a clean interface for browsing, reading diff --git a/incubator/calibre-web/6.3.0/charts/common-6.5.0.tgz b/incubator/calibre-web/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/calibre-web/6.3.0/ix_values.yaml b/incubator/calibre-web/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..1f6e24d1545 --- /dev/null +++ b/incubator/calibre-web/6.3.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/calibre-web + pullPolicy: IfNotPresent + tag: version-0.6.12 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/calibre-web/6.3.0/questions.yaml b/incubator/calibre-web/6.3.0/questions.yaml new file mode 100644 index 00000000000..fbec8700a7c --- /dev/null +++ b/incubator/calibre-web/6.3.0/questions.yaml @@ -0,0 +1,628 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8083 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8083 + editable: true + 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 + default: 36015 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/calibre-web/6.3.0/templates/common.yaml b/incubator/calibre-web/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/calibre-web/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/calibre-web/6.3.0/test_values.yaml b/incubator/calibre-web/6.3.0/test_values.yaml new file mode 100644 index 00000000000..240957f08b5 --- /dev/null +++ b/incubator/calibre-web/6.3.0/test_values.yaml @@ -0,0 +1,28 @@ +# Default values for Calibre-Web. + +image: + repository: linuxserver/calibre-web + pullPolicy: IfNotPresent + tag: version-0.6.12 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8083 + +env: {} + # TZ: + # PUID: + # PGID: + # UMASK: + # DOCKER_MODS: + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/calibre-web/6.3.0/values.yaml b/incubator/calibre-web/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/calibre/1.1.0/CONFIG.md b/incubator/calibre/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/calibre/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/calibre/1.1.0/Chart.lock b/incubator/calibre/1.1.0/Chart.lock new file mode 100644 index 00000000000..fff9a7b35ef --- /dev/null +++ b/incubator/calibre/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:47:56.298372935Z" diff --git a/incubator/calibre/1.1.0/Chart.yaml b/incubator/calibre/1.1.0/Chart.yaml new file mode 100644 index 00000000000..e934d214e02 --- /dev/null +++ b/incubator/calibre/1.1.0/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Calibre is a powerful and easy to use e-book manager. +home: https://github.com/truechartsapps/tree/master/charts/incubator/calibre +icon: https://github.com/kovidgoyal/calibre/raw/master/resources/images/lt.png +keywords: +- calibre +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: calibre +sources: +- https://hub.docker.com/r/linuxserver/calibre/ +- https://github.com/kovidgoyal/calibre/ +version: 1.1.0 diff --git a/incubator/calibre/1.1.0/README.md b/incubator/calibre/1.1.0/README.md new file mode 100644 index 00000000000..032b30df781 --- /dev/null +++ b/incubator/calibre/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Calibre is a powerful and easy to use e-book manager. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `calibre` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `calibre` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/calibre/1.1.0/app-readme.md b/incubator/calibre/1.1.0/app-readme.md new file mode 100644 index 00000000000..baede5ce228 --- /dev/null +++ b/incubator/calibre/1.1.0/app-readme.md @@ -0,0 +1 @@ +Calibre is a powerful and easy to use e-book manager. diff --git a/incubator/calibre/1.1.0/charts/common-6.5.0.tgz b/incubator/calibre/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/calibre/1.1.0/ix_values.yaml b/incubator/calibre/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..640677abb8b --- /dev/null +++ b/incubator/calibre/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/calibre + pullPolicy: IfNotPresent + tag: version-v5.21.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/calibre/1.1.0/questions.yaml b/incubator/calibre/1.1.0/questions.yaml new file mode 100644 index 00000000000..dba0f98a906 --- /dev/null +++ b/incubator/calibre/1.1.0/questions.yaml @@ -0,0 +1,756 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK_SET + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: GUAC_USER + label: "GUAC_USER" + description: "Username for the calibre gui" + schema: + type: string + default: "" + - variable: GUAC_PASS + label: "GUAC_PASS" + description: "Password's md5 hash for the calibre gui" + schema: + type: string + default: "" + - variable: CLI_ARGS + label: "CLI_ARGS" + description: "Optionally pass cli start arguments to calibre" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + 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 + default: 36053 + required: true + - variable: webserver + label: "webserver Service" + description: "The webserver service" + schema: + 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: "ClusterIP" + 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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: webserver + label: "webserver Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8081 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8081 + editable: true + 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 + default: 36054 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/calibre/1.1.0/templates/common.yaml b/incubator/calibre/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..c53fdc73fbd --- /dev/null +++ b/incubator/calibre/1.1.0/templates/common.yaml @@ -0,0 +1,3 @@ +--- + +{{ include "common.all" . }} diff --git a/incubator/calibre/1.1.0/test_values.yaml b/incubator/calibre/1.1.0/test_values.yaml new file mode 100644 index 00000000000..d8a63ffefcb --- /dev/null +++ b/incubator/calibre/1.1.0/test_values.yaml @@ -0,0 +1,58 @@ +--- + +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +# -- This is the default, you can also use requarks/wiki +image: + # -- image repository + repository: linuxserver/calibre + # -- image tag + tag: version-v5.21.0 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://docs.linuxserver.io/images/docker-calibre#environment-variables-e) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1001" + # -- Specify the group ID the application will run as + PGID: "1001" + # -- Username for the calibre gui + GUAC_USER: + # -- Password's md5 hash for the calibre gui + GUAC_PASS: + # -- for umask setting of Calibre, default if left unset is 022. + UMASK_SET: "022" + # -- Optionally pass cli start arguments to calibre. + CLI_ARGS: + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8080 + webserver: + enabled: false + type: ClusterIP + ports: + webserver: + enabled: true + port: 8081 + protocol: TCP + targetPort: 8081 + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false diff --git a/incubator/calibre/1.1.0/values.yaml b/incubator/calibre/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/deconz/1.1.0/CONFIG.md b/incubator/deconz/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/deconz/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/deconz/1.1.0/Chart.lock b/incubator/deconz/1.1.0/Chart.lock new file mode 100644 index 00000000000..6322383481a --- /dev/null +++ b/incubator/deconz/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:47:59.826874603Z" diff --git a/incubator/deconz/1.1.0/Chart.yaml b/incubator/deconz/1.1.0/Chart.yaml new file mode 100644 index 00000000000..881ea1dc5de --- /dev/null +++ b/incubator/deconz/1.1.0/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: deCONZ is an easy to use control software, with which you can set up + and control Zigbee networks of any size without further programming effort. +home: https://github.com/truechartsapps/tree/master/charts/incubator/deconz +icon: https://avatars1.githubusercontent.com/u/4217524?s=400&v=4 +keywords: +- deconz +- home-automation +- zigbee +- conbee +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: deconz +sources: +- https://github.com/dresden-elektronik/deconz-rest-plugin +- https://github.com/marthoc/docker-deconz +version: 1.1.0 diff --git a/incubator/deconz/1.1.0/README.md b/incubator/deconz/1.1.0/README.md new file mode 100644 index 00000000000..120f72f1f9f --- /dev/null +++ b/incubator/deconz/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +deCONZ is an easy to use control software, with which you can set up and control Zigbee networks of any size without further programming effort. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `deconz` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `deconz` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/deconz/1.1.0/app-readme.md b/incubator/deconz/1.1.0/app-readme.md new file mode 100644 index 00000000000..d9d60581e5e --- /dev/null +++ b/incubator/deconz/1.1.0/app-readme.md @@ -0,0 +1 @@ +deCONZ is an easy to use control software, with which you can set up diff --git a/incubator/deconz/1.1.0/charts/common-6.5.0.tgz b/incubator/deconz/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/deconz/1.1.0/ix_values.yaml b/incubator/deconz/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..8247d6b0523 --- /dev/null +++ b/incubator/deconz/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: marthoc/deconz + pullPolicy: IfNotPresent + tag: 2.12.01 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/deconz/1.1.0/questions.yaml b/incubator/deconz/1.1.0/questions.yaml new file mode 100644 index 00000000000..a6f3b161fc0 --- /dev/null +++ b/incubator/deconz/1.1.0/questions.yaml @@ -0,0 +1,861 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: DECONZ_DEVICE + label: "DECONZ_DEVICE" + description: "Override the location where deCONZ looks for the RaspBee/Conbee device" + schema: + type: string + default: "/dev/ttyUSB0" + - variable: DECONZ_VNC_MODE + label: "DECONZ_VNC_MODE" + description: "Enable VNC access to the container to view the deCONZ ZigBee mesh" + schema: + type: string + default: "1" + - variable: DECONZ_WEB_PORT + label: "DECONZ_WEB_PORT" + description: "Web UI listen port" + schema: + type: string + default: "80" + - variable: DECONZ_WS_PORT + label: "DECONZ_WS_PORT" + description: "Websocket listen port" + schema: + type: string + default: "443" + - variable: DECONZ_VNC_PORT + label: "DECONZ_VNC_PORT" + description: " VNC server listen port" + schema: + type: string + default: "5900" + - variable: DECONZ_VNC_PASSWORD + label: "DECONZ_VNC_PASSWORD" + description: "If VNC is enabled (DECONZ_VNC_MODE=1) you can change the default password" + schema: + type: string + required: true + default: "" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + 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 + default: 36055 + required: true + - variable: websocket + label: "websocket Service" + description: "The websocket service" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: websocket + label: "websocket Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 443 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 443 + editable: true + 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 + default: 36056 + required: true + - variable: vnc + label: "vnc Service" + description: "The vnc service" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: vnc + label: "vnc Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 5900 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5900 + editable: true + 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 + default: 36057 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/root/.local/share/dresden-elektronik/deCONZ" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/deconz/1.1.0/templates/common.yaml b/incubator/deconz/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/deconz/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/deconz/1.1.0/test_values.yaml b/incubator/deconz/1.1.0/test_values.yaml new file mode 100644 index 00000000000..3830072a954 --- /dev/null +++ b/incubator/deconz/1.1.0/test_values.yaml @@ -0,0 +1,72 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: marthoc/deconz + # -- image tag + tag: 2.12.01 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://github.com/marthoc/docker-deconz/blob/master/README.md) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Override the location where deCONZ looks for the RaspBee/Conbee device. + DECONZ_DEVICE: # /dev/ttyUSB0 + # -- Enable VNC access to the container to view the deCONZ ZigBee mesh + DECONZ_VNC_MODE: 1 + # -- Web UI listen port + DECONZ_WEB_PORT: 80 + # -- Websocket listen port + DECONZ_WS_PORT: 443 + # -- VNC server listen port + DECONZ_VNC_PORT: 5900 + # -- If VNC is enabled (DECONZ_VNC_MODE=1) you can change the default password "changeme" using a Secret. + DECONZ_VNC_PASSWORD: + # secretKeyRef: + # name: deconz-vnc-password + # key: password + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 80 + websocket: + enabled: true + port: 443 + vnc: + enabled: true + port: 5900 + +securityContext: + # -- (bool) Privileged securityContext may be required if USB controller is accessed directly through the host machine + privileged: # true + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /root/.local/share/dresden-elektronik/deCONZ + +# -- Affinity constraint rules to place the Pod on a specific node. +# [[ref]](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) +affinity: {} +# nodeAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# nodeSelectorTerms: +# - matchExpressions: +# - key: app +# operator: In +# values: +# - zigbee-controller diff --git a/incubator/deconz/1.1.0/values.yaml b/incubator/deconz/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/deluge/6.3.0/CONFIG.md b/incubator/deluge/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/deluge/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/deluge/6.3.0/Chart.lock b/incubator/deluge/6.3.0/Chart.lock new file mode 100644 index 00000000000..67da991a2dd --- /dev/null +++ b/incubator/deluge/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:48:01.630975606Z" diff --git a/incubator/deluge/6.3.0/Chart.yaml b/incubator/deluge/6.3.0/Chart.yaml new file mode 100644 index 00000000000..b52a9ec8d1f --- /dev/null +++ b/incubator/deluge/6.3.0/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Deluge App for TrueNAS SCALE +home: https://github.com/truecharts/apps/tree/master/charts/incubator/deluge +icon: https://avatars2.githubusercontent.com/u/6733935?v=3&s=200 +keywords: +- transmission +- torrent +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: deluge +sources: +- https://github.com/deluge-torrent/deluge +type: application +version: 6.3.0 diff --git a/incubator/deluge/6.3.0/README.md b/incubator/deluge/6.3.0/README.md new file mode 100644 index 00000000000..12943716168 --- /dev/null +++ b/incubator/deluge/6.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Deluge App for TrueNAS SCALE + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `deluge` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `deluge` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/deluge/6.3.0/app-readme.md b/incubator/deluge/6.3.0/app-readme.md new file mode 100644 index 00000000000..0bce0f81e82 --- /dev/null +++ b/incubator/deluge/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Deluge App for TrueNAS SCALE +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Deluge App for TrueNAS SCALE diff --git a/incubator/deluge/6.3.0/charts/common-6.5.0.tgz b/incubator/deluge/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/deluge/6.3.0/ix_values.yaml b/incubator/deluge/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..14051dceb23 --- /dev/null +++ b/incubator/deluge/6.3.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/deluge + pullPolicy: IfNotPresent + tag: version-2.0.3-2201906121747ubuntu18.04.1 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/deluge/6.3.0/questions.yaml b/incubator/deluge/6.3.0/questions.yaml new file mode 100644 index 00000000000..17ee5653e51 --- /dev/null +++ b/incubator/deluge/6.3.0/questions.yaml @@ -0,0 +1,745 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + ## Portal Button + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + ## Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Australia/Hobart" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + ## Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + ## Enable Host Network + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Network" + schema: + type: boolean + default: false + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8112 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8112 + editable: true + 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 + default: 36026 + required: true + - variable: torrent + label: "Torrent Service" + description: "Torrent Service" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - 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: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + 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 + default: 51413 + required: true + - variable: udp + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + 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 + default: 51413 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/deluge/6.3.0/templates/common.yaml b/incubator/deluge/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/deluge/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/deluge/6.3.0/test_values.yaml b/incubator/deluge/6.3.0/test_values.yaml new file mode 100644 index 00000000000..3c8f28d1d26 --- /dev/null +++ b/incubator/deluge/6.3.0/test_values.yaml @@ -0,0 +1,33 @@ +# Default values for deluge. + +image: + repository: linuxserver/deluge + pullPolicy: IfNotPresent + tag: version-2.0.3-2201906121747ubuntu18.04.1 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8112 + torrent: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 51413 + protocol: TCP + udp: + enabled: true + port: 51413 + protocol: UDP + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/deluge/6.3.0/values.yaml b/incubator/deluge/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/dizquetv/1.1.0/CONFIG.md b/incubator/dizquetv/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/dizquetv/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/dizquetv/1.1.0/Chart.lock b/incubator/dizquetv/1.1.0/Chart.lock new file mode 100644 index 00000000000..3581eab24e1 --- /dev/null +++ b/incubator/dizquetv/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:48:03.414188882Z" diff --git a/incubator/dizquetv/1.1.0/Chart.yaml b/incubator/dizquetv/1.1.0/Chart.yaml new file mode 100644 index 00000000000..a772caa6063 --- /dev/null +++ b/incubator/dizquetv/1.1.0/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Create live TV channel streams from media on your Plex servers. +home: https://github.com/truechartsapps/tree/master/charts/incubator/dizquetv +icon: https://github.com/vexorian/dizquetv/raw/main/resources/dizquetv.png?raw=true +keywords: +- dizqueTV +- dizquetv +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: dizquetv +sources: +- https://github.com/vexorian/dizquetv +- https://hub.docker.com/r/vexorian/dizquetv +version: 1.1.0 diff --git a/incubator/dizquetv/1.1.0/README.md b/incubator/dizquetv/1.1.0/README.md new file mode 100644 index 00000000000..c77fd167003 --- /dev/null +++ b/incubator/dizquetv/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Create live TV channel streams from media on your Plex servers. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `dizquetv` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `dizquetv` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/dizquetv/1.1.0/app-readme.md b/incubator/dizquetv/1.1.0/app-readme.md new file mode 100644 index 00000000000..55786f1eda8 --- /dev/null +++ b/incubator/dizquetv/1.1.0/app-readme.md @@ -0,0 +1 @@ +Create live TV channel streams from media on your Plex servers. diff --git a/incubator/dizquetv/1.1.0/charts/common-6.5.0.tgz b/incubator/dizquetv/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/dizquetv/1.1.0/ix_values.yaml b/incubator/dizquetv/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..4bc21c65fd5 --- /dev/null +++ b/incubator/dizquetv/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: vexorian/dizquetv + pullPolicy: IfNotPresent + tag: 1.4.3 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/dizquetv/1.1.0/questions.yaml b/incubator/dizquetv/1.1.0/questions.yaml new file mode 100644 index 00000000000..619c62d17bb --- /dev/null +++ b/incubator/dizquetv/1.1.0/questions.yaml @@ -0,0 +1,640 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8000 + editable: true + 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 + default: 36058 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/home/node/app/.dizquetv" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/dizquetv/1.1.0/templates/common.yaml b/incubator/dizquetv/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/dizquetv/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/dizquetv/1.1.0/test_values.yaml b/incubator/dizquetv/1.1.0/test_values.yaml new file mode 100644 index 00000000000..f1674bd5277 --- /dev/null +++ b/incubator/dizquetv/1.1.0/test_values.yaml @@ -0,0 +1,40 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: vexorian/dizquetv + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: 1.4.3 + +# -- environment variables. See more environment variables in the [dizquetv documentation](https://hub.docker.com/r/vexorian/dizquetv). +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: 1001 + # -- Specify the group ID the application will run as + PGID: 1001 + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8000 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /home/node/app/.dizquetv diff --git a/incubator/dizquetv/1.1.0/values.yaml b/incubator/dizquetv/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/duplicati/1.1.0/CONFIG.md b/incubator/duplicati/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/duplicati/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/duplicati/1.1.0/Chart.lock b/incubator/duplicati/1.1.0/Chart.lock new file mode 100644 index 00000000000..bce54332f0a --- /dev/null +++ b/incubator/duplicati/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:48:05.136538593Z" diff --git a/incubator/duplicati/1.1.0/Chart.yaml b/incubator/duplicati/1.1.0/Chart.yaml new file mode 100644 index 00000000000..ca0ea8b2ddc --- /dev/null +++ b/incubator/duplicati/1.1.0/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Store securely encrypted backups on cloud storage services! +home: https://github.com/truechartsapps/tree/master/charts/incubator/duplicati +icon: https://avatars.githubusercontent.com/u/8270231?s=200&v=4 +keywords: +- duplicati +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: duplicati +sources: +- https://hub.docker.com/r/linuxserver/duplicati/ +- https://github.com/duplicati/duplicati +version: 1.1.0 diff --git a/incubator/duplicati/1.1.0/README.md b/incubator/duplicati/1.1.0/README.md new file mode 100644 index 00000000000..e78d8e617a5 --- /dev/null +++ b/incubator/duplicati/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Store securely encrypted backups on cloud storage services! + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `duplicati` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `duplicati` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/duplicati/1.1.0/app-readme.md b/incubator/duplicati/1.1.0/app-readme.md new file mode 100644 index 00000000000..d23ae591b00 --- /dev/null +++ b/incubator/duplicati/1.1.0/app-readme.md @@ -0,0 +1 @@ +Store securely encrypted backups on cloud storage services! diff --git a/incubator/duplicati/1.1.0/charts/common-6.5.0.tgz b/incubator/duplicati/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/duplicati/1.1.0/ix_values.yaml b/incubator/duplicati/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..ab1c03b2bc8 --- /dev/null +++ b/incubator/duplicati/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/linuxserver/duplicati + pullPolicy: IfNotPresent + tag: latest + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/duplicati/1.1.0/questions.yaml b/incubator/duplicati/1.1.0/questions.yaml new file mode 100644 index 00000000000..095db0890a2 --- /dev/null +++ b/incubator/duplicati/1.1.0/questions.yaml @@ -0,0 +1,640 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8200 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8200 + editable: true + 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 + default: 36059 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/duplicati/1.1.0/templates/common.yaml b/incubator/duplicati/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/duplicati/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/duplicati/1.1.0/test_values.yaml b/incubator/duplicati/1.1.0/test_values.yaml new file mode 100644 index 00000000000..62520af8ea5 --- /dev/null +++ b/incubator/duplicati/1.1.0/test_values.yaml @@ -0,0 +1,43 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/linuxserver/duplicati + # -- image tag + tag: latest + # -- image pull policy + pullPolicy: IfNotPresent + +# See more environment variables in the [duplicati documentation](https://github.com/linuxserver/docker-duplicati#parameters) +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1000" + # -- Specify the group ID the application will run as + PGID: "1000" + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8200 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + source: + enabled: false + backups: + enabled: false diff --git a/incubator/duplicati/1.1.0/values.yaml b/incubator/duplicati/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/fireflyiii/4.4.0/CONFIG.md b/incubator/fireflyiii/4.4.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/fireflyiii/4.4.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/fireflyiii/4.4.0/Chart.lock b/incubator/fireflyiii/4.4.0/Chart.lock new file mode 100644 index 00000000000..119648a12cc --- /dev/null +++ b/incubator/fireflyiii/4.4.0/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.1 +digest: sha256:f2f3785dc828ecd632f6571e8fbdb30fe438c84eac615b15ea180c65fdcd5ffc +generated: "2021-07-03T10:48:09.741408666Z" diff --git a/incubator/fireflyiii/4.4.0/Chart.yaml b/incubator/fireflyiii/4.4.0/Chart.yaml new file mode 100644 index 00000000000..86597c96e23 --- /dev/null +++ b/incubator/fireflyiii/4.4.0/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +- condition: postgresql.enabled + name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.1 +deprecated: false +description: A free and open source personal finance manager +home: https://github.com/firefly-iii/firefly-iii/ +icon: https://www.firefly-iii.org/assets/logo/color.png +keywords: +- fireflyiii +- finacial +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: 20650065+warllo54@users.noreply.github.com + name: warllo54 + url: truecharts.org +name: fireflyiii +sources: +- https://github.com/firefly-iii/firefly-iii/ +type: application +version: 4.4.0 diff --git a/incubator/fireflyiii/4.4.0/README.md b/incubator/fireflyiii/4.4.0/README.md new file mode 100644 index 00000000000..8fbeb296842 --- /dev/null +++ b/incubator/fireflyiii/4.4.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 4.3.10](https://img.shields.io/badge/Version-4.3.10-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +A free and open source personal finance manager + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://charts.bitnami.com/bitnami | postgresql | 10.5.1 | +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `fireflyiii` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `fireflyiii` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/fireflyiii/4.4.0/app-readme.md b/incubator/fireflyiii/4.4.0/app-readme.md new file mode 100644 index 00000000000..15307675f18 --- /dev/null +++ b/incubator/fireflyiii/4.4.0/app-readme.md @@ -0,0 +1,3 @@ +A free and open source personal finance manager +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A free and open source personal finance manager diff --git a/incubator/fireflyiii/4.4.0/charts/common-6.5.0.tgz b/incubator/fireflyiii/4.4.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/fireflyiii/4.4.0/charts/postgresql-10.5.1.tgz b/incubator/fireflyiii/4.4.0/charts/postgresql-10.5.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9e316da60000105810013f859649f9589c513e0b GIT binary patch literal 49272 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 K{tKW0#svULPLH<$ literal 0 HcmV?d00001 diff --git a/incubator/fireflyiii/4.4.0/ix_values.yaml b/incubator/fireflyiii/4.4.0/ix_values.yaml new file mode 100644 index 00000000000..a8ea761002b --- /dev/null +++ b/incubator/fireflyiii/4.4.0/ix_values.yaml @@ -0,0 +1,51 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: fireflyiii/core + pullPolicy: IfNotPresent + tag: version-5.5.12 + +probes: + liveness: + path: "/login" + + readiness: + path: "/login" + + startup: + path: "/login" + +env: + DB_USERNAME: fireflyiii + DB_DATABASE: fireflyiii + DB_CONNECTION: pgsql + DB_PORT: 5432 + +envValueFrom: + DB_HOST: + secretKeyRef: + name: dbcreds + key: postgresql_host + DB_PASSWORD: + secretKeyRef: + name: dbcreds + key: postgresql-password + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: fireflyiii + postgresqlDatabase: fireflyiii + existingSecret: dbcreds + persistence: + enabled: true + existingClaim: db +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/fireflyiii/4.4.0/questions.yaml b/incubator/fireflyiii/4.4.0/questions.yaml new file mode 100644 index 00000000000..286428007e1 --- /dev/null +++ b/incubator/fireflyiii/4.4.0/questions.yaml @@ -0,0 +1,865 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: APP_KEY + label: "App Key" + description: "Your unique 32 application character key" + schema: + type: string + default: "" + min_length: 32 + max_length: 32 + required: true + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51080 + editable: true + 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 + default: 36048 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: db + label: "Database Storage" + description: "Stores the Application database." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: forceName + label: "Override PVC Name (advanced)" + description: "Forces a certain name for the PVC" + schema: + type: string + default: "db" + hidden: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + hidden: true + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: dbbackup + label: "Database Backup Storage" + description: "Stores the Application database backups." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - 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: 0 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/fireflyiii/4.4.0/templates/common.yaml b/incubator/fireflyiii/4.4.0/templates/common.yaml new file mode 100644 index 00000000000..64e027ac0fa --- /dev/null +++ b/incubator/fireflyiii/4.4.0/templates/common.yaml @@ -0,0 +1,5 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/incubator/fireflyiii/4.4.0/templates/secrets.yaml b/incubator/fireflyiii/4.4.0/templates/secrets.yaml new file mode 100644 index 00000000000..5d262741617 --- /dev/null +++ b/incubator/fireflyiii/4.4.0/templates/secrets.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Secret +metadata: + name: dbcreds +{{- $previous := lookup "v1" "Secret" .Release.Namespace "dbcreds" }} +{{- $dbPass := "" }} +data: +{{- if $previous }} + {{- $dbPass = ( index $previous.data "postgresql-password" ) | b64dec }} + postgresql-password: {{ ( index $previous.data "postgresql-password" ) }} + postgresql-postgres-password: {{ ( index $previous.data "postgresql-postgres-password" ) }} +{{- else }} + {{- $dbPass = randAlphaNum 50 }} + postgresql-password: {{ $dbPass | b64enc | quote }} + postgresql-postgres-password: {{ randAlphaNum 50 | b64enc | quote }} +{{- end }} + url: {{ ( printf "%v%v:%v@%v-%v:%v/%v" "postgresql://" .Values.postgresql.postgresqlUsername $dbPass .Release.Name "postgresql" "5432" .Values.postgresql.postgresqlDatabase ) | b64enc | quote }} + postgresql_host: {{ ( printf "%v-%v" .Release.Name "postgresql" ) | b64enc | quote }} +type: Opaque diff --git a/incubator/fireflyiii/4.4.0/test_values.yaml b/incubator/fireflyiii/4.4.0/test_values.yaml new file mode 100644 index 00000000000..d05a4af4796 --- /dev/null +++ b/incubator/fireflyiii/4.4.0/test_values.yaml @@ -0,0 +1,82 @@ +# Default values for fireflyIII. + +image: + repository: fireflyiii/core + pullPolicy: IfNotPresent + tag: version-5.5.12 + +strategy: + type: Recreate + +podSecurityContext: + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + fsGroup: 0 + +service: + main: + ports: + main: + port: 8080 + tcp: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 51080 + protocol: TCP + +probes: + liveness: + path: "/login" + + readiness: + path: "/login" + + startup: + path: "/login" + +env: + DB_USERNAME: firefly + DB_DATABASE: firefly + DB_CONNECTION: pgsql + DB_PORT: 5432 + APP_KEY: AGcfkCUS233ZWmBXztYbdyCs2u7kkz55 + +envValueFrom: + DB_HOST: + secretKeyRef: + name: dbcreds + key: postgresql_host + DB_PASSWORD: + secretKeyRef: + name: dbcreds + key: postgresql-password + +persistence: + data: + enabled: true + mountPath: "/var/www/html/storage/upload" + type: emptyDir + + db: + forceName: "db" + enabled: true + type: emptyDir + + dbbackup: + enabled: true + type: emptyDir + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: firefly + postgresqlDatabase: firefly + existingSecret: dbcreds + persistence: + enabled: false + existingClaim: db diff --git a/incubator/fireflyiii/4.4.0/values.yaml b/incubator/fireflyiii/4.4.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/flaresolverr/1.1.0/CONFIG.md b/incubator/flaresolverr/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/flaresolverr/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/flaresolverr/1.1.0/Chart.lock b/incubator/flaresolverr/1.1.0/Chart.lock new file mode 100644 index 00000000000..dc35c65c699 --- /dev/null +++ b/incubator/flaresolverr/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:48:14.838550842Z" diff --git a/incubator/flaresolverr/1.1.0/Chart.yaml b/incubator/flaresolverr/1.1.0/Chart.yaml new file mode 100644 index 00000000000..a6b91e96c6e --- /dev/null +++ b/incubator/flaresolverr/1.1.0/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: FlareSolverr is a proxy server to bypass Cloudflare protection +home: https://github.com/truechartsapps/tree/master/charts/incubator/flaresolverr +icon: https://raw.githubusercontent.com/FlareSolverr/FlareSolverr/master/resources/flaresolverr_logo.svg +keywords: +- flaresolverr +- jackett +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: flaresolverr +sources: +- https://github.com/FlareSolverr/FlareSolverr +- https://hub.docker.com/r/flaresolverr/flaresolverr +version: 1.1.0 diff --git a/incubator/flaresolverr/1.1.0/README.md b/incubator/flaresolverr/1.1.0/README.md new file mode 100644 index 00000000000..61f6e7efb77 --- /dev/null +++ b/incubator/flaresolverr/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +FlareSolverr is a proxy server to bypass Cloudflare protection + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `flaresolverr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `flaresolverr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/flaresolverr/1.1.0/app-readme.md b/incubator/flaresolverr/1.1.0/app-readme.md new file mode 100644 index 00000000000..2c2f63057a1 --- /dev/null +++ b/incubator/flaresolverr/1.1.0/app-readme.md @@ -0,0 +1 @@ +FlareSolverr is a proxy server to bypass Cloudflare protection diff --git a/incubator/flaresolverr/1.1.0/charts/common-6.5.0.tgz b/incubator/flaresolverr/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/flaresolverr/1.1.0/ix_values.yaml b/incubator/flaresolverr/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..0b9d226976a --- /dev/null +++ b/incubator/flaresolverr/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/flaresolverr/flaresolverr + pullPolicy: IfNotPresent + tag: v1.2.8 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/flaresolverr/1.1.0/questions.yaml b/incubator/flaresolverr/1.1.0/questions.yaml new file mode 100644 index 00000000000..a745d1912c1 --- /dev/null +++ b/incubator/flaresolverr/1.1.0/questions.yaml @@ -0,0 +1,667 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8191 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8191 + editable: true + 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 + default: 36060 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/flaresolverr/1.1.0/templates/common.yaml b/incubator/flaresolverr/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/flaresolverr/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/flaresolverr/1.1.0/test_values.yaml b/incubator/flaresolverr/1.1.0/test_values.yaml new file mode 100644 index 00000000000..11ba26418a5 --- /dev/null +++ b/incubator/flaresolverr/1.1.0/test_values.yaml @@ -0,0 +1,28 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/flaresolverr/flaresolverr + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: v1.2.8 + +# -- environment variables. See more environment variables in the [flaresolverr documentation](https://github.com/FlareSolverr/FlareSolverr#environment-variables). +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8191 diff --git a/incubator/flaresolverr/1.1.0/values.yaml b/incubator/flaresolverr/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/flood/1.1.0/CONFIG.md b/incubator/flood/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/flood/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/flood/1.1.0/Chart.lock b/incubator/flood/1.1.0/Chart.lock new file mode 100644 index 00000000000..a24c3feec5b --- /dev/null +++ b/incubator/flood/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:48:16.580949333Z" diff --git a/incubator/flood/1.1.0/Chart.yaml b/incubator/flood/1.1.0/Chart.yaml new file mode 100644 index 00000000000..3c29fff0ab2 --- /dev/null +++ b/incubator/flood/1.1.0/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Flood is a monitoring service for various torrent clients +home: https://github.com/truechartsapps/tree/master/charts/incubator/flood +icon: https://raw.githubusercontent.com/jesec/flood/master/flood.svg +keywords: +- flood +- rtorrent +- qbittorrent +- transmission +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: flood +sources: +- https://github.com/jesec/flood +- https://hub.docker.com/r/jesec/flood +version: 1.1.0 diff --git a/incubator/flood/1.1.0/README.md b/incubator/flood/1.1.0/README.md new file mode 100644 index 00000000000..3bdb1a5f0ba --- /dev/null +++ b/incubator/flood/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Flood is a monitoring service for various torrent clients + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `flood` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `flood` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/flood/1.1.0/app-readme.md b/incubator/flood/1.1.0/app-readme.md new file mode 100644 index 00000000000..5553ed88d04 --- /dev/null +++ b/incubator/flood/1.1.0/app-readme.md @@ -0,0 +1 @@ +Flood is a monitoring service for various torrent clients diff --git a/incubator/flood/1.1.0/charts/common-6.5.0.tgz b/incubator/flood/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/flood/1.1.0/ci/ct-values.yaml b/incubator/flood/1.1.0/ci/ct-values.yaml new file mode 100644 index 00000000000..f874292fadf --- /dev/null +++ b/incubator/flood/1.1.0/ci/ct-values.yaml @@ -0,0 +1,5 @@ +persistence: + data: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi diff --git a/incubator/flood/1.1.0/ix_values.yaml b/incubator/flood/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..148bf9a72a2 --- /dev/null +++ b/incubator/flood/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: jesec/flood + pullPolicy: IfNotPresent + tag: 4.6.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/flood/1.1.0/questions.yaml b/incubator/flood/1.1.0/questions.yaml new file mode 100644 index 00000000000..9dd9b1a7a03 --- /dev/null +++ b/incubator/flood/1.1.0/questions.yaml @@ -0,0 +1,674 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: FLOOD_OPTION_RUNDIR + label: "FLOOD_OPTION_RUNDIR" + description: "Where to store Flood's runtime files (eg. database)" + schema: + type: string + default: "/data" + + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 3000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3000 + editable: true + 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 + default: 36061 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/flood/1.1.0/templates/common.yaml b/incubator/flood/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/flood/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/flood/1.1.0/test_values.yaml b/incubator/flood/1.1.0/test_values.yaml new file mode 100644 index 00000000000..5e50035d8fb --- /dev/null +++ b/incubator/flood/1.1.0/test_values.yaml @@ -0,0 +1,36 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: jesec/flood + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: 4.6.0 + +# -- environment variables. See more environment variables in the [flood documentation] (https://github.com/jesec/flood/blob/v4.6.0/config.ts) +# Note: The environmental variables are not case sensitive (e.g. FLOOD_OPTION_port=FLOOD_OPTION_PORT). +# @default -- See below +env: + # -- Where to store Flood's runtime files (eg. database) + FLOOD_OPTION_RUNDIR: /data + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 3000 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + data: + enabled: false diff --git a/incubator/flood/1.1.0/values.yaml b/incubator/flood/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/focalboard/1.1.0/CONFIG.md b/incubator/focalboard/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/focalboard/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/focalboard/1.1.0/Chart.lock b/incubator/focalboard/1.1.0/Chart.lock new file mode 100644 index 00000000000..ab19e86e0e5 --- /dev/null +++ b/incubator/focalboard/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:48:18.358693117Z" diff --git a/incubator/focalboard/1.1.0/Chart.yaml b/incubator/focalboard/1.1.0/Chart.yaml new file mode 100644 index 00000000000..9190d7dfbe9 --- /dev/null +++ b/incubator/focalboard/1.1.0/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Focalboard is an open source, self-hosted alternative to Trello, Notion, + and Asana. +home: https://github.com/truechartsapps/tree/master/charts/incubator/focalboard +icon: https://github.com/mattermost/focalboard/raw/main/webapp/static/favicon.svg +keywords: +- focalboard +- kanban +- project management +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: focalboard +sources: +- https://www.focalboard.com/ +- https://github.com/mattermost/focalboard +- https://github.com/FlipEnergy/container-images/blob/main/focalboard +version: 1.1.0 diff --git a/incubator/focalboard/1.1.0/README.md b/incubator/focalboard/1.1.0/README.md new file mode 100644 index 00000000000..6b44bfa9a3a --- /dev/null +++ b/incubator/focalboard/1.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `focalboard` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `focalboard` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/focalboard/1.1.0/app-readme.md b/incubator/focalboard/1.1.0/app-readme.md new file mode 100644 index 00000000000..40971a5c670 --- /dev/null +++ b/incubator/focalboard/1.1.0/app-readme.md @@ -0,0 +1 @@ +Focalboard is an open source, self-hosted alternative to Trello, Notion, diff --git a/incubator/focalboard/1.1.0/charts/common-6.5.0.tgz b/incubator/focalboard/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/focalboard/1.1.0/ix_values.yaml b/incubator/focalboard/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..312c315d80a --- /dev/null +++ b/incubator/focalboard/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: flipenergy/focalboard + pullPolicy: IfNotPresent + tag: 0.6.7 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/focalboard/1.1.0/questions.yaml b/incubator/focalboard/1.1.0/questions.yaml new file mode 100644 index 00000000000..9f93b56faca --- /dev/null +++ b/incubator/focalboard/1.1.0/questions.yaml @@ -0,0 +1,667 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8000 + editable: true + 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 + default: 36049 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/focalboard/1.1.0/templates/common.yaml b/incubator/focalboard/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/focalboard/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/focalboard/1.1.0/test_values.yaml b/incubator/focalboard/1.1.0/test_values.yaml new file mode 100644 index 00000000000..2c239b89fa0 --- /dev/null +++ b/incubator/focalboard/1.1.0/test_values.yaml @@ -0,0 +1,36 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: flipenergy/focalboard + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: 0.6.7 + +# -- environment variables. See more environment variables in the [image entrypoint script](https://github.com/FlipEnergy/container-images/blob/main/focalboard/entrypoint.sh) +# @default -- See below +env: {} + # SERVER_ROOT: + # DBTYPE: + # DBCONFIG: + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8000 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + data: + enabled: false diff --git a/incubator/focalboard/1.1.0/values.yaml b/incubator/focalboard/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/freshrss/6.3.0/CONFIG.md b/incubator/freshrss/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/freshrss/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/freshrss/6.3.0/Chart.lock b/incubator/freshrss/6.3.0/Chart.lock new file mode 100644 index 00000000000..2ea741f5d72 --- /dev/null +++ b/incubator/freshrss/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:48:20.113988915Z" diff --git a/incubator/freshrss/6.3.0/Chart.yaml b/incubator/freshrss/6.3.0/Chart.yaml new file mode 100644 index 00000000000..307840b6f52 --- /dev/null +++ b/incubator/freshrss/6.3.0/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: FreshRSS is a self-hosted RSS feed aggregator +home: https://github.com/truecharts/apps/tree/master/charts/incubator/freshrss +icon: https://github.com/FreshRSS/FreshRSS/blob/master/docs/img/FreshRSS-logo.png?raw=true +keywords: +- freshrss +- rss +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: freshrss +sources: +- https://github.com/FreshRSS/FreshRSS +- https://hub.docker.com/r/linuxserver/freshrss +type: application +version: 6.3.0 diff --git a/incubator/freshrss/6.3.0/README.md b/incubator/freshrss/6.3.0/README.md new file mode 100644 index 00000000000..f338aea6072 --- /dev/null +++ b/incubator/freshrss/6.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +FreshRSS is a self-hosted RSS feed aggregator + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `freshrss` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `freshrss` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/freshrss/6.3.0/app-readme.md b/incubator/freshrss/6.3.0/app-readme.md new file mode 100644 index 00000000000..7d8a844b9cc --- /dev/null +++ b/incubator/freshrss/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +FreshRSS is a self-hosted RSS feed aggregator +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +FreshRSS is a self-hosted RSS feed aggregator diff --git a/incubator/freshrss/6.3.0/charts/common-6.5.0.tgz b/incubator/freshrss/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/freshrss/6.3.0/ix_values.yaml b/incubator/freshrss/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..98641a23823 --- /dev/null +++ b/incubator/freshrss/6.3.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/freshrss + pullPolicy: IfNotPresent + tag: version-1.18.1 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/freshrss/6.3.0/questions.yaml b/incubator/freshrss/6.3.0/questions.yaml new file mode 100644 index 00000000000..c5da3c0f7f8 --- /dev/null +++ b/incubator/freshrss/6.3.0/questions.yaml @@ -0,0 +1,628 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + 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 + default: 36029 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/freshrss/6.3.0/templates/common.yaml b/incubator/freshrss/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/freshrss/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/freshrss/6.3.0/test_values.yaml b/incubator/freshrss/6.3.0/test_values.yaml new file mode 100644 index 00000000000..8cadee1dd69 --- /dev/null +++ b/incubator/freshrss/6.3.0/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for FreshRSS. + +image: + repository: linuxserver/freshrss + pullPolicy: IfNotPresent + tag: version-1.18.1 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/freshrss/6.3.0/values.yaml b/incubator/freshrss/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/gaps/6.3.0/CONFIG.md b/incubator/gaps/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/gaps/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/gaps/6.3.0/Chart.lock b/incubator/gaps/6.3.0/Chart.lock new file mode 100644 index 00000000000..ad8a6931e1d --- /dev/null +++ b/incubator/gaps/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:48:21.87185853Z" diff --git a/incubator/gaps/6.3.0/Chart.yaml b/incubator/gaps/6.3.0/Chart.yaml new file mode 100644 index 00000000000..e11e5e1ca47 --- /dev/null +++ b/incubator/gaps/6.3.0/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Gaps searches through your Plex Server or local folders for all movies, + then queries for known movies in the same collection. +home: https://github.com/truecharts/apps/tree/master/charts/incubator/gaps +icon: https://raw.githubusercontent.com/JasonHHouse/gaps/master/images/Final-Black.png +keywords: +- gaps +- plex +- plex-media-server +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: gaps +sources: +- https://github.com/JasonHHouse/gaps +type: application +version: 6.3.0 diff --git a/incubator/gaps/6.3.0/README.md b/incubator/gaps/6.3.0/README.md new file mode 100644 index 00000000000..fa6815741c6 --- /dev/null +++ b/incubator/gaps/6.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Gaps searches through your Plex Server or local folders for all movies, then queries for known movies in the same collection. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `gaps` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `gaps` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/gaps/6.3.0/app-readme.md b/incubator/gaps/6.3.0/app-readme.md new file mode 100644 index 00000000000..2333306b1d5 --- /dev/null +++ b/incubator/gaps/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Gaps searches through your Plex Server or local folders for all movies, then queries for known movies in the same collection. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Gaps searches through your Plex Server or local folders for all movies, diff --git a/incubator/gaps/6.3.0/charts/common-6.5.0.tgz b/incubator/gaps/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 zcmV)mK%T!JiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJciXnII12B7fBF>IOnPefXHl}_msHR3evY@DwmCaVy<(@m z=X7_)FbP?xDUu~YIj)=g+3&(D0T3W5TXxdcTwSR}0yBdFFf$ko22nPjXX)s01`85i z!+G+z)j#9$c)Yv4&Hg_gkL~}D_nvM2ZF76PHy&^8Y;W)WZM?a)y}R=_Fun&`8c$Uc zSp02#XIysU{vZ#`@eimdah6WNVru~NT>VV56b)ijMg`6Zd-F||M)WU`;PV0&*I=3z z;Iya^8$RV=md()w%m~TL$!K(e$*ejLqijARMTH_(W(4!R9FYQ{(Hxcp6(jMU55xhE zC?W|0E+BzL8FElniHayo2}%irT8;L0x5wkXot?oYy1vSaxSR}zphh+rN=k?9#b5{o zn#<}OsfK>}kNwSXb2l6h$6pTS5T^v<6cr2@nnRpS08Xdbf7O7)thg8ekV4vCjR62u zMKS?aK?UXV7nH>RRYtR{A}Adu==>a~7h#$xSl<^ZhUMnhUqAD};>AQO$aRh;vWbI* zY|n1E6OIS{`d`fd1xzYb-je`mpa0wAotw+T<&PX8`0KL`(+^BBtB`3&u?@GZ-`9qNqTSAg~srDXbE*4qzICw^@?l^x|C}Ln1nY!a5PHIYCZf z-={|?K?F5H)ZjU=BgP5}2H=Y{E9h9kCH*Gpr(>zmLC_ak^J^YknC9>Us8YCqIH6;W z)zW@11E#Es3l4z&WmVO>)~cJsg2)L2>R)PlyyZPgffQ(gsq6H!g`&5 z_>RASMPELc*NdY@NG0`e@u5v@*t9kU;k z!GM*Lb6pI%`5dP4TDh)7jObc68kznbh(Z(a)6WhNu(&8&D$~!b=Ado9=2<+*v-rT8 zlLOC`6vbcF(~g%sh+_c3cUggdqXZ=2IE%qSMY1x22`UCpz<)^!hePn6F)o<^`^Nx^ zGB{=IRDx{^lM*pD7Z-?3D5L8!CPeQXr*GAy22a?$p2H93yYW~-IXr&%j^G6U#u|Ez ziU_5IjsjZnd0p-`nrFpzYtcc8iUp3)K@??GN@~HMqXhf3zPgm=38bVVur{{t>FnriNsoDurx%IR$A( zK*@$mEQkWQWNKyuKn@6(-~y$H%9j{aB~C94od^h;=LsZ8*>pi5M#;O93n+>-&+>|v zVhoB3M8Fj$GX_bB!t1O8CFAFHICuj7i2%HUOvFJZwo9Z7O-eXQqvATJWSw8j8L`2e z!dOl_1Wl=!q(Xs8wI__P>GgRQUvmOr6rr+|eAdiDFvST92b@@?agGm8PJaCU?a>6x zuZKA-OKOFS=DvnF1t?wMB1@TQT)+a;@m+@CR4_@7c-q2~>y*F`Qb|t+Pr$)CIQ`!V zcz1e88L-Z=9ZkTOH#Z=BixLD&6uzNM|M>CC!4q((iVU6r_Mmj}O_9yjZvetD9H4Z; zTJVG#27)Hue8EvV1g1qcSDjgI0Q3RQbIP+P;77(OP;d(5_@ZXQJlo)w4=+sdbC}=? zCkZ%5ywDKFbDUB-PV+=D^Yq2*<5vf#FW&!f@ao-*2?!j`s!i~u^~9D zN|Mb%Uf`_2FS8Y6qnySNc?doE;_= zUEzO&i;~bO^Bu2yHqd}5na>a%aiPWJPoP&10G=ASamgz(@fLV6xoS~a9u5?tjC*=@ zX{|6R1QT%d=0x(P+z{ibDx}m;Y<9TqXgai$MAe#Rz4{lq6%*eFB0_sa{?%Q92UF1tU)=DoR{7b<1Kl zpoLZ}sTlt0rvgoX{&}rMI7C?*p`4T>S#Owf2IKUCeoU#*(Bwrq6a`05xPHOu#gNR9 ze7!#4YT$(be1+4?QY`MoR1|FItvW$b#b)GTmJ;-VC@b)on`iR7_^jD!J>kr$=BiD} zvM0O*Pf>IoCCCRz70``LJ|U?V26TaZC`*@ss_PK^4^_TGdjP6pQ4DY@H8eFeVL7C$ z9<#P?`)Vj)9Ah!Eqg!LDfjIFU7uh*dQ-zHH{-MXv;(ABc<=R9Ms=ZI}0;Q-dhXsN$ zW`C6g7Np9DIYnQN)-9`>D!g-)WLE=TKpCyC1SpU@=%!`dPymoLXe+uGwaX$gzz(=I zV)`wNbvU;R&*-N!Dz~Uiy~5>;z7l`7!J3O3gi^~yoOF6rW!dvIvu$aRjW zZJsiNk&AStWokmrHV3DN#{qlKy&?-x05PoFf`Zs8C79t8~pz#^pDfS<1^-1I(v6?e5P0D+Kzq_dM}4pDS%XY z)>{i{3@#9TroE=x9uJavOiE@kI#y#qskK)bjQK47cV5>@Z2n*|u3)RI{4T{kP{wkhXVxFpmNoZ~o7&=o9DDQ6xjAe!P!{mbR^ zl0hnSNXIYVLxmN|sLG3Al3WYOhitF21TfV!a=j&~!=zIK<~gF)CxuUc3)D3(wS!pK z$+}`Lut$^0@&`8aLdmnc9h1$ zsua3nia((EbzN1e)*+oYI31qD5=R=VwfXa>;JOBmJ8SR3e3O#Vl!S6*vmLYvNH1{u z!BdnZli5Vk zg?UXB1yI{4^iyq>)|4GXG7CXJl7L$LkBoQR_rOBAVrtV+wXcQhf`9CT&2V#jIBq~X zWowgT7N%%?)E0{kOj5uai$pG|3&eJKBUBFsipGM%H%WU#W@b}A$eK}Wss7VfC-!g& z!9O!H6Fb-}P=JaDKC);Jqk5a0o=eAuaSHP7)@TnN5>ktH|&|7`NQiqHx}*=r;xbM`nMMj87!))XkD= zj-)kZZkS80tA~Z0jsBC8^FEutCo}Y(SO3S^hA1jRHE78%hhK{6UFw+5D`IvBfB%|N z#1S&$c;FFu0>q}X)*)goiKjZ)I;@dZM={$X8PY`rhf05bpC;E0Xa17Q1dgwLm2g6` z0$w0+s6v*+(tL_93;=9ZR3a7!c{V)T0P%GS=QyG&gGUZiX5vzEEOu05;&J%D-<+In z7=C#L0u>GeU$m?%`4TDHh&4Q4 z*K6`j*cD7!^DxzU79%xHYX8u=*isW+#QQEr#oqAyQF5;h zR85$d6t5+8MOebly)CXk~0qK66flb9ff_UEF`H?_2dpoq;KWgie+V5xFiHvcY6g1XHOcYhN<{jnBe40|!KFL?6^6O`IG7PvnT> z7LEvW&ZYp?cE()9GQs@q++KEhoyiJLpz9=eZ8$zi0ytm!b;tpQu+rT4!A0 zZf}jXPdsLNem#`Y+x00Nk5Qx@GUek#JDYc=ISX(a;{}c@n9!cObwFcErtZLXl`8}sh7GX5g4XKz`ob&zlKPKca=9_YOj@bMrP=Q|GfmZ zEr!iDeWMwI`B1zYG9RyC^&4uQaifiLIm*(K6cDFm*)Vf{mI0?1L$u&-fDtT9e37#F zV5&PuPw2lKS5~YK=&uv;ON+MV!?*-+%JwF&HJU(CCAWxx??alzHiT(Bgek#8`DT3} z|8j(c6Gj%v60uKQu7EZMlhIMb9jy;EB$^}VUCFiLL4sk4)FC_}08mN_%-@a>iALPt zI0SQ;=TyeMJeH1XUPzuQS;;8_7{^0Fz>s8&*N8+zM#GR!XZGh1a>_^R1Faou9^!lg zg3YhD!p+_1;byow9`n(zDCH+Gh9HnG$0(Zz^4-Me?*kgg_*+MFmKHn_I{e zu(|d8HD>Q*&-SbFsZ%{TACdnXPC*&9fovpsBAxM`iI~p;fI6@l*XuFi~frKmGBjY97*6DQcFvooaZhW zndl)Ld^P&`ad2}pHalc0nh!wWzNKC&%hf%Kmh<|n4L2DL)V7m*1BPeJ&DM4_LS4}}@Y zVY#81H3VQ@lq!Is6OCrSiX{)wQA`2))m4^7j|X*nfk4)BlcpC8!S5i&X-tLmxJJf2 zx19)O9+NJ7b-BBs(`@+wv|}`iw&FCvOd(FdT3+CkOhND_BLIrzCN?o^UzF>CkJNR& z(`08id%i(6GrUn5&T{CW+FeHsv)<*!elsoatYD3Lwl7={a|e1_!UfH0y|=w#o)rWp zUV=Qe`05B1b6l3x=Jk=_WitA}Lpook1QkLA$W(9QV|E=Az zrT=%H?LB+c{}1sn{m*QE6|+Ny0%9u$s{YQC3Ne|ctOAvF31sKLpooajDOl7QUFd2+ z#RKa$gkSHQ>R>n=4)oN7ENkFmb8v~%cv4d^m?HvXNZ>?eTX9TUzUY(*T9h&spniNsFYwo^@uu;si74K>3TTHVC*EbjYvJfPou+6 zr$(hb=;Y2Wb#vpw=PJtqOQ#L*i8&fPB(aOrkSb>diibvQzHZbbL`%MMbB+AY>Ho5L%9#J4RZB!aV|o&QIcn| zqZ2iFpITo2*&c`fSN8p?41f;(|7?42$JYP5}eRHFc)nhmsDNrrvhu{JFwXLOVSphpV(D4KU z$FL!xjYb*ZK=3{5Uk)z-YcY-p2vql(_|`4hKCgIP9hjI!cTzF>VFNrRiPi-+3rSPN z<0%N$IWhgCXqV0n3UUodL+p#i@QXzN0+R4X#pnYt`P>*gj-GT>FmX0eGOTS7J1Mg4 zo<P1o3L{N zaPie8r|Rifi=L-KcDz(limosyV{RdyhReyPx@#Il@HrkD5cU1B#>Vi|0+n=8G}#A1 z(1-RWPK$ab^k%U97rL%129kyAb?anjSgjKT?OXDyvnApnu&l4wt6^TE>(bGL-@z0Y zC2;^Z0SvXV_WADCt^R4+fB7PM;P{_sd-nZ5+gqEPkM`d~Jk0;6+keOPX(JKg&4QTQ z?Log+kA=l((=A8E5tXGlX^knDu8 z#NF#)y+?eQDBLwvyN9jcIyzdNjK}0p8VOUh)soW?Gb1o3p?! zM-SJ)>N*NhD9s+N0ySL_$`7;rn$=y`)rY_H2YZCdhSzaMBUg%MTYH*8h9stw;U;5RcgZ zW0xTmDx?RHOuL}TuifQR&#_;pw(2vPj9sj>G-g%t=5ArnZf0-WlmiE4iC~k8At3=T~{l7AQ zmS&B~SC&mH2d~G!B0g(&l!W8*|LW;K3>(V2g^n4#Z9ZZHZGRuJY)oGtvDvy#AMx#6 z#Hxc$bbU>>y85!7zk%lYv$J#a!P+$_+q``za!7VL`&!1L?dqT!x=eH!Tv zlx?m)Sx~kW>3G%)&7ir@aK+%5|Mls&6|Dg}=KuDy ztw#LE-p*tE$Adh#i2v2DZ(nHuuyO3NGXhwn;!hX?+y;1s0_ii2;x&R#?-I)UeR_lv zbdRCD`dsJ{%UdyYCrd>1_6yJL3i%ClSP*^{M_a(ID&_6LcAz&87)dL%^qVE8dwT$G zW7_%RWF3*ZkD;@jp|di#mz5SvjU8(PZo&77WiwoLC27M(S8AGo0`oEdt=(g^_F8@FMX6pa(-uTh~{~*s& z`u~L(5i_Hqg21BhtD_*Q-uZZGWhyiQ?T{jL+ zJjLY+VHrCdb1#B9JjV$pxE|=CtYBuseQMvlE8>*oShqC0Rho6U7>f-+cFbL^YUOJO zcJs9E24J1|U#uS+WrODZzRhAFsMFU+MI6*;ZA2eixnetMlJu+wd%X-&0d=Bd=6(BQ z?(B~Fl07l+*9r4Z{?G5gdOs2ETwemGm*G-KIR?NweLFW^C@Iv%IoH5-!BPyN{nIv= zS`a!0pax&H*S51=xpZ9;q^=`m2)D(B)!}iK>1yk)oBEBNJvkZ_iRM)mMOG1(a9d_i zF9WgZ#OH{XR=xH&1y|_2L{U{BmHfIN8huDk8XaY9<|vy)QnHG4U)mt9wSz=p-+s-Z zH1EXLxZ|$UaNe-(C@Vb#N&Gv9R)Pt;DgZD@P`N$ByeML$wZb@qrNcOM+|GMR!%kBx2Nq3 z=LYZCHPOl8X$*b?lPo?A|u#5Z6bwk^t8C z`a<@bn_A}a%h>}CoLyAs0NbDp@GA+^*uH1IiwN)4@4Du&j*%FRU^lSaZvjZF`8g_h zb;jOC-KO1PQS_!8e_0Q#PE@W;F@4Xz`u#t4j{Ms@f;#*^J3G6Zw*PngG5+&mo?FC! z+5-dplAYJr*H-C3Tsg@zg^62bncdOh0dic+;N1V!PvRR(^R5PBl;60e+I7O3Z z;WOogZJ+^P-wYVzRxp3{xs#~+^h9BoXNUq>@NvHP| z6~@i*Db)h(&S7yUKO*|cXbIz~sxaB-Hw}AoGE$zYvaa=yUC43R){S_dUz6{GX=b!( ze@pQzn69r`VG$_qe>Y#ME7naI@_Tc3aLJ$Cv6jD3?Xg~kW{_Q_T64O<{T(FUp7O6N<>7=362 z5UjB*1@>E!q(FnhyqlAK5Ijw@7`?}NP`6PuZhQNg*6xgCQI@bO?DA~0{IULB`$WYV zeKlh51~*zhTGP!=-?*+1RUY<>!uE^HK|o)h=7}jHMGN=ATJ6oHg`Rr7(yY82hV{)Q z{RtYdp0CFSO3Rqh6Rj+;0P8GtinnVyv*Cy$;quibRXF_GlY= z(gWNAMIxuH68EGwAnJpFezztQzeM#-7BiP*ptn^LpwG!L6(y}jZdQOb9XxlO%P|{# zcY1mputv9+Ice;$!PS&V)Dg;Z3rq7I8qM&sbH=K$~_=HW4rY6 zd6=ig{$E)h@DBU`+18ew|9fY5`!WCbgFH*e|JM1zf2hx6-%B*GN*#XV4%M}H2X6Yr z>fX2`b-i0kjaXfCU2iP$pXQ5bx&5b`m4x=*)QQtro(NaTU>K~MEtAAHgIVR5R+Kgq z>ei@W&8#p2DJ-n+Vl_0X=DAvT4msNba7TtobUL51Lg6kiabBfji^3l$}dX*NRkv!UC_35FMcd__fNqc)+dz`q^JeBm&CZB=7X~pSZy^w4R zwp>IkGE+O`!90Ij=(^TBE+_n=_TSvy`Og1XUk5!Bih3+Soeg&lc(K%N4#BtP-;>Zf6gScPtGP#V|N3WLlb?NtWj zf5HT&5h?;B<;39;w7jIzO4GQv8+MaOyOk zFvI*UOfTfwA>Y@DZ+`fod56-_?5eKL@HL}EEHLX}%FgqPc3UqEb~!7w1LeMGCusi3 z#}zl6J}mLhT$NVgxHJdI%j0D;hBlg=SLX>XXKym{7Qy)XAdbb&i`=>G`D$>t9fX0L z>5GXoyS+M^VQ3(OWcte7+Zi+nyWFkYL*02_R1yczk@Hze+PdL)G7?PxT(?ba7o zL%;GxsEAK|-wP-F@v@f{Jq`Jv;PX+03Nm_6|2)tMP2)wtmOT~v8t~ZL{yDW)OVQyebKc26!b)%UfEHvsGNj-+OOH38=A+dH% z<*|Bias80JYjxU>Jd?KDVKw}e3ja;7OWkVF>biw>)6=*dcLPQsZ$#Z1M_vM#Usbrj z8m>b+Ea3v;gl8Cf3f4hDib{+GURP4~@AQlE-)R7X;c&>DHcMYk`qWO2aGSU>?wc@u za3m>JJQ+#KFcRw*cZ1p5IQkd5<_*>kDgF-5ceha*nR{v!;w8FngIM4NB&aXQn?J@m zhR5f2Plx_rMf%6i_^-_!`~K(Mt;hV25A(?NUxCpAu_JLKejX1`0UZE%iX%u^7)2zK zsiN4w;Im}3w&B%7mpOL*)~HCGS0y&F_qp z9>PwFYGi72RB!3~yg(&NiGo-QNqM4?um1F3E?HV%aLT)Z3w^rop-XYC8`>GK>59*e zl_1clqr*(;ewUJ}Ioic3uFRHam8JwgJ6_$AHA_roHAMkV0se4Ue=S@2R*!hs4!wG5 z?rYZxnsq#2O>N29>T}RwPhVGdMZd_gX8vu*NdEX z-Y9eietVC-XI*`Zv_Y|&m2%9n>Y>ibrc4us#3Z6~uSK{$8jYXxpK+-OpF+zhpQC!3GF! z0oxOz+Ls4QHvbcd$+r1#Bxt>Z0O;KRYux|4x3@Wdoc|B;u=#(GB-s`CS9Okrk4)VA zopC>CjMC6M^_^LKFKbZxmXr*a2oLp28s1RimorrZWW_C7hA+_eFkzk-SzcgjywrX_ zw#8=OUa(ZF^xVXCqj-31AVdyMFG4Di_)Q|Ff4fBU1u71+dCrnZ|L117`E}s%(sgn) zG>`HK3fNU+K}Y%#&aA^3iY^s1O2YA7FUO8L+56BsJl?NKMyluab`FXNr8;BJqlLMe zr%nEgn3p?y0K4S>xat4f*?Nrse~?GF|3tj+ zVy$#B6CP3^;X$5D`ObEEax3C_p(UViR`DH2YQmYr6kecsc+R(0)CsGTI)QIf%$|rA z+=a6ZHVmEgbzFO|-B;PH%MLE45i(mQcfKB_>!0~)lmC3^-23^j?d`3`{a?@ab{^&b zLp)4Qz4(yBG;YNI@dVC3@uUkDEmYtl$<86WoJkq%c4V3s>LG4v2zV_kro#bhAFQdE zYsY7~Y~Y`aSdMjXtXRD&Vd{a&J%vR=G{Qn0sM$VxQKb>sea8O8^OI^i#UI!?V5b#6 zIAka008|uAt0cJwzg958Q%n^_p0f@K2R|YXos}mP2ko2^oTCU7nL0>F8#ZZcT#@5?H{J!`h>O5hG}ap6n&Yie#2Rz5b=~8R z9|Mrp?Rs8(2H93B>stad-1}NQsOozW7;BgYRs^V^#9gL=z^tUDtNx;Ke7$c(sahiP zImoN^n~6ZoL~V#uc_?g0I=tC17juS}V%AxQa1?f~p>K;Jmn;#t?Ot>Y1DaR&0fuIYZeUop7bBT&o}1rMn7PP=2==I4_x;31T77=B#@wKl`z0A$S0zJ3-+)jl%4(U9zQ^m%GE<*TS;xv9)QiG_#>4j>i$fg$hj#_u5+Gso5+@KK_7c#G1aZ#>< zy4BHES{F)*)7i$$TV*UTuq1ejqU%WB8K{0P33&hjN*AosO?}|<5?ybIfIB^J5lRHt$CPEot5{BcT2+SyMCSxr-`|D3mT< z;gVPcu~*IGr?NC(nyFtLxr210xPyxp1nWY}=0FxJjNq8Nz{(s&czVqcjyQ;ER?u$8 zMV8V9mWnYA+J?J(9HMlgSCXAbyO4*UI=m&5eem?s`k*@e>B9V?O=-;H)a@&MbT3SO zFN&*qA|Y5pyDgi7Im}gJMF2H_ql{0sdc+*EdKdBzdD<+l5kH5ygsZubY!9C(z|%(s zdNVCf$s{468=_p$y1>$jVS(1|ciH4Q3y zt22iKtVT@7Isg3@O>1$wtP#}72|L=RHo{n<0e&!%6nL&RXUo!!&6u4UihfaB4NQ!k z<}GeFHyYEzTM%7j=ct3~(N_b&*RA}T($k_sZw^iXOQQ-dP>KpjPz=63eg|+m&3Gee zN!d{|FolS$tOyP{;c3*|SYM|L5N3WBkvmE;W%&7>u?pUc6J2A=%8wYH{E zP@*7-~=GCI?T2&X&h%S!V)NKb9OVJoSy( zw|j+Caj>DbVC>HxV(8RXE*U=Oj5kY?WnP5aq0}vRkO#8qsEA`GieO?At%%GMuqG*8 zXRG91Gp^gzv8^2A)>R6p#?yQJA0!xxq=wqhyUUF0$rfISWKr{P*5=Bmdvd)?@tNgFI{{#dE4DgHOh}7zSSt zbB`@GwGgdbX7giCqoL&&bR~4x*VFFQeV$B!W(q*i%=5>y+3{udQ}?z090uP3Jjin@ zR>V7Ad$_Ehf`^Wv5485EKxvE$zR4gBsFBVOjW`&kKHw0^{1o)!d&^`ek zqrs!goaj-#nIcR8mGIS_idW0vD>-DQwY@Pj@cNSPdh_mjQtsNxa7|~Qk!;sNkU4xD z)ij`n=DX{``)>KqoH6%#{`=Xpy@veX-FdwK?Li(c|5+c4EXZ{2pJW#}>L>MuuWon` zcRkxMR^=7n;UyYfN~E^gHEbD@_5JUa*r2kXjl3*2sB%JtZTO#3;6hvjTZABG!8SWN|Md(7+?Oa%u(dp&e-y8 z#hJT;Rv#NZJ8bMs)FiP;z@cL&NZoR*N(Be+PQMQth4ogjp77l*?80KjJbNHAwcbvy zv5jKAY&KrIWm)2AB#$@01Yq4mC%aepTSO*-tJmz((oW!)+R7_x&rvAuwry;t_yEYO zNoo+M{2m$)1TVK)8%UI&WYJ}NE8Hw?w2YY_f-G$q(2>|qo`k?0tS~u33A{c*QI^J~ z!74gcLPsIcPPzn74YsO4r?Uc;vn+|5u;DIN*bxP@Mnhb?GoF| z{ik&1e%Js{F+p?RHNLu`!t%n?!eN>*poT#*r*Dp_Qkm@6%hM5)9}LsF?NC6!f?$@F ztWr>i2?p$%VU9>Y8Q{RQFN#Shok6z^2DWC`;cx}dKN#+f`r`i1W2sLYmW4^`2V4@IUNH4xN@$j8?FwF(ATQ7q6#%Bd zERLuAK3!b0T?-MB)*y4g4Q0of>(N)>don}C6)q9rWU!nEpS+WDX%E&x z`)XCfcIBwSYXDWBTlpeO)%U1s7p%5~Be%AM`-P1WA>-xs!d!iva7VE#`ej{Q3g)@}Q@kN>yX!STc?7#8OGdutD*6!Y8{^tjIo`7RW2rAN& zngM(SfU6lw!Fh#~7^fE?htVaxKxH_10#0YtG~rwRB`9YoNx(&tor5_f(F~^-8=yc5 zBzS?CjMCo2G#)$wDY{^RUUcH3DgJ6(jbqd@;Ki(SPL6a*>W|K<6;Jta32L2`UF) zh2>Q~_$oYymxHfDGN*rM1-=-3_5Ti@fFEFiv#JCyk6x66FfX!SP(%hHju9O3;zjn$ zAY7DD7NgN0K}v}E|Mtbf(d!rCJiZSc?el+gXV>=sZf=bq@Be$4=ZVPcFc|#(Cv`#E zX80@||GYLMBrhkU5uRU!<%}g03vo6&hw%j(iNZrxc8JqyR?H!f*8TsNbq=? za(ICzUwsAsQ{ukBWLBMrQ8piuqCz~dX$14U9FYQ{(Hxcp6(i1}e+&jso`Ba7%TVOO z;CCQy`gk#?w#e_`U6Fv_2fu^ia5x0~fASCZzQzK62kbuv^es2y<|w7a)@j@(;Orm! zo8jheI3AAASW#}mP}KiI*Wh;`c14fGnwS1nMg?ZKdr*{&0{*Z3pYa#_HTWGIfBW(X z{0?wRVVv#kK0o8+{SJ=b`M$h+eQ@$G@H;5w?Qv(pc)S&;@6Pz`-+B1k@8ImGpB*KC z&^8hJmGu{6H?m|gDp9dO1v~ft)A(nT;NcKfWEON)+q9~sS&G^!Nr%Pn;5^Id$T(wH z@wC=hfZs(HITkndbVAW`Cm2v@!GcZ=`p1x0>4rw&g$d?a zxEF4>)|2VLwc989GeT5ep5L-2UGdOi!TxA+fah=%$({2Q6wW?n#U=eBaw5i!KNO=LqH)(?+I%iu?mYSJt*ImsHnx!xV1VD zz`E7Il9ihSi^}jG6_@3*9%>ef+=WXs*#MIBz*xbl&8=r!o4u>bpeBQc)5GK5$c@<}HD1L(zvr#EdT%~);G+wkz zdC*b`UZ50}B@5u|QC?igz*S6$_+=422)F9>Z$_4*l(Dz6M5PCjUY;KsU8dF@lxP!- zPm9JmD#|P!iPFO;!TkU>6e-)DbJye+Um3>PRoaIGvV4{IDs72j<1!Bz#|@k6&5P6b z2S=}8zHt-V1rw&i{B2#>aR}ColB5@v{IZr%+skuKR9BTHcp<9zc)>qwEz9B_0@;zV!dH@? z?vj?FJi_6n+$!F&IKzB!Na9C4mL0@}6vzrTZ~amhNC-lM6=0Rt`4UZ&dBgKBHC- z<`pPUa0K;_+Bcav$|D8rtef6q!l9zf1b%SbsjZrYg>BYVzFWNY^v(41#I*Ze^d*tY zxzeX(w=boS=fnlSmwUvz@}NI|tveii6VY|0g2y^3NdXDExONc!HcJwmUcAd=NHj}B zPZZ)DHqKaWN6Eo(sb_Fdk*v-l$1aoSna}5lz!(w;s*=+F(+nl^VVp%JSZszn`nH+2 zyOd_dRhGrSj8y57xMZgs@oMXzXtP+w|CXd2sWbNP>F@9&TMdr({oiL>&&Kxt@6OiF zWB%_4c|>rB+6BgQCfU|llvO~70ZuQ1!QlS{ZJVWR^w6GTUJU()o6@cf+Arb8e9*NKUrRJPAuh>}NHE5Ts zu2h{-u;5*Nq`zeuZPpl%<(tNr(V`pE)YQ}GSN$(!tI4HZTBqA0Rr zZQTT8oyx8qhOc3Yr-&yQ*Xfh*%kW!7*7Q4(HbBsv#3nfhWr+%Yng5%NyqM?Ydaa4l ztXb#7+W_zRO(b@OkgoC90&dj{dxhKhb>(0^Je=VqE>ODWK_I8ZWM4!2)A(lrUJRyS zePDM4i9&l??YH-f#t6;@n+U6yc$jVz+5#2;Mx=tt5hRdhe{alq`PAhEBW;{M1_3ej z-*13RbX^bp8lZzR6CYR!Dlpoa9<+IqOgiC=G0(9CSmWaY0FOn5BMTC-0! zEPCvTp#EAHQ@*dDJ}55AJ4k7-h^BDwD4!{aTL@=ZT$KA|f=~`{%C|yvvB{y<#qE;I z32BDxhQZj7Fg|voqvEE4@lj0w1;jL)79JT*$5Ok1X0>lEooVd{70ndkpH(i?w%wah zevvM2FO$6@`9-?0fb~HsKG){SwJuUvfFFxc6jxbT%;BJjgk)E6$oW4AK z|KiOLX8&&h>+}0>-hTf&R2QR!?24JUXv+Vfl60Sm= zL2vxad9%%39Dnou(Tn$Q4qm@lNoy3e4oanWG8ss%3`4aSQG%B}`$@b#^&+)65hc8cW zHCWq0zkF?jUJ~F(^JhmVHEF4Pt?@Xz(a{)Vrdi**cxEFo&MLc z)2XfGG1KYjY_-y9-CG;!FVaO%8@;wYU&EXmh?i)sF^ii*{W~o)$Zc zgDV6se#@Ff@*3t2Jff1!zrpMO#8Y+uY#a5?+I0OQ!|#A+-2!;Wz25-YrH-b)bM5E< zAN}NRlxi5i@QgQ$50Ex-AFTJH-`nYZQ1`{rvAlW>^Pfa7{0#OL#ucuiUZjf+6X7aX zP_zf`w*TN?Oo`BP{!sI~vDo4z*bwfs&~h!TIEV>gX8nc(@&p8dZYj|g^RI3@n_oO9 zjfs;Nhi_k;)|L(bS{s-WJt-<5c3sB*#k3>mR!_|+I%PxG5;Y?m9)nDx*iN`;zq z^;9JurPK=RvosbyowY#co~=$zqk*Xu1D4(If4@b?H_Zo%=hpr17S#1v-DotrZlk)_ zl12P9wb06hJBu;9qiFYf$tZAJY}?;?hoz+XQAT$4bgsGmX_ABq2bl9hLr>_Go%mGqC#CG&(XnrbtCKQX_s)cI zAb%+f;xkd1dd-K^m`sGX=u3WeloyV_i6(}h#y@vd^k_UeiZ?(5prFvuakoSw#=jql zoMalJ7RLj>)np%xZ(%rCh>iE2X5QJXps@XI??u8LjEMTkjecTV$qivKO!mQ|lN^Fa<`TSyqx9 zlG!kZ1m3PEWNyS(E>iG~0xEYS7?FAIp$jcmOqPZV?d5 z+T0rHMn+|U7Z>|zY>3HrSyNrNEWM~aV#14^C+c*fm$PcJL`$u???vk`cjB1WI(grT zG0xzbz0paYArgGFv2R|CCS#Vsh!$Ri#;2C{e;Ui#G@l3bC(i7Bj@XxrjY(HidN_}sBIXblZdSexJ?#+@08G3V8 z$d40oBio5DY{4c(zryWyl$a3gEwjd{BtI!?dF-RY44yEE_^kIkH0#csU46X0Yzc>o zqG{|Eh*U-DvEabHEg0v$mWjrxJK0gUTrbYuAqjNQ*wPQD1Qk;lp_`94`Wz90#~7^g zT|K4w!3%47oFIbM7_JTAY}I;W9e1e>I!0vwC=oA1FKy=aaNd7v>*w(??EhI-;NR#{ zK6#&K@q1X2tc>8DmjfO5Ka98bHtqZWcDA=4?f-{(J{SA{J2mucu5`_F^*mGV)MLHfkrs-?J;Tt(2Z7`E2}_Pk82OQy1?BdtXg`dN03xMMf@6(0!N=p z6SuhkWHM88Rozf{TwWd?zk5e;f`4O4B#%)Mp_IT2)JHz|lgK^{`@3VGkX3D%SdF*| zqPz+wV0YX+iK;c~HJWF|^*y(%1fqiP~;Xzg2nbRFK?WBC8X zH5IGP{@dyQ+uPi;^Z#z|J?8&?nCElx|A`A{R_*Vz!Ty!}d!p_A{CN#VHT`!@UON1B zD?XnoaC(m2f0vc*r#E@Tc#jZ(4s+A%0~7SM`n-;C+0*Iula_0XUl`;#py|o#(}xo7 zqM}?oNMjka>?FybXvs|)KM>kc*tpthpWo)hR1Lq%sdshbil+S$pPQ!j(ZM6`&GI zV)6SfT_vy$gX;Q>1|5Vgj^>Y!)|=;jsWH<=D4SI#muwOU$@%1K=h8CG=4S!aj20)E z+fM;}yp!L%F>KtRz3y+f9ZLz9H&op{e${Kx3KVTtt0=g_*?Ov0_Vao)-T@R#!m_#b zY`dR^H9Oo-f@7dg07dhtURS4HZ>u&}sxnujQt|@NVR6kA*koVnininyx|sAGl=G+u z4V$3x97dNYjg1+0Us*0R!Z*O(Na?|!TjT)gritH#Sk2E-anD@hDM403(QVcK>8q3b zN*jsd(^n_*RlEPn8x6KhV#yY3!0W#{eRb06F*+`?1&(i(k^2r>nIuXl(?9kd>$ld5 zrQ+H?|8wZ5?NNe^BjV|^&;!tPTmc{>_owqKF zf5c>Fr=DAS@uB4xeT7Rx)j0G0@^o~)%CoctGS6erI$g^gM-`RnYJao@aV63R-7@%O zi}pukp7&dUvL15=EBsZ~CBJ0nzBS2rS#~MbBmbS9TWgUatVlN0RDbI}FP(79tW7kk z?snS652)Mq*D9TO%DVC(jjf!(tG&fupz+_5EaQW$`S9nKEVq{tx06Y2lEqnPQ?O2^ zi0xHlY36M%&%DiBGjG#i-ck*_gYk#nFuRaR&l?e2n!rG=q zbfoa^Xhr?0PI-pNGFT5!5G<9#v-vToT{9lyBE727S;c+Z`Wi~csn zGPcALHpKF_!?HF*Ut8f0N5Z{^wHTRx!&$Xl)P(K${> z<&0|SVZ?OxEW1j<@GaQceLmUQeGUXe|D86!&~f)~`*LN^@o8s6<>`|=i%(Eg6_{Kf zW+_1*{40y*(Q1cr*Z>#8B+0Ih3%tMyx97Pk=}RV|BJQKIhxR+>~D3s_lf>Gh}}r*-8gfm@5dL)q5*UGFJ02G+YR z%_1id*ShQh_kZpEe{RJS?ge2NGu=H3pyU3BoxM$a|9@}q*<=3K2YEiD{eSaT%ozpt(0fZhYA%=nQ05 z#H`~2L2*&xNj06~58fNQyU=a`R}pHUeZN3Ofn&5kY^SY3)Elj``+|lQ5Y@a$!NoP> zGQz)##hNdoo{`0BN)c^F1;!Nsl&gIWR}HZ<-_|YW^9jicctJmvtGE)zf2LN$v*c|r zx0>QQz6l71j$1|8w^h!cQp4$(KNd-ji#$&vn4tgt=48df#-Quu@Zi;pAw}XR4SyJl zI>U&*8v3LW8K1VT>m}9^VzKbvUuf-Jq_ev zYGs$jJ(qDhgB)u%gMai-nZW!m#+*Muk`@En{aCFwocq2$24ey?4Z|l#5uRdxhPm~U zw?f{I@Ju%g1k7iDF>~NEymq^HTn&A*(Qzqv;ZMfzU-dL*1Ura`$W>Nceg>0*J*_h% z#ffunoKl0?eKX{&Zen94B%spQPO#swoqy-N)4|HbmVRmjCD@VmMnTcQsIidOk>LLk9W$0h@G z(5=E|C8wmHtVzIxF4xRLnt-}a;T%VLu9OA=XRQSIvXrQBgEJ3NmQ#qof1JoGn#gsu z2L-syY||r4+Gn`v&2p`-VxNoP)3tH`Fe~hw#2s^3+h2G|(7c|%3l(#Irod`m-igT^ z7|pC#Y;s5MmCtUk2)?@Q;ZEB?^jL@Ttemw>lfmk2D(JHNKcpCI zIc--TuVd38U>AxL$X;lJDERnEMY1WE|Ii|NQJ?EtMjorfa&6lm>WEf5FFfWMW3s?= z$1M(JFD_iCjaU_?A+$qo60uWtG^&fJL9^l7NNn6x_^%}*vnuC`7)c7~_ z3ePd|sgC->fBv`^J{%9r^xFij#bN;&rphZU6U#PdHTK0FydNF7#iyPWsE@s){7ecw z(PB8*^uG9S30+vbjlK^3{Y@{3ltG5 z%DY=6p#8-hm#%DJ%_L!}LmwTOj}FX72j=}cFpaZ5yzkpJ$HGxTm%KwZM6gVgTi8q<(quRj%b%Ln%PcgVQ^5?2FSDwM zP#G5J*NO=gDR^t^M8BWmlQAawC}uebbT3L=^cvmMsqy@hlkDcfBGn8ozD&5({0A zg9GkCe4G`;49mKMhrm0QdDl>uRt0k34J_^jmJRn@FsyFIXC1kU6G{eY@)9I_aI*ou z;UGhP^G+=bwP%9y%m0mASw#|I;3`O8p`wxf!(WnJjQ@Q6e5_C0UM=SUd~FwBo2{=) z^$;&w>xrtje+yz;y6O4YxN{iJ_0OIYVLgas%UwU2?1CnnN)Lsf`QcAZPMNd0k4u}$ zPgE4m#Xx~bRiqvZAAEMw`c|GLudLQ6p<_UL4y^L}GK-DEC45Jo8R`6sV!IZ z_XS@MYafz&3N3T?&9B0ai;QGZmfTT`c@>z1-#4wETh~Y^6A+vp9$PVwd4eNM=zGtR zQJ*-<1=M{Ga~W*kot_>qDf|>RR(E-HC(9`W1Kr7z_}(4eo|&|+8yo-f`AX_Xak*-7 zDLdaM&E%lDyDU3M(~PiNBvxRMd!?C%#R7VJ*`~p4ghkwgaO;C^mC~&*zLkkL17V|+ zZURz3G{u*pxS%||tjq2FTXcxT=8i<}@E_5u_v~F-Q=nOj1$@2uB*hDPNClM%9zjSYY zboS+e)}ra0geQ4{Q!-r(G}^u>L7EXT&8jpGHZ&%9c3fI@-GV2tXrNc;+zl#TrVE(h oSTNh{0`NuIMa@e0a~_|^=ka-b`ab_(00030|FX^SE&y@@000UWfB*mh literal 0 HcmV?d00001 diff --git a/incubator/gaps/6.3.0/ix_values.yaml b/incubator/gaps/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..d11177660e5 --- /dev/null +++ b/incubator/gaps/6.3.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: housewrecker/gaps + pullPolicy: IfNotPresent + tag: v0.8.8 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/gaps/6.3.0/questions.yaml b/incubator/gaps/6.3.0/questions.yaml new file mode 100644 index 00000000000..4284bc83f0f --- /dev/null +++ b/incubator/gaps/6.3.0/questions.yaml @@ -0,0 +1,667 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8484 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8484 + editable: true + 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 + default: 36030 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/usr/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/gaps/6.3.0/templates/common.yaml b/incubator/gaps/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/gaps/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/gaps/6.3.0/test_values.yaml b/incubator/gaps/6.3.0/test_values.yaml new file mode 100644 index 00000000000..c7555ac8822 --- /dev/null +++ b/incubator/gaps/6.3.0/test_values.yaml @@ -0,0 +1,24 @@ +# Default values for Gaps. + +image: + repository: housewrecker/gaps + pullPolicy: IfNotPresent + tag: v0.8.8 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8484 + +env: {} + # TZ: UTC + +persistence: + data: + enabled: true + mountPath: "/usr/data" + type: emptyDir diff --git a/incubator/gaps/6.3.0/values.yaml b/incubator/gaps/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/gonic/1.1.0/CONFIG.md b/incubator/gonic/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/gonic/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/gonic/1.1.0/Chart.lock b/incubator/gonic/1.1.0/Chart.lock new file mode 100644 index 00000000000..a15a3bebf91 --- /dev/null +++ b/incubator/gonic/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:48:23.605318594Z" diff --git a/incubator/gonic/1.1.0/Chart.yaml b/incubator/gonic/1.1.0/Chart.yaml new file mode 100644 index 00000000000..a91dc692bb5 --- /dev/null +++ b/incubator/gonic/1.1.0/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Music streaming server / subsonic server API implementation +home: https://github.com/truechartsapps/tree/master/charts/incubator/gonic +icon: https://raw.githubusercontent.com/sentriz/gonic/master/.github/logo.png +keywords: +- music +- subsonic +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: gonic +sources: +- https://github.com/sentriz/gonic +- https://hub.docker.com/r/sentriz/gonic +version: 1.1.0 diff --git a/incubator/gonic/1.1.0/README.md b/incubator/gonic/1.1.0/README.md new file mode 100644 index 00000000000..fe9cf71dfab --- /dev/null +++ b/incubator/gonic/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Music streaming server / subsonic server API implementation + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `gonic` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `gonic` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/gonic/1.1.0/app-readme.md b/incubator/gonic/1.1.0/app-readme.md new file mode 100644 index 00000000000..2a94032af9e --- /dev/null +++ b/incubator/gonic/1.1.0/app-readme.md @@ -0,0 +1 @@ +Music streaming server / subsonic server API implementation diff --git a/incubator/gonic/1.1.0/charts/common-6.5.0.tgz b/incubator/gonic/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/gonic/1.1.0/ci/ct-values.yaml b/incubator/gonic/1.1.0/ci/ct-values.yaml new file mode 100644 index 00000000000..6d8d2f4a5c9 --- /dev/null +++ b/incubator/gonic/1.1.0/ci/ct-values.yaml @@ -0,0 +1,21 @@ +env: + GONIC_MUSIC_PATH: "/music" + GONIC_PODCAST_PATH: "/podcasts" + GONIC_CACHE_PATH: "/cache" +persistence: + data: + enabled: true + type: emptyDir + mountPath: /data + podcasts: + enabled: true + type: emptyDir + mountPath: /podcasts + cache: + enabled: true + type: emptyDir + mountPath: /cache + music: + enabled: true + type: emptyDir + mountPath: /music diff --git a/incubator/gonic/1.1.0/ix_values.yaml b/incubator/gonic/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..0573c45fa47 --- /dev/null +++ b/incubator/gonic/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: sentriz/gonic + pullPolicy: IfNotPresent + tag: v0.13.1 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/gonic/1.1.0/questions.yaml b/incubator/gonic/1.1.0/questions.yaml new file mode 100644 index 00000000000..0d44c5e1d07 --- /dev/null +++ b/incubator/gonic/1.1.0/questions.yaml @@ -0,0 +1,667 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + 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 + default: 36062 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/gonic/1.1.0/templates/common.yaml b/incubator/gonic/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/gonic/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/gonic/1.1.0/test_values.yaml b/incubator/gonic/1.1.0/test_values.yaml new file mode 100644 index 00000000000..dfedb91dfd0 --- /dev/null +++ b/incubator/gonic/1.1.0/test_values.yaml @@ -0,0 +1,44 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: sentriz/gonic + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: v0.13.1 + +# -- environment variables. See more environment variables in the [gonic documentation](https://github.com/sentriz/gonic#configuration-options) +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # GONIC_MUSIC_PATH: + # GONIC_PODCAST_PATH: + # GONIC_CACHE_PATH: + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 80 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + data: + enabled: false + podcasts: + enabled: false + cache: + enabled: false + music: + enabled: false diff --git a/incubator/gonic/1.1.0/values.yaml b/incubator/gonic/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/grocy/6.3.0/CONFIG.md b/incubator/grocy/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/grocy/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/grocy/6.3.0/Chart.lock b/incubator/grocy/6.3.0/Chart.lock new file mode 100644 index 00000000000..d46e30081b3 --- /dev/null +++ b/incubator/grocy/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:48:25.330380106Z" diff --git a/incubator/grocy/6.3.0/Chart.yaml b/incubator/grocy/6.3.0/Chart.yaml new file mode 100644 index 00000000000..a37088fb489 --- /dev/null +++ b/incubator/grocy/6.3.0/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: ERP beyond your fridge - grocy is a web-based self-hosted groceries & + household management solution for your home +home: https://github.com/truecharts/apps/tree/master/charts/incubator/grocy +icon: https://github.com/grocy/grocy/raw/master/public/img/appicons/mstile-150x150.png +keywords: +- grocy +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: grocy +sources: +- https://github.com/grocy/grocy +type: application +version: 6.3.0 diff --git a/incubator/grocy/6.3.0/README.md b/incubator/grocy/6.3.0/README.md new file mode 100644 index 00000000000..ee93150a355 --- /dev/null +++ b/incubator/grocy/6.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `grocy` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `grocy` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/grocy/6.3.0/app-readme.md b/incubator/grocy/6.3.0/app-readme.md new file mode 100644 index 00000000000..de807b7ad25 --- /dev/null +++ b/incubator/grocy/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +ERP beyond your fridge - grocy is a web-based self-hosted groceries & diff --git a/incubator/grocy/6.3.0/charts/common-6.5.0.tgz b/incubator/grocy/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/grocy/6.3.0/ix_values.yaml b/incubator/grocy/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..f646426e755 --- /dev/null +++ b/incubator/grocy/6.3.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/grocy + tag: version-v3.0.1 + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/grocy/6.3.0/questions.yaml b/incubator/grocy/6.3.0/questions.yaml new file mode 100644 index 00000000000..b917843b0ae --- /dev/null +++ b/incubator/grocy/6.3.0/questions.yaml @@ -0,0 +1,627 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + 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 + default: 36031 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/grocy/6.3.0/templates/common.yaml b/incubator/grocy/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/grocy/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/grocy/6.3.0/test_values.yaml b/incubator/grocy/6.3.0/test_values.yaml new file mode 100644 index 00000000000..66f3d07f06c --- /dev/null +++ b/incubator/grocy/6.3.0/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for grocy. + +image: + repository: linuxserver/grocy + tag: version-v3.0.1 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # TZ: + # PUID: + # PGID: + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/grocy/6.3.0/values.yaml b/incubator/grocy/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/haste-server/1.3.0/CONFIG.md b/incubator/haste-server/1.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/haste-server/1.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/haste-server/1.3.0/Chart.lock b/incubator/haste-server/1.3.0/Chart.lock new file mode 100644 index 00000000000..0a299c53fbd --- /dev/null +++ b/incubator/haste-server/1.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:48:27.089497912Z" diff --git a/incubator/haste-server/1.3.0/Chart.yaml b/incubator/haste-server/1.3.0/Chart.yaml new file mode 100644 index 00000000000..05fe093fc82 --- /dev/null +++ b/incubator/haste-server/1.3.0/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +description: Simple text sharing +home: https://github.com/truecharts/apps/tree/master/charts/incubator/haste +icon: https://raw.githubusercontent.com/nicholaswilde/helm-charts/main/images/haste.png +keywords: +- haste +- hastebin +- haste-server +- pastebin +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: haste-server +sources: +- https://github.com/seejohnrun/haste-server +- https://github.com/k8s-at-home/container-images +version: 1.3.0 diff --git a/incubator/haste-server/1.3.0/README.md b/incubator/haste-server/1.3.0/README.md new file mode 100644 index 00000000000..0270819f997 --- /dev/null +++ b/incubator/haste-server/1.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.2.9](https://img.shields.io/badge/Version-1.2.9-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) + +Simple text sharing + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `haste-server` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `haste-server` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/haste-server/1.3.0/app-readme.md b/incubator/haste-server/1.3.0/app-readme.md new file mode 100644 index 00000000000..dd4cf171e08 --- /dev/null +++ b/incubator/haste-server/1.3.0/app-readme.md @@ -0,0 +1 @@ +Simple text sharing diff --git a/incubator/haste-server/1.3.0/charts/common-6.5.0.tgz b/incubator/haste-server/1.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/haste-server/1.3.0/ix_values.yaml b/incubator/haste-server/1.3.0/ix_values.yaml new file mode 100644 index 00000000000..a9ee0bcb65b --- /dev/null +++ b/incubator/haste-server/1.3.0/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/haste-server + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: latest + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/haste-server/1.3.0/questions.yaml b/incubator/haste-server/1.3.0/questions.yaml new file mode 100644 index 00000000000..e386fc9c465 --- /dev/null +++ b/incubator/haste-server/1.3.0/questions.yaml @@ -0,0 +1,673 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: STORAGE_FILEPATH + label: "STORAGE_FILEPATH" + schema: + type: string + default: "/config" + - variable: STORAGE_TYPE + label: "STORAGE_TYPE" + schema: + type: string + default: "file" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 7777 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 7777 + editable: true + 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 + default: 36055 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/haste-server/1.3.0/templates/common.yaml b/incubator/haste-server/1.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/haste-server/1.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/haste-server/1.3.0/test_values.yaml b/incubator/haste-server/1.3.0/test_values.yaml new file mode 100644 index 00000000000..2a475ddaa2a --- /dev/null +++ b/incubator/haste-server/1.3.0/test_values.yaml @@ -0,0 +1,50 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/haste-server + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: latest + +strategy: + type: Recreate + +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + +# -- environment variables. See [image docs](https://github.com/seejohnrun/haste-server) for more details. +# @default -- See below +env: + # -- filepath for persistance + STORAGE_FILEPATH: "/config" + # -- sets backend + STORAGE_TYPE: "file" + +# -- Configures service settings for the chart. Normally this does not need to be modified. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 7777 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false diff --git a/incubator/haste-server/1.3.0/values.yaml b/incubator/haste-server/1.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/healthchecks/1.1.0/CONFIG.md b/incubator/healthchecks/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/healthchecks/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/healthchecks/1.1.0/Chart.lock b/incubator/healthchecks/1.1.0/Chart.lock new file mode 100644 index 00000000000..cdd78ed2228 --- /dev/null +++ b/incubator/healthchecks/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:48:28.892163466Z" diff --git a/incubator/healthchecks/1.1.0/Chart.yaml b/incubator/healthchecks/1.1.0/Chart.yaml new file mode 100644 index 00000000000..256dc291324 --- /dev/null +++ b/incubator/healthchecks/1.1.0/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Healthchecks is a cron job monitoring service. It listens for HTTP requests + and email messages ("pings") from your cron jobs and scheduled tasks ("checks"). + When a ping does not arrive on time, Healthchecks sends out alerts. +home: https://github.com/truechartsapps/tree/master/charts/incubator/healthchecks +icon: https://raw.githubusercontent.com/healthchecks/healthchecks/master/stuff/logo.svg?raw=true +keywords: +- cron +- monitoring +- alert +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: healthchecks +sources: +- https://github.com/healthchecks/healthchecks +- https://hub.docker.com/r/linuxserver/healthchecks +version: 1.1.0 diff --git a/incubator/healthchecks/1.1.0/README.md b/incubator/healthchecks/1.1.0/README.md new file mode 100644 index 00000000000..a0dcddc2f79 --- /dev/null +++ b/incubator/healthchecks/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Healthchecks is a cron job monitoring service. It listens for HTTP requests and email messages ("pings") from your cron jobs and scheduled tasks ("checks"). When a ping does not arrive on time, Healthchecks sends out alerts. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `healthchecks` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `healthchecks` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/healthchecks/1.1.0/app-readme.md b/incubator/healthchecks/1.1.0/app-readme.md new file mode 100644 index 00000000000..7fa8a26c845 --- /dev/null +++ b/incubator/healthchecks/1.1.0/app-readme.md @@ -0,0 +1 @@ +Healthchecks is a cron job monitoring service. It listens for HTTP requests diff --git a/incubator/healthchecks/1.1.0/charts/common-6.5.0.tgz b/incubator/healthchecks/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/healthchecks/1.1.0/ix_values.yaml b/incubator/healthchecks/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..18bc3927bf4 --- /dev/null +++ b/incubator/healthchecks/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/healthchecks + pullPolicy: IfNotPresent + tag: version-v1.20.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/healthchecks/1.1.0/questions.yaml b/incubator/healthchecks/1.1.0/questions.yaml new file mode 100644 index 00000000000..f58ceef7981 --- /dev/null +++ b/incubator/healthchecks/1.1.0/questions.yaml @@ -0,0 +1,701 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: REGENERATE_SETTINGS + label: "REGENERATE_SETTINGS" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: SITE_ROOT + label: "SITE_ROOT" + description: "The site's top-level URL and the port it listens to" + schema: + type: string + required: true + default: "" + - variable: SITE_NAME + label: "SITE_NAME" + description: "The site's name" + schema: + type: string + required: true + default: "" + - variable: SUPERUSER_EMAIL + label: "SUPERUSER_EMAIL" + description: "Superuser email" + schema: + type: string + required: true + default: "" + - variable: SUPERUSER_PASSWORD + label: "SUPERUSER_PASSWORD" + description: "Superuser password" + schema: + type: string + required: true + default: "" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8000 + editable: true + 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 + default: 36063 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/healthchecks/1.1.0/templates/common.yaml b/incubator/healthchecks/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/healthchecks/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/healthchecks/1.1.0/test_values.yaml b/incubator/healthchecks/1.1.0/test_values.yaml new file mode 100644 index 00000000000..85aeab7278e --- /dev/null +++ b/incubator/healthchecks/1.1.0/test_values.yaml @@ -0,0 +1,41 @@ +# Default values for healthchecks. + +image: + # -- image repository + repository: linuxserver/healthchecks + # -- image tag + tag: version-v1.20.0 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8000 + +# -- environment variables. See [image docs](https://github.com/linuxserver/docker-healthchecks#parameters) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Set to true to always override the local_settings.py file with values from environment variables. Do not set to True if you have made manual modifications to this file. + REGENERATE_SETTINGS: "True" + # -- The site's top-level URL and the port it listens to + SITE_ROOT: https://healthchecks.domain + # -- The site's name (e.g., "Example Corp HealthChecks") + SITE_NAME: 8265 + # -- Superuser email + SUPERUSER_EMAIL: email@healthchecks.io + # -- Superuser password + SUPERUSER_PASSWORD: myVeryStrongPassword + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: +# -- Volume used for configuration + config: + enabled: false + mountpath: /config diff --git a/incubator/healthchecks/1.1.0/values.yaml b/incubator/healthchecks/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/heimdall/6.3.0/CONFIG.md b/incubator/heimdall/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/heimdall/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/heimdall/6.3.0/Chart.lock b/incubator/heimdall/6.3.0/Chart.lock new file mode 100644 index 00000000000..3e55b2a9af5 --- /dev/null +++ b/incubator/heimdall/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:48:30.646089657Z" diff --git a/incubator/heimdall/6.3.0/Chart.yaml b/incubator/heimdall/6.3.0/Chart.yaml new file mode 100644 index 00000000000..88cd0b2aebf --- /dev/null +++ b/incubator/heimdall/6.3.0/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: An Application dashboard and launcher +home: https://github.com/truecharts/apps/tree/master/charts/incubator/heimdall +icon: https://i.imgur.com/mM4tcO5.png +keywords: +- heimdall +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: heimdall +sources: null +type: application +version: 6.3.0 diff --git a/incubator/heimdall/6.3.0/README.md b/incubator/heimdall/6.3.0/README.md new file mode 100644 index 00000000000..eae1b4067d3 --- /dev/null +++ b/incubator/heimdall/6.3.0/README.md @@ -0,0 +1,52 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +An Application dashboard and launcher + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + + + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `heimdall` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `heimdall` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/heimdall/6.3.0/app-readme.md b/incubator/heimdall/6.3.0/app-readme.md new file mode 100644 index 00000000000..3fb24ea7f1b --- /dev/null +++ b/incubator/heimdall/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +An Application dashboard and launcher +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +An Application dashboard and launcher diff --git a/incubator/heimdall/6.3.0/charts/common-6.5.0.tgz b/incubator/heimdall/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/heimdall/6.3.0/ix_values.yaml b/incubator/heimdall/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..bdcc3ce0176 --- /dev/null +++ b/incubator/heimdall/6.3.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/heimdall + tag: version-2.2.2 + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/heimdall/6.3.0/questions.yaml b/incubator/heimdall/6.3.0/questions.yaml new file mode 100644 index 00000000000..fc5431e6b56 --- /dev/null +++ b/incubator/heimdall/6.3.0/questions.yaml @@ -0,0 +1,628 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + 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 + default: 36033 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/heimdall/6.3.0/templates/common.yaml b/incubator/heimdall/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/heimdall/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/heimdall/6.3.0/test_values.yaml b/incubator/heimdall/6.3.0/test_values.yaml new file mode 100644 index 00000000000..658614359ea --- /dev/null +++ b/incubator/heimdall/6.3.0/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for grocy. + +image: + repository: linuxserver/heimdall + tag: version-2.2.2 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # TZ: + # PUID: + # PGID: + +probes: + startup: + enabled: true + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/heimdall/6.3.0/values.yaml b/incubator/heimdall/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/hyperion-ng/1.1.0/CONFIG.md b/incubator/hyperion-ng/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/hyperion-ng/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/hyperion-ng/1.1.0/Chart.lock b/incubator/hyperion-ng/1.1.0/Chart.lock new file mode 100644 index 00000000000..a23b8402907 --- /dev/null +++ b/incubator/hyperion-ng/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:48:32.357559031Z" diff --git a/incubator/hyperion-ng/1.1.0/Chart.yaml b/incubator/hyperion-ng/1.1.0/Chart.yaml new file mode 100644 index 00000000000..dd929d3a2a3 --- /dev/null +++ b/incubator/hyperion-ng/1.1.0/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Hyperion is an opensource Bias or Ambient Lighting implementation +home: https://github.com/truechartsapps/tree/master/charts/incubator/hyperion-ng +icon: https://avatars.githubusercontent.com/u/17778452?s=200&v=4 +keywords: +- hyperion-ng +- hyperion +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: hyperion-ng +sources: +- https://github.com/hyperion-project/hyperion.ng +- https://hub.docker.com/r/sirfragalot/hyperion.ng +version: 1.1.0 diff --git a/incubator/hyperion-ng/1.1.0/README.md b/incubator/hyperion-ng/1.1.0/README.md new file mode 100644 index 00000000000..c24242e8ed6 --- /dev/null +++ b/incubator/hyperion-ng/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Hyperion is an opensource Bias or Ambient Lighting implementation + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `hyperion-ng` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `hyperion-ng` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/hyperion-ng/1.1.0/app-readme.md b/incubator/hyperion-ng/1.1.0/app-readme.md new file mode 100644 index 00000000000..693f4d8e955 --- /dev/null +++ b/incubator/hyperion-ng/1.1.0/app-readme.md @@ -0,0 +1 @@ +Hyperion is an opensource Bias or Ambient Lighting implementation diff --git a/incubator/hyperion-ng/1.1.0/charts/common-6.5.0.tgz b/incubator/hyperion-ng/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/hyperion-ng/1.1.0/ix_values.yaml b/incubator/hyperion-ng/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..5f7832aeb94 --- /dev/null +++ b/incubator/hyperion-ng/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: sirfragalot/hyperion.ng + pullPolicy: IfNotPresent + tag: 2.0.0-alpha.9-x86_64 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/hyperion-ng/1.1.0/questions.yaml b/incubator/hyperion-ng/1.1.0/questions.yaml new file mode 100644 index 00000000000..d32587c84eb --- /dev/null +++ b/incubator/hyperion-ng/1.1.0/questions.yaml @@ -0,0 +1,973 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8090 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8090 + editable: true + 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 + default: 36064 + required: true + - variable: jsonservice + label: "jsonservice Service" + description: "The jsonservice service" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: jsonservice + label: "jsonservice Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - 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: port + label: "Container Port" + schema: + type: int + default: 19444 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 19444 + editable: true + 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 + default: 3804 + required: true + - variable: protobufservice + label: "protobufservice Service" + description: "The protobufservice service" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: protobufservice + label: "protobufservice Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - 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: port + label: "Container Port" + schema: + type: int + default: 19445 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 19445 + editable: true + 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 + default: 3805 + required: true + - variable: boblightservice + label: "boblightservice Service" + description: "The boblightservice service" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: boblightservice + label: "boblightservice Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - 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: port + label: "Container Port" + schema: + type: int + default: 19333 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 19333 + editable: true + 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 + default: 3806 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/root/.hyperion" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/hyperion-ng/1.1.0/templates/common.yaml b/incubator/hyperion-ng/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/hyperion-ng/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/hyperion-ng/1.1.0/test_values.yaml b/incubator/hyperion-ng/1.1.0/test_values.yaml new file mode 100644 index 00000000000..c4b7a2ccb5b --- /dev/null +++ b/incubator/hyperion-ng/1.1.0/test_values.yaml @@ -0,0 +1,53 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: sirfragalot/hyperion.ng + # -- image tag + tag: 2.0.0-alpha.9-x86_64 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://docs.linuxserver.io/images/docker-airsonic#environment-variables-e) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1001" + # -- Specify the group ID the application will run as + PGID: "1001" + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8090 + jsonservice: + enabled: true + port: 19444 + protocol: TCP + targetPort: 19444 + protobufservice: + enabled: true + port: 19445 + protocol: TCP + targetPort: 19445 + boblightservice: + enabled: true + port: 19333 + protocol: TCP + targetPort: 19333 + + +persistence: + config: + enabled: false + mountPath: /root/.hyperion diff --git a/incubator/hyperion-ng/1.1.0/values.yaml b/incubator/hyperion-ng/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/komga/1.1.0/CONFIG.md b/incubator/komga/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/komga/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/komga/1.1.0/Chart.lock b/incubator/komga/1.1.0/Chart.lock new file mode 100644 index 00000000000..596350dd955 --- /dev/null +++ b/incubator/komga/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:48:34.109451907Z" diff --git a/incubator/komga/1.1.0/Chart.yaml b/incubator/komga/1.1.0/Chart.yaml new file mode 100644 index 00000000000..11976f2d6b5 --- /dev/null +++ b/incubator/komga/1.1.0/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: A comics/mangas server to serve/stream pages via API +home: https://github.com/truechartsapps/tree/master/charts/incubator/komga +icon: https://komga.org/assets/media/logo.svg +keywords: +- komga +- comics +- mangas +- server +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: komga +sources: +- https://komga.org/ +- https://github.com/gotson/komga +version: 1.1.0 diff --git a/incubator/komga/1.1.0/README.md b/incubator/komga/1.1.0/README.md new file mode 100644 index 00000000000..aa4c89a8b50 --- /dev/null +++ b/incubator/komga/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +A comics/mangas server to serve/stream pages via API + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `komga` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `komga` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/komga/1.1.0/app-readme.md b/incubator/komga/1.1.0/app-readme.md new file mode 100644 index 00000000000..b5d30dc6a11 --- /dev/null +++ b/incubator/komga/1.1.0/app-readme.md @@ -0,0 +1 @@ +A comics/mangas server to serve/stream pages via API diff --git a/incubator/komga/1.1.0/charts/common-6.5.0.tgz b/incubator/komga/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 zcmV)mK%T!JiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJciXnII12B7fBF>IOnPefXHl}_msHR3evY@DwmCaVy<(@m z=X7_)FbP?xDUu~YIj)=g+3&(D0T3W5TXxdcTwSR}0yBdFFf$ko22nPjXX)s01`85i z!+G+z)j#9$c)Yv4&Hg_gkL~}D_nvM2ZF76PHy&^8Y;W)WZM?a)y}R=_Fun&`8c$Uc zSp02#XIysU{vZ#`@eimdah6WNVru~NT>VV56b)ijMg`6Zd-F||M)WU`;PV0&*I=3z z;Iya^8$RV=md()w%m~TL$!K(e$*ejLqijARMTH_(W(4!R9FYQ{(Hxcp6(jMU55xhE zC?W|0E+BzL8FElniHayo2}%irT8;L0x5wkXot?oYy1vSaxSR}zphh+rN=k?9#b5{o zn#<}OsfK>}kNwSXb2l6h$6pTS5T^v<6cr2@nnRpS08Xdbf7O7)thg8ekV4vCjR62u zMKS?aK?UXV7nH>RRYtR{A}Adu==>a~7h#$xSl<^ZhUMnhUqAD};>AQO$aRh;vWbI* zY|n1E6OIS{`d`fd1xzYb-je`mpa0wAotw+T<&PX8`0KL`(+^BBtB`3&u?@GZ-`9qNqTSAg~srDXbE*4qzICw^@?l^x|C}Ln1nY!a5PHIYCZf z-={|?K?F5H)ZjU=BgP5}2H=Y{E9h9kCH*Gpr(>zmLC_ak^J^YknC9>Us8YCqIH6;W z)zW@11E#Es3l4z&WmVO>)~cJsg2)L2>R)PlyyZPgffQ(gsq6H!g`&5 z_>RASMPELc*NdY@NG0`e@u5v@*t9kU;k z!GM*Lb6pI%`5dP4TDh)7jObc68kznbh(Z(a)6WhNu(&8&D$~!b=Ado9=2<+*v-rT8 zlLOC`6vbcF(~g%sh+_c3cUggdqXZ=2IE%qSMY1x22`UCpz<)^!hePn6F)o<^`^Nx^ zGB{=IRDx{^lM*pD7Z-?3D5L8!CPeQXr*GAy22a?$p2H93yYW~-IXr&%j^G6U#u|Ez ziU_5IjsjZnd0p-`nrFpzYtcc8iUp3)K@??GN@~HMqXhf3zPgm=38bVVur{{t>FnriNsoDurx%IR$A( zK*@$mEQkWQWNKyuKn@6(-~y$H%9j{aB~C94od^h;=LsZ8*>pi5M#;O93n+>-&+>|v zVhoB3M8Fj$GX_bB!t1O8CFAFHICuj7i2%HUOvFJZwo9Z7O-eXQqvATJWSw8j8L`2e z!dOl_1Wl=!q(Xs8wI__P>GgRQUvmOr6rr+|eAdiDFvST92b@@?agGm8PJaCU?a>6x zuZKA-OKOFS=DvnF1t?wMB1@TQT)+a;@m+@CR4_@7c-q2~>y*F`Qb|t+Pr$)CIQ`!V zcz1e88L-Z=9ZkTOH#Z=BixLD&6uzNM|M>CC!4q((iVU6r_Mmj}O_9yjZvetD9H4Z; zTJVG#27)Hue8EvV1g1qcSDjgI0Q3RQbIP+P;77(OP;d(5_@ZXQJlo)w4=+sdbC}=? zCkZ%5ywDKFbDUB-PV+=D^Yq2*<5vf#FW&!f@ao-*2?!j`s!i~u^~9D zN|Mb%Uf`_2FS8Y6qnySNc?doE;_= zUEzO&i;~bO^Bu2yHqd}5na>a%aiPWJPoP&10G=ASamgz(@fLV6xoS~a9u5?tjC*=@ zX{|6R1QT%d=0x(P+z{ibDx}m;Y<9TqXgai$MAe#Rz4{lq6%*eFB0_sa{?%Q92UF1tU)=DoR{7b<1Kl zpoLZ}sTlt0rvgoX{&}rMI7C?*p`4T>S#Owf2IKUCeoU#*(Bwrq6a`05xPHOu#gNR9 ze7!#4YT$(be1+4?QY`MoR1|FItvW$b#b)GTmJ;-VC@b)on`iR7_^jD!J>kr$=BiD} zvM0O*Pf>IoCCCRz70``LJ|U?V26TaZC`*@ss_PK^4^_TGdjP6pQ4DY@H8eFeVL7C$ z9<#P?`)Vj)9Ah!Eqg!LDfjIFU7uh*dQ-zHH{-MXv;(ABc<=R9Ms=ZI}0;Q-dhXsN$ zW`C6g7Np9DIYnQN)-9`>D!g-)WLE=TKpCyC1SpU@=%!`dPymoLXe+uGwaX$gzz(=I zV)`wNbvU;R&*-N!Dz~Uiy~5>;z7l`7!J3O3gi^~yoOF6rW!dvIvu$aRjW zZJsiNk&AStWokmrHV3DN#{qlKy&?-x05PoFf`Zs8C79t8~pz#^pDfS<1^-1I(v6?e5P0D+Kzq_dM}4pDS%XY z)>{i{3@#9TroE=x9uJavOiE@kI#y#qskK)bjQK47cV5>@Z2n*|u3)RI{4T{kP{wkhXVxFpmNoZ~o7&=o9DDQ6xjAe!P!{mbR^ zl0hnSNXIYVLxmN|sLG3Al3WYOhitF21TfV!a=j&~!=zIK<~gF)CxuUc3)D3(wS!pK z$+}`Lut$^0@&`8aLdmnc9h1$ zsua3nia((EbzN1e)*+oYI31qD5=R=VwfXa>;JOBmJ8SR3e3O#Vl!S6*vmLYvNH1{u z!BdnZli5Vk zg?UXB1yI{4^iyq>)|4GXG7CXJl7L$LkBoQR_rOBAVrtV+wXcQhf`9CT&2V#jIBq~X zWowgT7N%%?)E0{kOj5uai$pG|3&eJKBUBFsipGM%H%WU#W@b}A$eK}Wss7VfC-!g& z!9O!H6Fb-}P=JaDKC);Jqk5a0o=eAuaSHP7)@TnN5>ktH|&|7`NQiqHx}*=r;xbM`nMMj87!))XkD= zj-)kZZkS80tA~Z0jsBC8^FEutCo}Y(SO3S^hA1jRHE78%hhK{6UFw+5D`IvBfB%|N z#1S&$c;FFu0>q}X)*)goiKjZ)I;@dZM={$X8PY`rhf05bpC;E0Xa17Q1dgwLm2g6` z0$w0+s6v*+(tL_93;=9ZR3a7!c{V)T0P%GS=QyG&gGUZiX5vzEEOu05;&J%D-<+In z7=C#L0u>GeU$m?%`4TDHh&4Q4 z*K6`j*cD7!^DxzU79%xHYX8u=*isW+#QQEr#oqAyQF5;h zR85$d6t5+8MOebly)CXk~0qK66flb9ff_UEF`H?_2dpoq;KWgie+V5xFiHvcY6g1XHOcYhN<{jnBe40|!KFL?6^6O`IG7PvnT> z7LEvW&ZYp?cE()9GQs@q++KEhoyiJLpz9=eZ8$zi0ytm!b;tpQu+rT4!A0 zZf}jXPdsLNem#`Y+x00Nk5Qx@GUek#JDYc=ISX(a;{}c@n9!cObwFcErtZLXl`8}sh7GX5g4XKz`ob&zlKPKca=9_YOj@bMrP=Q|GfmZ zEr!iDeWMwI`B1zYG9RyC^&4uQaifiLIm*(K6cDFm*)Vf{mI0?1L$u&-fDtT9e37#F zV5&PuPw2lKS5~YK=&uv;ON+MV!?*-+%JwF&HJU(CCAWxx??alzHiT(Bgek#8`DT3} z|8j(c6Gj%v60uKQu7EZMlhIMb9jy;EB$^}VUCFiLL4sk4)FC_}08mN_%-@a>iALPt zI0SQ;=TyeMJeH1XUPzuQS;;8_7{^0Fz>s8&*N8+zM#GR!XZGh1a>_^R1Faou9^!lg zg3YhD!p+_1;byow9`n(zDCH+Gh9HnG$0(Zz^4-Me?*kgg_*+MFmKHn_I{e zu(|d8HD>Q*&-SbFsZ%{TACdnXPC*&9fovpsBAxM`iI~p;fI6@l*XuFi~frKmGBjY97*6DQcFvooaZhW zndl)Ld^P&`ad2}pHalc0nh!wWzNKC&%hf%Kmh<|n4L2DL)V7m*1BPeJ&DM4_LS4}}@Y zVY#81H3VQ@lq!Is6OCrSiX{)wQA`2))m4^7j|X*nfk4)BlcpC8!S5i&X-tLmxJJf2 zx19)O9+NJ7b-BBs(`@+wv|}`iw&FCvOd(FdT3+CkOhND_BLIrzCN?o^UzF>CkJNR& z(`08id%i(6GrUn5&T{CW+FeHsv)<*!elsoatYD3Lwl7={a|e1_!UfH0y|=w#o)rWp zUV=Qe`05B1b6l3x=Jk=_WitA}Lpook1QkLA$W(9QV|E=Az zrT=%H?LB+c{}1sn{m*QE6|+Ny0%9u$s{YQC3Ne|ctOAvF31sKLpooajDOl7QUFd2+ z#RKa$gkSHQ>R>n=4)oN7ENkFmb8v~%cv4d^m?HvXNZ>?eTX9TUzUY(*T9h&spniNsFYwo^@uu;si74K>3TTHVC*EbjYvJfPou+6 zr$(hb=;Y2Wb#vpw=PJtqOQ#L*i8&fPB(aOrkSb>diibvQzHZbbL`%MMbB+AY>Ho5L%9#J4RZB!aV|o&QIcn| zqZ2iFpITo2*&c`fSN8p?41f;(|7?42$JYP5}eRHFc)nhmsDNrrvhu{JFwXLOVSphpV(D4KU z$FL!xjYb*ZK=3{5Uk)z-YcY-p2vql(_|`4hKCgIP9hjI!cTzF>VFNrRiPi-+3rSPN z<0%N$IWhgCXqV0n3UUodL+p#i@QXzN0+R4X#pnYt`P>*gj-GT>FmX0eGOTS7J1Mg4 zo<P1o3L{N zaPie8r|Rifi=L-KcDz(limosyV{RdyhReyPx@#Il@HrkD5cU1B#>Vi|0+n=8G}#A1 z(1-RWPK$ab^k%U97rL%129kyAb?anjSgjKT?OXDyvnApnu&l4wt6^TE>(bGL-@z0Y zC2;^Z0SvXV_WADCt^R4+fB7PM;P{_sd-nZ5+gqEPkM`d~Jk0;6+keOPX(JKg&4QTQ z?Log+kA=l((=A8E5tXGlX^knDu8 z#NF#)y+?eQDBLwvyN9jcIyzdNjK}0p8VOUh)soW?Gb1o3p?! zM-SJ)>N*NhD9s+N0ySL_$`7;rn$=y`)rY_H2YZCdhSzaMBUg%MTYH*8h9stw;U;5RcgZ zW0xTmDx?RHOuL}TuifQR&#_;pw(2vPj9sj>G-g%t=5ArnZf0-WlmiE4iC~k8At3=T~{l7AQ zmS&B~SC&mH2d~G!B0g(&l!W8*|LW;K3>(V2g^n4#Z9ZZHZGRuJY)oGtvDvy#AMx#6 z#Hxc$bbU>>y85!7zk%lYv$J#a!P+$_+q``za!7VL`&!1L?dqT!x=eH!Tv zlx?m)Sx~kW>3G%)&7ir@aK+%5|Mls&6|Dg}=KuDy ztw#LE-p*tE$Adh#i2v2DZ(nHuuyO3NGXhwn;!hX?+y;1s0_ii2;x&R#?-I)UeR_lv zbdRCD`dsJ{%UdyYCrd>1_6yJL3i%ClSP*^{M_a(ID&_6LcAz&87)dL%^qVE8dwT$G zW7_%RWF3*ZkD;@jp|di#mz5SvjU8(PZo&77WiwoLC27M(S8AGo0`oEdt=(g^_F8@FMX6pa(-uTh~{~*s& z`u~L(5i_Hqg21BhtD_*Q-uZZGWhyiQ?T{jL+ zJjLY+VHrCdb1#B9JjV$pxE|=CtYBuseQMvlE8>*oShqC0Rho6U7>f-+cFbL^YUOJO zcJs9E24J1|U#uS+WrODZzRhAFsMFU+MI6*;ZA2eixnetMlJu+wd%X-&0d=Bd=6(BQ z?(B~Fl07l+*9r4Z{?G5gdOs2ETwemGm*G-KIR?NweLFW^C@Iv%IoH5-!BPyN{nIv= zS`a!0pax&H*S51=xpZ9;q^=`m2)D(B)!}iK>1yk)oBEBNJvkZ_iRM)mMOG1(a9d_i zF9WgZ#OH{XR=xH&1y|_2L{U{BmHfIN8huDk8XaY9<|vy)QnHG4U)mt9wSz=p-+s-Z zH1EXLxZ|$UaNe-(C@Vb#N&Gv9R)Pt;DgZD@P`N$ByeML$wZb@qrNcOM+|GMR!%kBx2Nq3 z=LYZCHPOl8X$*b?lPo?A|u#5Z6bwk^t8C z`a<@bn_A}a%h>}CoLyAs0NbDp@GA+^*uH1IiwN)4@4Du&j*%FRU^lSaZvjZF`8g_h zb;jOC-KO1PQS_!8e_0Q#PE@W;F@4Xz`u#t4j{Ms@f;#*^J3G6Zw*PngG5+&mo?FC! z+5-dplAYJr*H-C3Tsg@zg^62bncdOh0dic+;N1V!PvRR(^R5PBl;60e+I7O3Z z;WOogZJ+^P-wYVzRxp3{xs#~+^h9BoXNUq>@NvHP| z6~@i*Db)h(&S7yUKO*|cXbIz~sxaB-Hw}AoGE$zYvaa=yUC43R){S_dUz6{GX=b!( ze@pQzn69r`VG$_qe>Y#ME7naI@_Tc3aLJ$Cv6jD3?Xg~kW{_Q_T64O<{T(FUp7O6N<>7=362 z5UjB*1@>E!q(FnhyqlAK5Ijw@7`?}NP`6PuZhQNg*6xgCQI@bO?DA~0{IULB`$WYV zeKlh51~*zhTGP!=-?*+1RUY<>!uE^HK|o)h=7}jHMGN=ATJ6oHg`Rr7(yY82hV{)Q z{RtYdp0CFSO3Rqh6Rj+;0P8GtinnVyv*Cy$;quibRXF_GlY= z(gWNAMIxuH68EGwAnJpFezztQzeM#-7BiP*ptn^LpwG!L6(y}jZdQOb9XxlO%P|{# zcY1mputv9+Ice;$!PS&V)Dg;Z3rq7I8qM&sbH=K$~_=HW4rY6 zd6=ig{$E)h@DBU`+18ew|9fY5`!WCbgFH*e|JM1zf2hx6-%B*GN*#XV4%M}H2X6Yr z>fX2`b-i0kjaXfCU2iP$pXQ5bx&5b`m4x=*)QQtro(NaTU>K~MEtAAHgIVR5R+Kgq z>ei@W&8#p2DJ-n+Vl_0X=DAvT4msNba7TtobUL51Lg6kiabBfji^3l$}dX*NRkv!UC_35FMcd__fNqc)+dz`q^JeBm&CZB=7X~pSZy^w4R zwp>IkGE+O`!90Ij=(^TBE+_n=_TSvy`Og1XUk5!Bih3+Soeg&lc(K%N4#BtP-;>Zf6gScPtGP#V|N3WLlb?NtWj zf5HT&5h?;B<;39;w7jIzO4GQv8+MaOyOk zFvI*UOfTfwA>Y@DZ+`fod56-_?5eKL@HL}EEHLX}%FgqPc3UqEb~!7w1LeMGCusi3 z#}zl6J}mLhT$NVgxHJdI%j0D;hBlg=SLX>XXKym{7Qy)XAdbb&i`=>G`D$>t9fX0L z>5GXoyS+M^VQ3(OWcte7+Zi+nyWFkYL*02_R1yczk@Hze+PdL)G7?PxT(?ba7o zL%;GxsEAK|-wP-F@v@f{Jq`Jv;PX+03Nm_6|2)tMP2)wtmOT~v8t~ZL{yDW)OVQyebKc26!b)%UfEHvsGNj-+OOH38=A+dH% z<*|Bias80JYjxU>Jd?KDVKw}e3ja;7OWkVF>biw>)6=*dcLPQsZ$#Z1M_vM#Usbrj z8m>b+Ea3v;gl8Cf3f4hDib{+GURP4~@AQlE-)R7X;c&>DHcMYk`qWO2aGSU>?wc@u za3m>JJQ+#KFcRw*cZ1p5IQkd5<_*>kDgF-5ceha*nR{v!;w8FngIM4NB&aXQn?J@m zhR5f2Plx_rMf%6i_^-_!`~K(Mt;hV25A(?NUxCpAu_JLKejX1`0UZE%iX%u^7)2zK zsiN4w;Im}3w&B%7mpOL*)~HCGS0y&F_qp z9>PwFYGi72RB!3~yg(&NiGo-QNqM4?um1F3E?HV%aLT)Z3w^rop-XYC8`>GK>59*e zl_1clqr*(;ewUJ}Ioic3uFRHam8JwgJ6_$AHA_roHAMkV0se4Ue=S@2R*!hs4!wG5 z?rYZxnsq#2O>N29>T}RwPhVGdMZd_gX8vu*NdEX z-Y9eietVC-XI*`Zv_Y|&m2%9n>Y>ibrc4us#3Z6~uSK{$8jYXxpK+-OpF+zhpQC!3GF! z0oxOz+Ls4QHvbcd$+r1#Bxt>Z0O;KRYux|4x3@Wdoc|B;u=#(GB-s`CS9Okrk4)VA zopC>CjMC6M^_^LKFKbZxmXr*a2oLp28s1RimorrZWW_C7hA+_eFkzk-SzcgjywrX_ zw#8=OUa(ZF^xVXCqj-31AVdyMFG4Di_)Q|Ff4fBU1u71+dCrnZ|L117`E}s%(sgn) zG>`HK3fNU+K}Y%#&aA^3iY^s1O2YA7FUO8L+56BsJl?NKMyluab`FXNr8;BJqlLMe zr%nEgn3p?y0K4S>xat4f*?Nrse~?GF|3tj+ zVy$#B6CP3^;X$5D`ObEEax3C_p(UViR`DH2YQmYr6kecsc+R(0)CsGTI)QIf%$|rA z+=a6ZHVmEgbzFO|-B;PH%MLE45i(mQcfKB_>!0~)lmC3^-23^j?d`3`{a?@ab{^&b zLp)4Qz4(yBG;YNI@dVC3@uUkDEmYtl$<86WoJkq%c4V3s>LG4v2zV_kro#bhAFQdE zYsY7~Y~Y`aSdMjXtXRD&Vd{a&J%vR=G{Qn0sM$VxQKb>sea8O8^OI^i#UI!?V5b#6 zIAka008|uAt0cJwzg958Q%n^_p0f@K2R|YXos}mP2ko2^oTCU7nL0>F8#ZZcT#@5?H{J!`h>O5hG}ap6n&Yie#2Rz5b=~8R z9|Mrp?Rs8(2H93B>stad-1}NQsOozW7;BgYRs^V^#9gL=z^tUDtNx;Ke7$c(sahiP zImoN^n~6ZoL~V#uc_?g0I=tC17juS}V%AxQa1?f~p>K;Jmn;#t?Ot>Y1DaR&0fuIYZeUop7bBT&o}1rMn7PP=2==I4_x;31T77=B#@wKl`z0A$S0zJ3-+)jl%4(U9zQ^m%GE<*TS;xv9)QiG_#>4j>i$fg$hj#_u5+Gso5+@KK_7c#G1aZ#>< zy4BHES{F)*)7i$$TV*UTuq1ejqU%WB8K{0P33&hjN*AosO?}|<5?ybIfIB^J5lRHt$CPEot5{BcT2+SyMCSxr-`|D3mT< z;gVPcu~*IGr?NC(nyFtLxr210xPyxp1nWY}=0FxJjNq8Nz{(s&czVqcjyQ;ER?u$8 zMV8V9mWnYA+J?J(9HMlgSCXAbyO4*UI=m&5eem?s`k*@e>B9V?O=-;H)a@&MbT3SO zFN&*qA|Y5pyDgi7Im}gJMF2H_ql{0sdc+*EdKdBzdD<+l5kH5ygsZubY!9C(z|%(s zdNVCf$s{468=_p$y1>$jVS(1|ciH4Q3y zt22iKtVT@7Isg3@O>1$wtP#}72|L=RHo{n<0e&!%6nL&RXUo!!&6u4UihfaB4NQ!k z<}GeFHyYEzTM%7j=ct3~(N_b&*RA}T($k_sZw^iXOQQ-dP>KpjPz=63eg|+m&3Gee zN!d{|FolS$tOyP{;c3*|SYM|L5N3WBkvmE;W%&7>u?pUc6J2A=%8wYH{E zP@*7-~=GCI?T2&X&h%S!V)NKb9OVJoSy( zw|j+Caj>DbVC>HxV(8RXE*U=Oj5kY?WnP5aq0}vRkO#8qsEA`GieO?At%%GMuqG*8 zXRG91Gp^gzv8^2A)>R6p#?yQJA0!xxq=wqhyUUF0$rfISWKr{P*5=Bmdvd)?@tNgFI{{#dE4DgHOh}7zSSt zbB`@GwGgdbX7giCqoL&&bR~4x*VFFQeV$B!W(q*i%=5>y+3{udQ}?z090uP3Jjin@ zR>V7Ad$_Ehf`^Wv5485EKxvE$zR4gBsFBVOjW`&kKHw0^{1o)!d&^`ek zqrs!goaj-#nIcR8mGIS_idW0vD>-DQwY@Pj@cNSPdh_mjQtsNxa7|~Qk!;sNkU4xD z)ij`n=DX{``)>KqoH6%#{`=Xpy@veX-FdwK?Li(c|5+c4EXZ{2pJW#}>L>MuuWon` zcRkxMR^=7n;UyYfN~E^gHEbD@_5JUa*r2kXjl3*2sB%JtZTO#3;6hvjTZABG!8SWN|Md(7+?Oa%u(dp&e-y8 z#hJT;Rv#NZJ8bMs)FiP;z@cL&NZoR*N(Be+PQMQth4ogjp77l*?80KjJbNHAwcbvy zv5jKAY&KrIWm)2AB#$@01Yq4mC%aepTSO*-tJmz((oW!)+R7_x&rvAuwry;t_yEYO zNoo+M{2m$)1TVK)8%UI&WYJ}NE8Hw?w2YY_f-G$q(2>|qo`k?0tS~u33A{c*QI^J~ z!74gcLPsIcPPzn74YsO4r?Uc;vn+|5u;DIN*bxP@Mnhb?GoF| z{ik&1e%Js{F+p?RHNLu`!t%n?!eN>*poT#*r*Dp_Qkm@6%hM5)9}LsF?NC6!f?$@F ztWr>i2?p$%VU9>Y8Q{RQFN#Shok6z^2DWC`;cx}dKN#+f`r`i1W2sLYmW4^`2V4@IUNH4xN@$j8?FwF(ATQ7q6#%Bd zERLuAK3!b0T?-MB)*y4g4Q0of>(N)>don}C6)q9rWU!nEpS+WDX%E&x z`)XCfcIBwSYXDWBTlpeO)%U1s7p%5~Be%AM`-P1WA>-xs!d!iva7VE#`ej{Q3g)@}Q@kN>yX!STc?7#8OGdutD*6!Y8{^tjIo`7RW2rAN& zngM(SfU6lw!Fh#~7^fE?htVaxKxH_10#0YtG~rwRB`9YoNx(&tor5_f(F~^-8=yc5 zBzS?CjMCo2G#)$wDY{^RUUcH3DgJ6(jbqd@;Ki(SPL6a*>W|K<6;Jta32L2`UF) zh2>Q~_$oYymxHfDGN*rM1-=-3_5Ti@fFEFiv#JCyk6x66FfX!SP(%hHju9O3;zjn$ zAY7DD7NgN0K}v}E|Mtbf(d!rCJiZSc?el+gXV>=sZf=bq@Be$4=ZVPcFc|#(Cv`#E zX80@||GYLMBrhkU5uRU!<%}g03vo6&hw%j(iNZrxc8JqyR?H!f*8TsNbq=? za(ICzUwsAsQ{ukBWLBMrQ8piuqCz~dX$14U9FYQ{(Hxcp6(i1}e+&jso`Ba7%TVOO z;CCQy`gk#?w#e_`U6Fv_2fu^ia5x0~fASCZzQzK62kbuv^es2y<|w7a)@j@(;Orm! zo8jheI3AAASW#}mP}KiI*Wh;`c14fGnwS1nMg?ZKdr*{&0{*Z3pYa#_HTWGIfBW(X z{0?wRVVv#kK0o8+{SJ=b`M$h+eQ@$G@H;5w?Qv(pc)S&;@6Pz`-+B1k@8ImGpB*KC z&^8hJmGu{6H?m|gDp9dO1v~ft)A(nT;NcKfWEON)+q9~sS&G^!Nr%Pn;5^Id$T(wH z@wC=hfZs(HITkndbVAW`Cm2v@!GcZ=`p1x0>4rw&g$d?a zxEF4>)|2VLwc989GeT5ep5L-2UGdOi!TxA+fah=%$({2Q6wW?n#U=eBaw5i!KNO=LqH)(?+I%iu?mYSJt*ImsHnx!xV1VD zz`E7Il9ihSi^}jG6_@3*9%>ef+=WXs*#MIBz*xbl&8=r!o4u>bpeBQc)5GK5$c@<}HD1L(zvr#EdT%~);G+wkz zdC*b`UZ50}B@5u|QC?igz*S6$_+=422)F9>Z$_4*l(Dz6M5PCjUY;KsU8dF@lxP!- zPm9JmD#|P!iPFO;!TkU>6e-)DbJye+Um3>PRoaIGvV4{IDs72j<1!Bz#|@k6&5P6b z2S=}8zHt-V1rw&i{B2#>aR}ColB5@v{IZr%+skuKR9BTHcp<9zc)>qwEz9B_0@;zV!dH@? z?vj?FJi_6n+$!F&IKzB!Na9C4mL0@}6vzrTZ~amhNC-lM6=0Rt`4UZ&dBgKBHC- z<`pPUa0K;_+Bcav$|D8rtef6q!l9zf1b%SbsjZrYg>BYVzFWNY^v(41#I*Ze^d*tY zxzeX(w=boS=fnlSmwUvz@}NI|tveii6VY|0g2y^3NdXDExONc!HcJwmUcAd=NHj}B zPZZ)DHqKaWN6Eo(sb_Fdk*v-l$1aoSna}5lz!(w;s*=+F(+nl^VVp%JSZszn`nH+2 zyOd_dRhGrSj8y57xMZgs@oMXzXtP+w|CXd2sWbNP>F@9&TMdr({oiL>&&Kxt@6OiF zWB%_4c|>rB+6BgQCfU|llvO~70ZuQ1!QlS{ZJVWR^w6GTUJU()o6@cf+Arb8e9*NKUrRJPAuh>}NHE5Ts zu2h{-u;5*Nq`zeuZPpl%<(tNr(V`pE)YQ}GSN$(!tI4HZTBqA0Rr zZQTT8oyx8qhOc3Yr-&yQ*Xfh*%kW!7*7Q4(HbBsv#3nfhWr+%Yng5%NyqM?Ydaa4l ztXb#7+W_zRO(b@OkgoC90&dj{dxhKhb>(0^Je=VqE>ODWK_I8ZWM4!2)A(lrUJRyS zePDM4i9&l??YH-f#t6;@n+U6yc$jVz+5#2;Mx=tt5hRdhe{alq`PAhEBW;{M1_3ej z-*13RbX^bp8lZzR6CYR!Dlpoa9<+IqOgiC=G0(9CSmWaY0FOn5BMTC-0! zEPCvTp#EAHQ@*dDJ}55AJ4k7-h^BDwD4!{aTL@=ZT$KA|f=~`{%C|yvvB{y<#qE;I z32BDxhQZj7Fg|voqvEE4@lj0w1;jL)79JT*$5Ok1X0>lEooVd{70ndkpH(i?w%wah zevvM2FO$6@`9-?0fb~HsKG){SwJuUvfFFxc6jxbT%;BJjgk)E6$oW4AK z|KiOLX8&&h>+}0>-hTf&R2QR!?24JUXv+Vfl60Sm= zL2vxad9%%39Dnou(Tn$Q4qm@lNoy3e4oanWG8ss%3`4aSQG%B}`$@b#^&+)65hc8cW zHCWq0zkF?jUJ~F(^JhmVHEF4Pt?@Xz(a{)Vrdi**cxEFo&MLc z)2XfGG1KYjY_-y9-CG;!FVaO%8@;wYU&EXmh?i)sF^ii*{W~o)$Zc zgDV6se#@Ff@*3t2Jff1!zrpMO#8Y+uY#a5?+I0OQ!|#A+-2!;Wz25-YrH-b)bM5E< zAN}NRlxi5i@QgQ$50Ex-AFTJH-`nYZQ1`{rvAlW>^Pfa7{0#OL#ucuiUZjf+6X7aX zP_zf`w*TN?Oo`BP{!sI~vDo4z*bwfs&~h!TIEV>gX8nc(@&p8dZYj|g^RI3@n_oO9 zjfs;Nhi_k;)|L(bS{s-WJt-<5c3sB*#k3>mR!_|+I%PxG5;Y?m9)nDx*iN`;zq z^;9JurPK=RvosbyowY#co~=$zqk*Xu1D4(If4@b?H_Zo%=hpr17S#1v-DotrZlk)_ zl12P9wb06hJBu;9qiFYf$tZAJY}?;?hoz+XQAT$4bgsGmX_ABq2bl9hLr>_Go%mGqC#CG&(XnrbtCKQX_s)cI zAb%+f;xkd1dd-K^m`sGX=u3WeloyV_i6(}h#y@vd^k_UeiZ?(5prFvuakoSw#=jql zoMalJ7RLj>)np%xZ(%rCh>iE2X5QJXps@XI??u8LjEMTkjecTV$qivKO!mQ|lN^Fa<`TSyqx9 zlG!kZ1m3PEWNyS(E>iG~0xEYS7?FAIp$jcmOqPZV?d5 z+T0rHMn+|U7Z>|zY>3HrSyNrNEWM~aV#14^C+c*fm$PcJL`$u???vk`cjB1WI(grT zG0xzbz0paYArgGFv2R|CCS#Vsh!$Ri#;2C{e;Ui#G@l3bC(i7Bj@XxrjY(HidN_}sBIXblZdSexJ?#+@08G3V8 z$d40oBio5DY{4c(zryWyl$a3gEwjd{BtI!?dF-RY44yEE_^kIkH0#csU46X0Yzc>o zqG{|Eh*U-DvEabHEg0v$mWjrxJK0gUTrbYuAqjNQ*wPQD1Qk;lp_`94`Wz90#~7^g zT|K4w!3%47oFIbM7_JTAY}I;W9e1e>I!0vwC=oA1FKy=aaNd7v>*w(??EhI-;NR#{ zK6#&K@q1X2tc>8DmjfO5Ka98bHtqZWcDA=4?f-{(J{SA{J2mucu5`_F^*mGV)MLHfkrs-?J;Tt(2Z7`E2}_Pk82OQy1?BdtXg`dN03xMMf@6(0!N=p z6SuhkWHM88Rozf{TwWd?zk5e;f`4O4B#%)Mp_IT2)JHz|lgK^{`@3VGkX3D%SdF*| zqPz+wV0YX+iK;c~HJWF|^*y(%1fqiP~;Xzg2nbRFK?WBC8X zH5IGP{@dyQ+uPi;^Z#z|J?8&?nCElx|A`A{R_*Vz!Ty!}d!p_A{CN#VHT`!@UON1B zD?XnoaC(m2f0vc*r#E@Tc#jZ(4s+A%0~7SM`n-;C+0*Iula_0XUl`;#py|o#(}xo7 zqM}?oNMjka>?FybXvs|)KM>kc*tpthpWo)hR1Lq%sdshbil+S$pPQ!j(ZM6`&GI zV)6SfT_vy$gX;Q>1|5Vgj^>Y!)|=;jsWH<=D4SI#muwOU$@%1K=h8CG=4S!aj20)E z+fM;}yp!L%F>KtRz3y+f9ZLz9H&op{e${Kx3KVTtt0=g_*?Ov0_Vao)-T@R#!m_#b zY`dR^H9Oo-f@7dg07dhtURS4HZ>u&}sxnujQt|@NVR6kA*koVnininyx|sAGl=G+u z4V$3x97dNYjg1+0Us*0R!Z*O(Na?|!TjT)gritH#Sk2E-anD@hDM403(QVcK>8q3b zN*jsd(^n_*RlEPn8x6KhV#yY3!0W#{eRb06F*+`?1&(i(k^2r>nIuXl(?9kd>$ld5 zrQ+H?|8wZ5?NNe^BjV|^&;!tPTmc{>_owqKF zf5c>Fr=DAS@uB4xeT7Rx)j0G0@^o~)%CoctGS6erI$g^gM-`RnYJao@aV63R-7@%O zi}pukp7&dUvL15=EBsZ~CBJ0nzBS2rS#~MbBmbS9TWgUatVlN0RDbI}FP(79tW7kk z?snS652)Mq*D9TO%DVC(jjf!(tG&fupz+_5EaQW$`S9nKEVq{tx06Y2lEqnPQ?O2^ zi0xHlY36M%&%DiBGjG#i-ck*_gYk#nFuRaR&l?e2n!rG=q zbfoa^Xhr?0PI-pNGFT5!5G<9#v-vToT{9lyBE727S;c+Z`Wi~csn zGPcALHpKF_!?HF*Ut8f0N5Z{^wHTRx!&$Xl)P(K${> z<&0|SVZ?OxEW1j<@GaQceLmUQeGUXe|D86!&~f)~`*LN^@o8s6<>`|=i%(Eg6_{Kf zW+_1*{40y*(Q1cr*Z>#8B+0Ih3%tMyx97Pk=}RV|BJQKIhxR+>~D3s_lf>Gh}}r*-8gfm@5dL)q5*UGFJ02G+YR z%_1id*ShQh_kZpEe{RJS?ge2NGu=H3pyU3BoxM$a|9@}q*<=3K2YEiD{eSaT%ozpt(0fZhYA%=nQ05 z#H`~2L2*&xNj06~58fNQyU=a`R}pHUeZN3Ofn&5kY^SY3)Elj``+|lQ5Y@a$!NoP> zGQz)##hNdoo{`0BN)c^F1;!Nsl&gIWR}HZ<-_|YW^9jicctJmvtGE)zf2LN$v*c|r zx0>QQz6l71j$1|8w^h!cQp4$(KNd-ji#$&vn4tgt=48df#-Quu@Zi;pAw}XR4SyJl zI>U&*8v3LW8K1VT>m}9^VzKbvUuf-Jq_ev zYGs$jJ(qDhgB)u%gMai-nZW!m#+*Muk`@En{aCFwocq2$24ey?4Z|l#5uRdxhPm~U zw?f{I@Ju%g1k7iDF>~NEymq^HTn&A*(Qzqv;ZMfzU-dL*1Ura`$W>Nceg>0*J*_h% z#ffunoKl0?eKX{&Zen94B%spQPO#swoqy-N)4|HbmVRmjCD@VmMnTcQsIidOk>LLk9W$0h@G z(5=E|C8wmHtVzIxF4xRLnt-}a;T%VLu9OA=XRQSIvXrQBgEJ3NmQ#qof1JoGn#gsu z2L-syY||r4+Gn`v&2p`-VxNoP)3tH`Fe~hw#2s^3+h2G|(7c|%3l(#Irod`m-igT^ z7|pC#Y;s5MmCtUk2)?@Q;ZEB?^jL@Ttemw>lfmk2D(JHNKcpCI zIc--TuVd38U>AxL$X;lJDERnEMY1WE|Ii|NQJ?EtMjorfa&6lm>WEf5FFfWMW3s?= z$1M(JFD_iCjaU_?A+$qo60uWtG^&fJL9^l7NNn6x_^%}*vnuC`7)c7~_ z3ePd|sgC->fBv`^J{%9r^xFij#bN;&rphZU6U#PdHTK0FydNF7#iyPWsE@s){7ecw z(PB8*^uG9S30+vbjlK^3{Y@{3ltG5 z%DY=6p#8-hm#%DJ%_L!}LmwTOj}FX72j=}cFpaZ5yzkpJ$HGxTm%KwZM6gVgTi8q<(quRj%b%Ln%PcgVQ^5?2FSDwM zP#G5J*NO=gDR^t^M8BWmlQAawC}uebbT3L=^cvmMsqy@hlkDcfBGn8ozD&5({0A zg9GkCe4G`;49mKMhrm0QdDl>uRt0k34J_^jmJRn@FsyFIXC1kU6G{eY@)9I_aI*ou z;UGhP^G+=bwP%9y%m0mASw#|I;3`O8p`wxf!(WnJjQ@Q6e5_C0UM=SUd~FwBo2{=) z^$;&w>xrtje+yz;y6O4YxN{iJ_0OIYVLgas%UwU2?1CnnN)Lsf`QcAZPMNd0k4u}$ zPgE4m#Xx~bRiqvZAAEMw`c|GLudLQ6p<_UL4y^L}GK-DEC45Jo8R`6sV!IZ z_XS@MYafz&3N3T?&9B0ai;QGZmfTT`c@>z1-#4wETh~Y^6A+vp9$PVwd4eNM=zGtR zQJ*-<1=M{Ga~W*kot_>qDf|>RR(E-HC(9`W1Kr7z_}(4eo|&|+8yo-f`AX_Xak*-7 zDLdaM&E%lDyDU3M(~PiNBvxRMd!?C%#R7VJ*`~p4ghkwgaO;C^mC~&*zLkkL17V|+ zZURz3G{u*pxS%||tjq2FTXcxT=8i<}@E_5u_v~F-Q=nOj1$@2uB*hDPNClM%9zjSYY zboS+e)}ra0geQ4{Q!-r(G}^u>L7EXT&8jpGHZ&%9c3fI@-GV2tXrNc;+zl#TrVE(h oSTNh{0`NuIMa@e0a~_|^=ka-b`ab_(00030|FX^SE&y@@000UWfB*mh literal 0 HcmV?d00001 diff --git a/incubator/komga/1.1.0/ix_values.yaml b/incubator/komga/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..63f2391b5a5 --- /dev/null +++ b/incubator/komga/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: gotson/komga + pullPolicy: IfNotPresent + tag: 0.99.4 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/komga/1.1.0/questions.yaml b/incubator/komga/1.1.0/questions.yaml new file mode 100644 index 00000000000..ade07e0ae6a --- /dev/null +++ b/incubator/komga/1.1.0/questions.yaml @@ -0,0 +1,777 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + 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 + default: 36065 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/komga/1.1.0/templates/common.yaml b/incubator/komga/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/komga/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/komga/1.1.0/test_values.yaml b/incubator/komga/1.1.0/test_values.yaml new file mode 100644 index 00000000000..b64b1ef0a5c --- /dev/null +++ b/incubator/komga/1.1.0/test_values.yaml @@ -0,0 +1,37 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: gotson/komga + # -- image tag + tag: 0.99.4 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See more environment variables in the [komga documentation](https://komga.org/installation/configuration.html#optional-configuration). +# @default -- See below +env: {} + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8080 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /config + data: + enabled: false + mountPath: /data diff --git a/incubator/komga/1.1.0/values.yaml b/incubator/komga/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/lazylibrarian/6.3.0/CONFIG.md b/incubator/lazylibrarian/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/lazylibrarian/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/lazylibrarian/6.3.0/Chart.lock b/incubator/lazylibrarian/6.3.0/Chart.lock new file mode 100644 index 00000000000..5108af082eb --- /dev/null +++ b/incubator/lazylibrarian/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:48:35.852312275Z" diff --git a/incubator/lazylibrarian/6.3.0/Chart.yaml b/incubator/lazylibrarian/6.3.0/Chart.yaml new file mode 100644 index 00000000000..a22c0f52eaa --- /dev/null +++ b/incubator/lazylibrarian/6.3.0/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Get all your books, like series with Sonarr... +home: https://github.com/truecharts/apps/tree/master/charts/incubator/lazylibrarian +icon: https://lazylibrarian.gitlab.io/logo.svg +keywords: +- lazylibrarian +- ebooks +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: lazylibrarian +sources: +- https://gitlab.com/LazyLibrarian/LazyLibrarian.git +- https://lazylibrarian.gitlab.io +type: application +version: 6.3.0 diff --git a/incubator/lazylibrarian/6.3.0/README.md b/incubator/lazylibrarian/6.3.0/README.md new file mode 100644 index 00000000000..89711e79591 --- /dev/null +++ b/incubator/lazylibrarian/6.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `lazylibrarian` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `lazylibrarian` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/lazylibrarian/6.3.0/app-readme.md b/incubator/lazylibrarian/6.3.0/app-readme.md new file mode 100644 index 00000000000..c67c1844868 --- /dev/null +++ b/incubator/lazylibrarian/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Get all your books, like series with Sonarr... +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Get all your books, like series with Sonarr... diff --git a/incubator/lazylibrarian/6.3.0/charts/common-6.5.0.tgz b/incubator/lazylibrarian/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/lazylibrarian/6.3.0/ix_values.yaml b/incubator/lazylibrarian/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..553b98dbe3e --- /dev/null +++ b/incubator/lazylibrarian/6.3.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/lazylibrarian + pullPolicy: IfNotPresent + tag: latest + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/lazylibrarian/6.3.0/questions.yaml b/incubator/lazylibrarian/6.3.0/questions.yaml new file mode 100644 index 00000000000..9900449e08c --- /dev/null +++ b/incubator/lazylibrarian/6.3.0/questions.yaml @@ -0,0 +1,628 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 5299 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5299 + editable: true + 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 + default: 36033 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/lazylibrarian/6.3.0/templates/common.yaml b/incubator/lazylibrarian/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/lazylibrarian/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/lazylibrarian/6.3.0/test_values.yaml b/incubator/lazylibrarian/6.3.0/test_values.yaml new file mode 100644 index 00000000000..6bba6ace4dc --- /dev/null +++ b/incubator/lazylibrarian/6.3.0/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for LazyLibrarian. + +image: + repository: linuxserver/lazylibrarian + pullPolicy: IfNotPresent + tag: latest + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 5299 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/lazylibrarian/6.3.0/values.yaml b/incubator/lazylibrarian/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/librespeed/1.1.0/CONFIG.md b/incubator/librespeed/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/librespeed/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/librespeed/1.1.0/Chart.lock b/incubator/librespeed/1.1.0/Chart.lock new file mode 100644 index 00000000000..c8149491f1e --- /dev/null +++ b/incubator/librespeed/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:48:37.626837624Z" diff --git a/incubator/librespeed/1.1.0/Chart.yaml b/incubator/librespeed/1.1.0/Chart.yaml new file mode 100644 index 00000000000..7dc0dfbdc01 --- /dev/null +++ b/incubator/librespeed/1.1.0/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Librespeed is a HTML5 webpage to test upload and download speeds +home: https://github.com/truechartsapps/tree/master/charts/incubator/librespeed +icon: https://github.com/librespeed/speedtest/blob/master/.logo/icon_huge.png?raw=true +keywords: +- librespeed +- speedtest +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: librespeed +sources: +- https://github.com/librespeed/speedtest +- https://hub.docker.com/r/linuxserver/librespeed +- https://github.com/truechartsapps/tree/master/charts/librespeed +version: 1.1.0 diff --git a/incubator/librespeed/1.1.0/README.md b/incubator/librespeed/1.1.0/README.md new file mode 100644 index 00000000000..04be085d9ba --- /dev/null +++ b/incubator/librespeed/1.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Librespeed is a HTML5 webpage to test upload and download speeds + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `librespeed` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `librespeed` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/librespeed/1.1.0/app-readme.md b/incubator/librespeed/1.1.0/app-readme.md new file mode 100644 index 00000000000..c4f2fa18583 --- /dev/null +++ b/incubator/librespeed/1.1.0/app-readme.md @@ -0,0 +1 @@ +Librespeed is a HTML5 webpage to test upload and download speeds diff --git a/incubator/librespeed/1.1.0/charts/common-6.5.0.tgz b/incubator/librespeed/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/librespeed/1.1.0/ci/ct-values.yaml b/incubator/librespeed/1.1.0/ci/ct-values.yaml new file mode 100644 index 00000000000..a4c249088b9 --- /dev/null +++ b/incubator/librespeed/1.1.0/ci/ct-values.yaml @@ -0,0 +1,2 @@ +env: + PASSWORD: "ChangeMe" diff --git a/incubator/librespeed/1.1.0/ix_values.yaml b/incubator/librespeed/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..1dfd85ef4db --- /dev/null +++ b/incubator/librespeed/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/librespeed + pullPolicy: IfNotPresent + tag: version-5.2.4 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/librespeed/1.1.0/questions.yaml b/incubator/librespeed/1.1.0/questions.yaml new file mode 100644 index 00000000000..6f19172a022 --- /dev/null +++ b/incubator/librespeed/1.1.0/questions.yaml @@ -0,0 +1,679 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + 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 + default: 36066 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/librespeed/1.1.0/templates/common.yaml b/incubator/librespeed/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/librespeed/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/librespeed/1.1.0/test_values.yaml b/incubator/librespeed/1.1.0/test_values.yaml new file mode 100644 index 00000000000..e9605796648 --- /dev/null +++ b/incubator/librespeed/1.1.0/test_values.yaml @@ -0,0 +1,46 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: linuxserver/librespeed + # -- image tag + tag: version-5.2.4 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://hub.docker.com/r/linuxserver/librespeed) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1001" + # -- Specify the group ID the application will run as + PGID: "1001" + # PASSWORD: + # CUSTOM_RESULTS: + # DB_TYPE: + # DB_NAME: + # DB_HOSTNAME: + # DB_USERNAME: + # DB_PASSWORD: + # DB_PORT: + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 80 + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false diff --git a/incubator/librespeed/1.1.0/values.yaml b/incubator/librespeed/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/lychee/6.3.0/CONFIG.md b/incubator/lychee/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/lychee/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/lychee/6.3.0/Chart.lock b/incubator/lychee/6.3.0/Chart.lock new file mode 100644 index 00000000000..7576c2332bf --- /dev/null +++ b/incubator/lychee/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:48:39.403796086Z" diff --git a/incubator/lychee/6.3.0/Chart.yaml b/incubator/lychee/6.3.0/Chart.yaml new file mode 100644 index 00000000000..0cf6017b162 --- /dev/null +++ b/incubator/lychee/6.3.0/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Lychee is a free photo-management tool, which runs on your server or + web-space +home: https://github.com/truecharts/apps/tree/master/charts/incubator/lychee +icon: https://github.com/LycheeOrg/Lychee/blob/master/Banner.png?raw=true +keywords: +- lychee +- photo +- pictures +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: lychee +sources: +- https://github.com/LycheeOrg/Lychee +- https://hub.docker.com/r/lycheeorg/lychee +type: application +version: 6.3.0 diff --git a/incubator/lychee/6.3.0/README.md b/incubator/lychee/6.3.0/README.md new file mode 100644 index 00000000000..fd4d1fdf48c --- /dev/null +++ b/incubator/lychee/6.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Lychee is a free photo-management tool, which runs on your server or web-space + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `lychee` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `lychee` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/lychee/6.3.0/app-readme.md b/incubator/lychee/6.3.0/app-readme.md new file mode 100644 index 00000000000..792e9d50ab7 --- /dev/null +++ b/incubator/lychee/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Lychee is a free photo-management tool, which runs on your server or web-space +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Lychee is a free photo-management tool, which runs on your server or diff --git a/incubator/lychee/6.3.0/charts/common-6.5.0.tgz b/incubator/lychee/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/lychee/6.3.0/ix_values.yaml b/incubator/lychee/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..63bb15faef3 --- /dev/null +++ b/incubator/lychee/6.3.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: lycheeorg/lychee-laravel + pullPolicy: IfNotPresent + tag: v4.3.0 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/lychee/6.3.0/questions.yaml b/incubator/lychee/6.3.0/questions.yaml new file mode 100644 index 00000000000..e3f809e23f8 --- /dev/null +++ b/incubator/lychee/6.3.0/questions.yaml @@ -0,0 +1,628 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + 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 + default: 36034 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/lychee/6.3.0/templates/common.yaml b/incubator/lychee/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/lychee/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/lychee/6.3.0/test_values.yaml b/incubator/lychee/6.3.0/test_values.yaml new file mode 100644 index 00000000000..fefa59b25b6 --- /dev/null +++ b/incubator/lychee/6.3.0/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Lychee. + +image: + repository: lycheeorg/lychee-laravel + pullPolicy: IfNotPresent + tag: v4.3.0 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # PHP_TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/lychee/6.3.0/values.yaml b/incubator/lychee/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/mealie/1.3.0/CONFIG.md b/incubator/mealie/1.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/mealie/1.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/mealie/1.3.0/Chart.lock b/incubator/mealie/1.3.0/Chart.lock new file mode 100644 index 00000000000..cf9a63b272c --- /dev/null +++ b/incubator/mealie/1.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:48:41.17339141Z" diff --git a/incubator/mealie/1.3.0/Chart.yaml b/incubator/mealie/1.3.0/Chart.yaml new file mode 100644 index 00000000000..05d5103cc58 --- /dev/null +++ b/incubator/mealie/1.3.0/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +description: Mealie is a self hosted recipe manager and meal planner with a RestAPI + backend and a reactive frontend application built in Vue for a pleasant user experience + for the whole family. +home: https://github.com/truecharts/apps/tree/master/charts/incubator/mealie +icon: https://raw.githubusercontent.com/hay-kot/mealie/gh-pages/assets/img/favicon.png +keywords: +- grocy +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: mealie +sources: +- https://github.com/hay-kot/mealie +version: 1.3.0 diff --git a/incubator/mealie/1.3.0/README.md b/incubator/mealie/1.3.0/README.md new file mode 100644 index 00000000000..b16bee911e1 --- /dev/null +++ b/incubator/mealie/1.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.2.9](https://img.shields.io/badge/Version-1.2.9-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `mealie` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `mealie` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/mealie/1.3.0/app-readme.md b/incubator/mealie/1.3.0/app-readme.md new file mode 100644 index 00000000000..53470db1cd0 --- /dev/null +++ b/incubator/mealie/1.3.0/app-readme.md @@ -0,0 +1 @@ +Mealie is a self hosted recipe manager and meal planner with a RestAPI diff --git a/incubator/mealie/1.3.0/charts/common-6.5.0.tgz b/incubator/mealie/1.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/mealie/1.3.0/ix_values.yaml b/incubator/mealie/1.3.0/ix_values.yaml new file mode 100644 index 00000000000..3ddd4a6efb3 --- /dev/null +++ b/incubator/mealie/1.3.0/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: hkotel/mealie + # -- image tag + tag: v0.5.1 + # -- image pull policy + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/mealie/1.3.0/questions.yaml b/incubator/mealie/1.3.0/questions.yaml new file mode 100644 index 00000000000..ccf1054a8b6 --- /dev/null +++ b/incubator/mealie/1.3.0/questions.yaml @@ -0,0 +1,635 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: DB_TYPE + label: "DB_TYPE" + schema: + type: string + default: "sqlite" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + 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 + default: 36067 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/app/data/" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/mealie/1.3.0/templates/common.yaml b/incubator/mealie/1.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/mealie/1.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/mealie/1.3.0/test_values.yaml b/incubator/mealie/1.3.0/test_values.yaml new file mode 100644 index 00000000000..2023db28b3f --- /dev/null +++ b/incubator/mealie/1.3.0/test_values.yaml @@ -0,0 +1,43 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: hkotel/mealie + # -- image tag + tag: v0.5.1 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://hay-kot.github.io/mealie/getting-started/install/#env-variables) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Set the application database type + DB_TYPE: sqlite + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 80 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /app/data/ diff --git a/incubator/mealie/1.3.0/values.yaml b/incubator/mealie/1.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/mosquitto/1.3.0/CONFIG.md b/incubator/mosquitto/1.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/mosquitto/1.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/mosquitto/1.3.0/Chart.lock b/incubator/mosquitto/1.3.0/Chart.lock new file mode 100644 index 00000000000..f9190682139 --- /dev/null +++ b/incubator/mosquitto/1.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:48:42.892262466Z" diff --git a/incubator/mosquitto/1.3.0/Chart.yaml b/incubator/mosquitto/1.3.0/Chart.yaml new file mode 100644 index 00000000000..28418523879 --- /dev/null +++ b/incubator/mosquitto/1.3.0/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Eclipse Mosquitto - An open source MQTT broker +home: https://github.com/truecharts/apps/tree/master/charts/incubator/mosquitto +icon: https://raw.githubusercontent.com/eclipse/mosquitto/master/logo/mosquitto-logo-min.svg +keywords: +- mosquitto +- MQTT +- eclipse-iot +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: mosquitto +sources: +- https://github.com/eclipse/mosquitto +type: application +version: 1.3.0 diff --git a/incubator/mosquitto/1.3.0/README.md b/incubator/mosquitto/1.3.0/README.md new file mode 100644 index 00000000000..80480aa0c23 --- /dev/null +++ b/incubator/mosquitto/1.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.2.9](https://img.shields.io/badge/Version-1.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Eclipse Mosquitto - An open source MQTT broker + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `mosquitto` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `mosquitto` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/mosquitto/1.3.0/app-readme.md b/incubator/mosquitto/1.3.0/app-readme.md new file mode 100644 index 00000000000..93652bac7a6 --- /dev/null +++ b/incubator/mosquitto/1.3.0/app-readme.md @@ -0,0 +1,3 @@ +API Support for your favorite torrent trackers. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Eclipse Mosquitto - An open source MQTT broker diff --git a/incubator/mosquitto/1.3.0/charts/common-6.5.0.tgz b/incubator/mosquitto/1.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/mosquitto/1.3.0/ix_values.yaml b/incubator/mosquitto/1.3.0/ix_values.yaml new file mode 100644 index 00000000000..b638fcf296e --- /dev/null +++ b/incubator/mosquitto/1.3.0/ix_values.yaml @@ -0,0 +1,18 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: eclipse-mosquitto + # -- image tag + tag: 2.0.11 + # -- image pull policy + pullPolicy: IfNotPresent + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/mosquitto/1.3.0/questions.yaml b/incubator/mosquitto/1.3.0/questions.yaml new file mode 100644 index 00000000000..6ca3a02675f --- /dev/null +++ b/incubator/mosquitto/1.3.0/questions.yaml @@ -0,0 +1,789 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: auth + group: "App Configuration" + label: "Authentication" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + description: "By enabling this, `allow_anonymous` gets set to `false` in the mosquitto config." + schema: + type: boolean + default: false + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - 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: port + label: "Container Port" + schema: + type: int + default: 1883 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 1883 + editable: true + 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 + default: 36068 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/mosquitto/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: configinc + label: "App config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/mosquitto/configinc" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/mosquitto/1.3.0/templates/common.yaml b/incubator/mosquitto/1.3.0/templates/common.yaml new file mode 100644 index 00000000000..15d4d961a1c --- /dev/null +++ b/incubator/mosquitto/1.3.0/templates/common.yaml @@ -0,0 +1,17 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Append the configMap volume to the volumes */}} +{{- define "mosquitto.configVolume" -}} +enabled: "true" +mountPath: "/mosquitto/config/mosquitto.conf" +subPath: "mosquitto.conf" +type: "custom" +volumeSpec: + configMap: + name: {{ template "common.names.fullname" . }}-config +{{- end -}} +{{- $_ := set .Values.persistence "mosquitto-config" (include "mosquitto.configVolume" . | fromYaml) -}} + +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/incubator/mosquitto/1.3.0/templates/configmap.yaml b/incubator/mosquitto/1.3.0/templates/configmap.yaml new file mode 100644 index 00000000000..489d68b0ea5 --- /dev/null +++ b/incubator/mosquitto/1.3.0/templates/configmap.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "common.names.fullname" . }}-config + labels: + {{- include "common.labels" . | nindent 4 }} +data: + mosquitto.conf: | + listener {{ .Values.service.main.ports.main.port }} + {{- if .Values.auth.enabled }} + allow_anonymous false + {{- else }} + allow_anonymous true + {{- end }} + {{- if .Values.persistence.data.enabled }} + persistence true + persistence_location {{ .Values.persistence.data.mountPath }} + autosave_interval 1800 + {{- end }} + {{- if .Values.persistence.configinc.enabled }} + include_dir {{ .Values.persistence.configinc.mountPath }} + {{- end }} diff --git a/incubator/mosquitto/1.3.0/test_values.yaml b/incubator/mosquitto/1.3.0/test_values.yaml new file mode 100644 index 00000000000..cda69f06c35 --- /dev/null +++ b/incubator/mosquitto/1.3.0/test_values.yaml @@ -0,0 +1,39 @@ +# Default values for Jackett. + +image: + # -- image repository + repository: eclipse-mosquitto + # -- image tag + tag: 2.0.11 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- Configures service settings for the chart. Normally this does not need to be modified. +# @default -- See values.yaml +service: + main: + ports: + main: + protocol: TCP + enabled: true + port: 1883 + +auth: + # -- By enabling this, `allow_anonymous` gets set to `false` in the mosquitto config. + enabled: false + +persistence: + # -- Configure a persistent volume to place mosquitto data in. + # When enabled, this enables `persistence` and `persistence_location` in the mosquitto config. + # @default -- See values.yaml + data: + enabled: false + mountPath: /mosquitto/data + # -- Configure a persistent volume to place *.conf mosquitto-config-files in. + # When enabled, this gets set as `include_dir` in the mosquitto config. + # @default -- See values.yaml + configinc: + enabled: false + mountPath: /mosquitto/configinc + accessMode: ReadWriteOnce + size: 100Mi diff --git a/incubator/mosquitto/1.3.0/values.yaml b/incubator/mosquitto/1.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/mylar/1.1.0/CONFIG.md b/incubator/mylar/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/mylar/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/mylar/1.1.0/Chart.lock b/incubator/mylar/1.1.0/Chart.lock new file mode 100644 index 00000000000..9b9210e58bd --- /dev/null +++ b/incubator/mylar/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:48:44.694517792Z" diff --git a/incubator/mylar/1.1.0/Chart.yaml b/incubator/mylar/1.1.0/Chart.yaml new file mode 100644 index 00000000000..f28fdf78dd5 --- /dev/null +++ b/incubator/mylar/1.1.0/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Mylar is the automated Comic Book downloader (cbr/cbz) for use with various + download clients. +home: https://github.com/truechartsapps/tree/master/charts/incubator/mylar +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/mylar-icon.png +keywords: +- mylar +kubeVersion: '>=1.16.0-0' +maintainers: +- name: truecharts + url: https://patricol.co/ +name: mylar +sources: +- https://github.com/mylar3/mylar3 +- https://github.com/linuxserver/docker-mylar3 +- https://github.com/truechartsapps/tree/master/charts/mylar +version: 1.1.0 diff --git a/incubator/mylar/1.1.0/README.md b/incubator/mylar/1.1.0/README.md new file mode 100644 index 00000000000..8e186b5abb4 --- /dev/null +++ b/incubator/mylar/1.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Mylar is the automated Comic Book downloader (cbr/cbz) for use with various download clients. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `mylar` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `mylar` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/mylar/1.1.0/app-readme.md b/incubator/mylar/1.1.0/app-readme.md new file mode 100644 index 00000000000..e6b61c03500 --- /dev/null +++ b/incubator/mylar/1.1.0/app-readme.md @@ -0,0 +1 @@ +Mylar is the automated Comic Book downloader (cbr/cbz) for use with various diff --git a/incubator/mylar/1.1.0/charts/common-6.5.0.tgz b/incubator/mylar/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/mylar/1.1.0/ix_values.yaml b/incubator/mylar/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..75ed20a869d --- /dev/null +++ b/incubator/mylar/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/linuxserver/mylar3 + pullPolicy: IfNotPresent + tag: version-v0.5.3 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/mylar/1.1.0/questions.yaml b/incubator/mylar/1.1.0/questions.yaml new file mode 100644 index 00000000000..3d73198e086 --- /dev/null +++ b/incubator/mylar/1.1.0/questions.yaml @@ -0,0 +1,679 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8090 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8090 + editable: true + 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 + default: 36069 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/mylar/1.1.0/templates/common.yaml b/incubator/mylar/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/mylar/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/mylar/1.1.0/test_values.yaml b/incubator/mylar/1.1.0/test_values.yaml new file mode 100644 index 00000000000..1d6b9e145b6 --- /dev/null +++ b/incubator/mylar/1.1.0/test_values.yaml @@ -0,0 +1,45 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/linuxserver/mylar3 + # -- image tag + tag: version-v0.5.3 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://docs.linuxserver.io/images/docker-mylar3#environment-variables-e) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1000" + # -- Specify the group ID the application will run as + PGID: "1000" + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8090 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + comics: + enabled: false + mountPath: /comics + downloads: + enabled: false + mountPath: /downloads diff --git a/incubator/mylar/1.1.0/values.yaml b/incubator/mylar/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/navidrome/6.3.0/CONFIG.md b/incubator/navidrome/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/navidrome/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/navidrome/6.3.0/Chart.lock b/incubator/navidrome/6.3.0/Chart.lock new file mode 100644 index 00000000000..cc5fa7c066d --- /dev/null +++ b/incubator/navidrome/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:48:46.542719503Z" diff --git a/incubator/navidrome/6.3.0/Chart.yaml b/incubator/navidrome/6.3.0/Chart.yaml new file mode 100644 index 00000000000..f79c29e525f --- /dev/null +++ b/incubator/navidrome/6.3.0/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Navidrome is an open source web-based music collection server and streamer +home: https://github.com/truecharts/apps/tree/master/charts/incubator/navidrome +icon: https://raw.githubusercontent.com/navidrome/navidrome/v0.42.0/ui/src/icons/android-icon-192x192.png +keywords: +- navidrome +- music +- streaming +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: navidrome +sources: +- https://github.com/deluan/navidrome +- https://hub.docker.com/r/deluan/navidrome +type: application +version: 6.3.0 diff --git a/incubator/navidrome/6.3.0/README.md b/incubator/navidrome/6.3.0/README.md new file mode 100644 index 00000000000..9177000c7c5 --- /dev/null +++ b/incubator/navidrome/6.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Navidrome is an open source web-based music collection server and streamer + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `navidrome` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `navidrome` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/navidrome/6.3.0/app-readme.md b/incubator/navidrome/6.3.0/app-readme.md new file mode 100644 index 00000000000..4f10b994279 --- /dev/null +++ b/incubator/navidrome/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Navidrome is an open source web-based music collection server and streamer +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Navidrome is an open source web-based music collection server and streamer diff --git a/incubator/navidrome/6.3.0/charts/common-6.5.0.tgz b/incubator/navidrome/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 zcmV)mK%T!JiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJciXnII12B7fBF>IOnPefXHl}_msHR3evY@DwmCaVy<(@m z=X7_)FbP?xDUu~YIj)=g+3&(D0T3W5TXxdcTwSR}0yBdFFf$ko22nPjXX)s01`85i z!+G+z)j#9$c)Yv4&Hg_gkL~}D_nvM2ZF76PHy&^8Y;W)WZM?a)y}R=_Fun&`8c$Uc zSp02#XIysU{vZ#`@eimdah6WNVru~NT>VV56b)ijMg`6Zd-F||M)WU`;PV0&*I=3z z;Iya^8$RV=md()w%m~TL$!K(e$*ejLqijARMTH_(W(4!R9FYQ{(Hxcp6(jMU55xhE zC?W|0E+BzL8FElniHayo2}%irT8;L0x5wkXot?oYy1vSaxSR}zphh+rN=k?9#b5{o zn#<}OsfK>}kNwSXb2l6h$6pTS5T^v<6cr2@nnRpS08Xdbf7O7)thg8ekV4vCjR62u zMKS?aK?UXV7nH>RRYtR{A}Adu==>a~7h#$xSl<^ZhUMnhUqAD};>AQO$aRh;vWbI* zY|n1E6OIS{`d`fd1xzYb-je`mpa0wAotw+T<&PX8`0KL`(+^BBtB`3&u?@GZ-`9qNqTSAg~srDXbE*4qzICw^@?l^x|C}Ln1nY!a5PHIYCZf z-={|?K?F5H)ZjU=BgP5}2H=Y{E9h9kCH*Gpr(>zmLC_ak^J^YknC9>Us8YCqIH6;W z)zW@11E#Es3l4z&WmVO>)~cJsg2)L2>R)PlyyZPgffQ(gsq6H!g`&5 z_>RASMPELc*NdY@NG0`e@u5v@*t9kU;k z!GM*Lb6pI%`5dP4TDh)7jObc68kznbh(Z(a)6WhNu(&8&D$~!b=Ado9=2<+*v-rT8 zlLOC`6vbcF(~g%sh+_c3cUggdqXZ=2IE%qSMY1x22`UCpz<)^!hePn6F)o<^`^Nx^ zGB{=IRDx{^lM*pD7Z-?3D5L8!CPeQXr*GAy22a?$p2H93yYW~-IXr&%j^G6U#u|Ez ziU_5IjsjZnd0p-`nrFpzYtcc8iUp3)K@??GN@~HMqXhf3zPgm=38bVVur{{t>FnriNsoDurx%IR$A( zK*@$mEQkWQWNKyuKn@6(-~y$H%9j{aB~C94od^h;=LsZ8*>pi5M#;O93n+>-&+>|v zVhoB3M8Fj$GX_bB!t1O8CFAFHICuj7i2%HUOvFJZwo9Z7O-eXQqvATJWSw8j8L`2e z!dOl_1Wl=!q(Xs8wI__P>GgRQUvmOr6rr+|eAdiDFvST92b@@?agGm8PJaCU?a>6x zuZKA-OKOFS=DvnF1t?wMB1@TQT)+a;@m+@CR4_@7c-q2~>y*F`Qb|t+Pr$)CIQ`!V zcz1e88L-Z=9ZkTOH#Z=BixLD&6uzNM|M>CC!4q((iVU6r_Mmj}O_9yjZvetD9H4Z; zTJVG#27)Hue8EvV1g1qcSDjgI0Q3RQbIP+P;77(OP;d(5_@ZXQJlo)w4=+sdbC}=? zCkZ%5ywDKFbDUB-PV+=D^Yq2*<5vf#FW&!f@ao-*2?!j`s!i~u^~9D zN|Mb%Uf`_2FS8Y6qnySNc?doE;_= zUEzO&i;~bO^Bu2yHqd}5na>a%aiPWJPoP&10G=ASamgz(@fLV6xoS~a9u5?tjC*=@ zX{|6R1QT%d=0x(P+z{ibDx}m;Y<9TqXgai$MAe#Rz4{lq6%*eFB0_sa{?%Q92UF1tU)=DoR{7b<1Kl zpoLZ}sTlt0rvgoX{&}rMI7C?*p`4T>S#Owf2IKUCeoU#*(Bwrq6a`05xPHOu#gNR9 ze7!#4YT$(be1+4?QY`MoR1|FItvW$b#b)GTmJ;-VC@b)on`iR7_^jD!J>kr$=BiD} zvM0O*Pf>IoCCCRz70``LJ|U?V26TaZC`*@ss_PK^4^_TGdjP6pQ4DY@H8eFeVL7C$ z9<#P?`)Vj)9Ah!Eqg!LDfjIFU7uh*dQ-zHH{-MXv;(ABc<=R9Ms=ZI}0;Q-dhXsN$ zW`C6g7Np9DIYnQN)-9`>D!g-)WLE=TKpCyC1SpU@=%!`dPymoLXe+uGwaX$gzz(=I zV)`wNbvU;R&*-N!Dz~Uiy~5>;z7l`7!J3O3gi^~yoOF6rW!dvIvu$aRjW zZJsiNk&AStWokmrHV3DN#{qlKy&?-x05PoFf`Zs8C79t8~pz#^pDfS<1^-1I(v6?e5P0D+Kzq_dM}4pDS%XY z)>{i{3@#9TroE=x9uJavOiE@kI#y#qskK)bjQK47cV5>@Z2n*|u3)RI{4T{kP{wkhXVxFpmNoZ~o7&=o9DDQ6xjAe!P!{mbR^ zl0hnSNXIYVLxmN|sLG3Al3WYOhitF21TfV!a=j&~!=zIK<~gF)CxuUc3)D3(wS!pK z$+}`Lut$^0@&`8aLdmnc9h1$ zsua3nia((EbzN1e)*+oYI31qD5=R=VwfXa>;JOBmJ8SR3e3O#Vl!S6*vmLYvNH1{u z!BdnZli5Vk zg?UXB1yI{4^iyq>)|4GXG7CXJl7L$LkBoQR_rOBAVrtV+wXcQhf`9CT&2V#jIBq~X zWowgT7N%%?)E0{kOj5uai$pG|3&eJKBUBFsipGM%H%WU#W@b}A$eK}Wss7VfC-!g& z!9O!H6Fb-}P=JaDKC);Jqk5a0o=eAuaSHP7)@TnN5>ktH|&|7`NQiqHx}*=r;xbM`nMMj87!))XkD= zj-)kZZkS80tA~Z0jsBC8^FEutCo}Y(SO3S^hA1jRHE78%hhK{6UFw+5D`IvBfB%|N z#1S&$c;FFu0>q}X)*)goiKjZ)I;@dZM={$X8PY`rhf05bpC;E0Xa17Q1dgwLm2g6` z0$w0+s6v*+(tL_93;=9ZR3a7!c{V)T0P%GS=QyG&gGUZiX5vzEEOu05;&J%D-<+In z7=C#L0u>GeU$m?%`4TDHh&4Q4 z*K6`j*cD7!^DxzU79%xHYX8u=*isW+#QQEr#oqAyQF5;h zR85$d6t5+8MOebly)CXk~0qK66flb9ff_UEF`H?_2dpoq;KWgie+V5xFiHvcY6g1XHOcYhN<{jnBe40|!KFL?6^6O`IG7PvnT> z7LEvW&ZYp?cE()9GQs@q++KEhoyiJLpz9=eZ8$zi0ytm!b;tpQu+rT4!A0 zZf}jXPdsLNem#`Y+x00Nk5Qx@GUek#JDYc=ISX(a;{}c@n9!cObwFcErtZLXl`8}sh7GX5g4XKz`ob&zlKPKca=9_YOj@bMrP=Q|GfmZ zEr!iDeWMwI`B1zYG9RyC^&4uQaifiLIm*(K6cDFm*)Vf{mI0?1L$u&-fDtT9e37#F zV5&PuPw2lKS5~YK=&uv;ON+MV!?*-+%JwF&HJU(CCAWxx??alzHiT(Bgek#8`DT3} z|8j(c6Gj%v60uKQu7EZMlhIMb9jy;EB$^}VUCFiLL4sk4)FC_}08mN_%-@a>iALPt zI0SQ;=TyeMJeH1XUPzuQS;;8_7{^0Fz>s8&*N8+zM#GR!XZGh1a>_^R1Faou9^!lg zg3YhD!p+_1;byow9`n(zDCH+Gh9HnG$0(Zz^4-Me?*kgg_*+MFmKHn_I{e zu(|d8HD>Q*&-SbFsZ%{TACdnXPC*&9fovpsBAxM`iI~p;fI6@l*XuFi~frKmGBjY97*6DQcFvooaZhW zndl)Ld^P&`ad2}pHalc0nh!wWzNKC&%hf%Kmh<|n4L2DL)V7m*1BPeJ&DM4_LS4}}@Y zVY#81H3VQ@lq!Is6OCrSiX{)wQA`2))m4^7j|X*nfk4)BlcpC8!S5i&X-tLmxJJf2 zx19)O9+NJ7b-BBs(`@+wv|}`iw&FCvOd(FdT3+CkOhND_BLIrzCN?o^UzF>CkJNR& z(`08id%i(6GrUn5&T{CW+FeHsv)<*!elsoatYD3Lwl7={a|e1_!UfH0y|=w#o)rWp zUV=Qe`05B1b6l3x=Jk=_WitA}Lpook1QkLA$W(9QV|E=Az zrT=%H?LB+c{}1sn{m*QE6|+Ny0%9u$s{YQC3Ne|ctOAvF31sKLpooajDOl7QUFd2+ z#RKa$gkSHQ>R>n=4)oN7ENkFmb8v~%cv4d^m?HvXNZ>?eTX9TUzUY(*T9h&spniNsFYwo^@uu;si74K>3TTHVC*EbjYvJfPou+6 zr$(hb=;Y2Wb#vpw=PJtqOQ#L*i8&fPB(aOrkSb>diibvQzHZbbL`%MMbB+AY>Ho5L%9#J4RZB!aV|o&QIcn| zqZ2iFpITo2*&c`fSN8p?41f;(|7?42$JYP5}eRHFc)nhmsDNrrvhu{JFwXLOVSphpV(D4KU z$FL!xjYb*ZK=3{5Uk)z-YcY-p2vql(_|`4hKCgIP9hjI!cTzF>VFNrRiPi-+3rSPN z<0%N$IWhgCXqV0n3UUodL+p#i@QXzN0+R4X#pnYt`P>*gj-GT>FmX0eGOTS7J1Mg4 zo<P1o3L{N zaPie8r|Rifi=L-KcDz(limosyV{RdyhReyPx@#Il@HrkD5cU1B#>Vi|0+n=8G}#A1 z(1-RWPK$ab^k%U97rL%129kyAb?anjSgjKT?OXDyvnApnu&l4wt6^TE>(bGL-@z0Y zC2;^Z0SvXV_WADCt^R4+fB7PM;P{_sd-nZ5+gqEPkM`d~Jk0;6+keOPX(JKg&4QTQ z?Log+kA=l((=A8E5tXGlX^knDu8 z#NF#)y+?eQDBLwvyN9jcIyzdNjK}0p8VOUh)soW?Gb1o3p?! zM-SJ)>N*NhD9s+N0ySL_$`7;rn$=y`)rY_H2YZCdhSzaMBUg%MTYH*8h9stw;U;5RcgZ zW0xTmDx?RHOuL}TuifQR&#_;pw(2vPj9sj>G-g%t=5ArnZf0-WlmiE4iC~k8At3=T~{l7AQ zmS&B~SC&mH2d~G!B0g(&l!W8*|LW;K3>(V2g^n4#Z9ZZHZGRuJY)oGtvDvy#AMx#6 z#Hxc$bbU>>y85!7zk%lYv$J#a!P+$_+q``za!7VL`&!1L?dqT!x=eH!Tv zlx?m)Sx~kW>3G%)&7ir@aK+%5|Mls&6|Dg}=KuDy ztw#LE-p*tE$Adh#i2v2DZ(nHuuyO3NGXhwn;!hX?+y;1s0_ii2;x&R#?-I)UeR_lv zbdRCD`dsJ{%UdyYCrd>1_6yJL3i%ClSP*^{M_a(ID&_6LcAz&87)dL%^qVE8dwT$G zW7_%RWF3*ZkD;@jp|di#mz5SvjU8(PZo&77WiwoLC27M(S8AGo0`oEdt=(g^_F8@FMX6pa(-uTh~{~*s& z`u~L(5i_Hqg21BhtD_*Q-uZZGWhyiQ?T{jL+ zJjLY+VHrCdb1#B9JjV$pxE|=CtYBuseQMvlE8>*oShqC0Rho6U7>f-+cFbL^YUOJO zcJs9E24J1|U#uS+WrODZzRhAFsMFU+MI6*;ZA2eixnetMlJu+wd%X-&0d=Bd=6(BQ z?(B~Fl07l+*9r4Z{?G5gdOs2ETwemGm*G-KIR?NweLFW^C@Iv%IoH5-!BPyN{nIv= zS`a!0pax&H*S51=xpZ9;q^=`m2)D(B)!}iK>1yk)oBEBNJvkZ_iRM)mMOG1(a9d_i zF9WgZ#OH{XR=xH&1y|_2L{U{BmHfIN8huDk8XaY9<|vy)QnHG4U)mt9wSz=p-+s-Z zH1EXLxZ|$UaNe-(C@Vb#N&Gv9R)Pt;DgZD@P`N$ByeML$wZb@qrNcOM+|GMR!%kBx2Nq3 z=LYZCHPOl8X$*b?lPo?A|u#5Z6bwk^t8C z`a<@bn_A}a%h>}CoLyAs0NbDp@GA+^*uH1IiwN)4@4Du&j*%FRU^lSaZvjZF`8g_h zb;jOC-KO1PQS_!8e_0Q#PE@W;F@4Xz`u#t4j{Ms@f;#*^J3G6Zw*PngG5+&mo?FC! z+5-dplAYJr*H-C3Tsg@zg^62bncdOh0dic+;N1V!PvRR(^R5PBl;60e+I7O3Z z;WOogZJ+^P-wYVzRxp3{xs#~+^h9BoXNUq>@NvHP| z6~@i*Db)h(&S7yUKO*|cXbIz~sxaB-Hw}AoGE$zYvaa=yUC43R){S_dUz6{GX=b!( ze@pQzn69r`VG$_qe>Y#ME7naI@_Tc3aLJ$Cv6jD3?Xg~kW{_Q_T64O<{T(FUp7O6N<>7=362 z5UjB*1@>E!q(FnhyqlAK5Ijw@7`?}NP`6PuZhQNg*6xgCQI@bO?DA~0{IULB`$WYV zeKlh51~*zhTGP!=-?*+1RUY<>!uE^HK|o)h=7}jHMGN=ATJ6oHg`Rr7(yY82hV{)Q z{RtYdp0CFSO3Rqh6Rj+;0P8GtinnVyv*Cy$;quibRXF_GlY= z(gWNAMIxuH68EGwAnJpFezztQzeM#-7BiP*ptn^LpwG!L6(y}jZdQOb9XxlO%P|{# zcY1mputv9+Ice;$!PS&V)Dg;Z3rq7I8qM&sbH=K$~_=HW4rY6 zd6=ig{$E)h@DBU`+18ew|9fY5`!WCbgFH*e|JM1zf2hx6-%B*GN*#XV4%M}H2X6Yr z>fX2`b-i0kjaXfCU2iP$pXQ5bx&5b`m4x=*)QQtro(NaTU>K~MEtAAHgIVR5R+Kgq z>ei@W&8#p2DJ-n+Vl_0X=DAvT4msNba7TtobUL51Lg6kiabBfji^3l$}dX*NRkv!UC_35FMcd__fNqc)+dz`q^JeBm&CZB=7X~pSZy^w4R zwp>IkGE+O`!90Ij=(^TBE+_n=_TSvy`Og1XUk5!Bih3+Soeg&lc(K%N4#BtP-;>Zf6gScPtGP#V|N3WLlb?NtWj zf5HT&5h?;B<;39;w7jIzO4GQv8+MaOyOk zFvI*UOfTfwA>Y@DZ+`fod56-_?5eKL@HL}EEHLX}%FgqPc3UqEb~!7w1LeMGCusi3 z#}zl6J}mLhT$NVgxHJdI%j0D;hBlg=SLX>XXKym{7Qy)XAdbb&i`=>G`D$>t9fX0L z>5GXoyS+M^VQ3(OWcte7+Zi+nyWFkYL*02_R1yczk@Hze+PdL)G7?PxT(?ba7o zL%;GxsEAK|-wP-F@v@f{Jq`Jv;PX+03Nm_6|2)tMP2)wtmOT~v8t~ZL{yDW)OVQyebKc26!b)%UfEHvsGNj-+OOH38=A+dH% z<*|Bias80JYjxU>Jd?KDVKw}e3ja;7OWkVF>biw>)6=*dcLPQsZ$#Z1M_vM#Usbrj z8m>b+Ea3v;gl8Cf3f4hDib{+GURP4~@AQlE-)R7X;c&>DHcMYk`qWO2aGSU>?wc@u za3m>JJQ+#KFcRw*cZ1p5IQkd5<_*>kDgF-5ceha*nR{v!;w8FngIM4NB&aXQn?J@m zhR5f2Plx_rMf%6i_^-_!`~K(Mt;hV25A(?NUxCpAu_JLKejX1`0UZE%iX%u^7)2zK zsiN4w;Im}3w&B%7mpOL*)~HCGS0y&F_qp z9>PwFYGi72RB!3~yg(&NiGo-QNqM4?um1F3E?HV%aLT)Z3w^rop-XYC8`>GK>59*e zl_1clqr*(;ewUJ}Ioic3uFRHam8JwgJ6_$AHA_roHAMkV0se4Ue=S@2R*!hs4!wG5 z?rYZxnsq#2O>N29>T}RwPhVGdMZd_gX8vu*NdEX z-Y9eietVC-XI*`Zv_Y|&m2%9n>Y>ibrc4us#3Z6~uSK{$8jYXxpK+-OpF+zhpQC!3GF! z0oxOz+Ls4QHvbcd$+r1#Bxt>Z0O;KRYux|4x3@Wdoc|B;u=#(GB-s`CS9Okrk4)VA zopC>CjMC6M^_^LKFKbZxmXr*a2oLp28s1RimorrZWW_C7hA+_eFkzk-SzcgjywrX_ zw#8=OUa(ZF^xVXCqj-31AVdyMFG4Di_)Q|Ff4fBU1u71+dCrnZ|L117`E}s%(sgn) zG>`HK3fNU+K}Y%#&aA^3iY^s1O2YA7FUO8L+56BsJl?NKMyluab`FXNr8;BJqlLMe zr%nEgn3p?y0K4S>xat4f*?Nrse~?GF|3tj+ zVy$#B6CP3^;X$5D`ObEEax3C_p(UViR`DH2YQmYr6kecsc+R(0)CsGTI)QIf%$|rA z+=a6ZHVmEgbzFO|-B;PH%MLE45i(mQcfKB_>!0~)lmC3^-23^j?d`3`{a?@ab{^&b zLp)4Qz4(yBG;YNI@dVC3@uUkDEmYtl$<86WoJkq%c4V3s>LG4v2zV_kro#bhAFQdE zYsY7~Y~Y`aSdMjXtXRD&Vd{a&J%vR=G{Qn0sM$VxQKb>sea8O8^OI^i#UI!?V5b#6 zIAka008|uAt0cJwzg958Q%n^_p0f@K2R|YXos}mP2ko2^oTCU7nL0>F8#ZZcT#@5?H{J!`h>O5hG}ap6n&Yie#2Rz5b=~8R z9|Mrp?Rs8(2H93B>stad-1}NQsOozW7;BgYRs^V^#9gL=z^tUDtNx;Ke7$c(sahiP zImoN^n~6ZoL~V#uc_?g0I=tC17juS}V%AxQa1?f~p>K;Jmn;#t?Ot>Y1DaR&0fuIYZeUop7bBT&o}1rMn7PP=2==I4_x;31T77=B#@wKl`z0A$S0zJ3-+)jl%4(U9zQ^m%GE<*TS;xv9)QiG_#>4j>i$fg$hj#_u5+Gso5+@KK_7c#G1aZ#>< zy4BHES{F)*)7i$$TV*UTuq1ejqU%WB8K{0P33&hjN*AosO?}|<5?ybIfIB^J5lRHt$CPEot5{BcT2+SyMCSxr-`|D3mT< z;gVPcu~*IGr?NC(nyFtLxr210xPyxp1nWY}=0FxJjNq8Nz{(s&czVqcjyQ;ER?u$8 zMV8V9mWnYA+J?J(9HMlgSCXAbyO4*UI=m&5eem?s`k*@e>B9V?O=-;H)a@&MbT3SO zFN&*qA|Y5pyDgi7Im}gJMF2H_ql{0sdc+*EdKdBzdD<+l5kH5ygsZubY!9C(z|%(s zdNVCf$s{468=_p$y1>$jVS(1|ciH4Q3y zt22iKtVT@7Isg3@O>1$wtP#}72|L=RHo{n<0e&!%6nL&RXUo!!&6u4UihfaB4NQ!k z<}GeFHyYEzTM%7j=ct3~(N_b&*RA}T($k_sZw^iXOQQ-dP>KpjPz=63eg|+m&3Gee zN!d{|FolS$tOyP{;c3*|SYM|L5N3WBkvmE;W%&7>u?pUc6J2A=%8wYH{E zP@*7-~=GCI?T2&X&h%S!V)NKb9OVJoSy( zw|j+Caj>DbVC>HxV(8RXE*U=Oj5kY?WnP5aq0}vRkO#8qsEA`GieO?At%%GMuqG*8 zXRG91Gp^gzv8^2A)>R6p#?yQJA0!xxq=wqhyUUF0$rfISWKr{P*5=Bmdvd)?@tNgFI{{#dE4DgHOh}7zSSt zbB`@GwGgdbX7giCqoL&&bR~4x*VFFQeV$B!W(q*i%=5>y+3{udQ}?z090uP3Jjin@ zR>V7Ad$_Ehf`^Wv5485EKxvE$zR4gBsFBVOjW`&kKHw0^{1o)!d&^`ek zqrs!goaj-#nIcR8mGIS_idW0vD>-DQwY@Pj@cNSPdh_mjQtsNxa7|~Qk!;sNkU4xD z)ij`n=DX{``)>KqoH6%#{`=Xpy@veX-FdwK?Li(c|5+c4EXZ{2pJW#}>L>MuuWon` zcRkxMR^=7n;UyYfN~E^gHEbD@_5JUa*r2kXjl3*2sB%JtZTO#3;6hvjTZABG!8SWN|Md(7+?Oa%u(dp&e-y8 z#hJT;Rv#NZJ8bMs)FiP;z@cL&NZoR*N(Be+PQMQth4ogjp77l*?80KjJbNHAwcbvy zv5jKAY&KrIWm)2AB#$@01Yq4mC%aepTSO*-tJmz((oW!)+R7_x&rvAuwry;t_yEYO zNoo+M{2m$)1TVK)8%UI&WYJ}NE8Hw?w2YY_f-G$q(2>|qo`k?0tS~u33A{c*QI^J~ z!74gcLPsIcPPzn74YsO4r?Uc;vn+|5u;DIN*bxP@Mnhb?GoF| z{ik&1e%Js{F+p?RHNLu`!t%n?!eN>*poT#*r*Dp_Qkm@6%hM5)9}LsF?NC6!f?$@F ztWr>i2?p$%VU9>Y8Q{RQFN#Shok6z^2DWC`;cx}dKN#+f`r`i1W2sLYmW4^`2V4@IUNH4xN@$j8?FwF(ATQ7q6#%Bd zERLuAK3!b0T?-MB)*y4g4Q0of>(N)>don}C6)q9rWU!nEpS+WDX%E&x z`)XCfcIBwSYXDWBTlpeO)%U1s7p%5~Be%AM`-P1WA>-xs!d!iva7VE#`ej{Q3g)@}Q@kN>yX!STc?7#8OGdutD*6!Y8{^tjIo`7RW2rAN& zngM(SfU6lw!Fh#~7^fE?htVaxKxH_10#0YtG~rwRB`9YoNx(&tor5_f(F~^-8=yc5 zBzS?CjMCo2G#)$wDY{^RUUcH3DgJ6(jbqd@;Ki(SPL6a*>W|K<6;Jta32L2`UF) zh2>Q~_$oYymxHfDGN*rM1-=-3_5Ti@fFEFiv#JCyk6x66FfX!SP(%hHju9O3;zjn$ zAY7DD7NgN0K}v}E|Mtbf(d!rCJiZSc?el+gXV>=sZf=bq@Be$4=ZVPcFc|#(Cv`#E zX80@||GYLMBrhkU5uRU!<%}g03vo6&hw%j(iNZrxc8JqyR?H!f*8TsNbq=? za(ICzUwsAsQ{ukBWLBMrQ8piuqCz~dX$14U9FYQ{(Hxcp6(i1}e+&jso`Ba7%TVOO z;CCQy`gk#?w#e_`U6Fv_2fu^ia5x0~fASCZzQzK62kbuv^es2y<|w7a)@j@(;Orm! zo8jheI3AAASW#}mP}KiI*Wh;`c14fGnwS1nMg?ZKdr*{&0{*Z3pYa#_HTWGIfBW(X z{0?wRVVv#kK0o8+{SJ=b`M$h+eQ@$G@H;5w?Qv(pc)S&;@6Pz`-+B1k@8ImGpB*KC z&^8hJmGu{6H?m|gDp9dO1v~ft)A(nT;NcKfWEON)+q9~sS&G^!Nr%Pn;5^Id$T(wH z@wC=hfZs(HITkndbVAW`Cm2v@!GcZ=`p1x0>4rw&g$d?a zxEF4>)|2VLwc989GeT5ep5L-2UGdOi!TxA+fah=%$({2Q6wW?n#U=eBaw5i!KNO=LqH)(?+I%iu?mYSJt*ImsHnx!xV1VD zz`E7Il9ihSi^}jG6_@3*9%>ef+=WXs*#MIBz*xbl&8=r!o4u>bpeBQc)5GK5$c@<}HD1L(zvr#EdT%~);G+wkz zdC*b`UZ50}B@5u|QC?igz*S6$_+=422)F9>Z$_4*l(Dz6M5PCjUY;KsU8dF@lxP!- zPm9JmD#|P!iPFO;!TkU>6e-)DbJye+Um3>PRoaIGvV4{IDs72j<1!Bz#|@k6&5P6b z2S=}8zHt-V1rw&i{B2#>aR}ColB5@v{IZr%+skuKR9BTHcp<9zc)>qwEz9B_0@;zV!dH@? z?vj?FJi_6n+$!F&IKzB!Na9C4mL0@}6vzrTZ~amhNC-lM6=0Rt`4UZ&dBgKBHC- z<`pPUa0K;_+Bcav$|D8rtef6q!l9zf1b%SbsjZrYg>BYVzFWNY^v(41#I*Ze^d*tY zxzeX(w=boS=fnlSmwUvz@}NI|tveii6VY|0g2y^3NdXDExONc!HcJwmUcAd=NHj}B zPZZ)DHqKaWN6Eo(sb_Fdk*v-l$1aoSna}5lz!(w;s*=+F(+nl^VVp%JSZszn`nH+2 zyOd_dRhGrSj8y57xMZgs@oMXzXtP+w|CXd2sWbNP>F@9&TMdr({oiL>&&Kxt@6OiF zWB%_4c|>rB+6BgQCfU|llvO~70ZuQ1!QlS{ZJVWR^w6GTUJU()o6@cf+Arb8e9*NKUrRJPAuh>}NHE5Ts zu2h{-u;5*Nq`zeuZPpl%<(tNr(V`pE)YQ}GSN$(!tI4HZTBqA0Rr zZQTT8oyx8qhOc3Yr-&yQ*Xfh*%kW!7*7Q4(HbBsv#3nfhWr+%Yng5%NyqM?Ydaa4l ztXb#7+W_zRO(b@OkgoC90&dj{dxhKhb>(0^Je=VqE>ODWK_I8ZWM4!2)A(lrUJRyS zePDM4i9&l??YH-f#t6;@n+U6yc$jVz+5#2;Mx=tt5hRdhe{alq`PAhEBW;{M1_3ej z-*13RbX^bp8lZzR6CYR!Dlpoa9<+IqOgiC=G0(9CSmWaY0FOn5BMTC-0! zEPCvTp#EAHQ@*dDJ}55AJ4k7-h^BDwD4!{aTL@=ZT$KA|f=~`{%C|yvvB{y<#qE;I z32BDxhQZj7Fg|voqvEE4@lj0w1;jL)79JT*$5Ok1X0>lEooVd{70ndkpH(i?w%wah zevvM2FO$6@`9-?0fb~HsKG){SwJuUvfFFxc6jxbT%;BJjgk)E6$oW4AK z|KiOLX8&&h>+}0>-hTf&R2QR!?24JUXv+Vfl60Sm= zL2vxad9%%39Dnou(Tn$Q4qm@lNoy3e4oanWG8ss%3`4aSQG%B}`$@b#^&+)65hc8cW zHCWq0zkF?jUJ~F(^JhmVHEF4Pt?@Xz(a{)Vrdi**cxEFo&MLc z)2XfGG1KYjY_-y9-CG;!FVaO%8@;wYU&EXmh?i)sF^ii*{W~o)$Zc zgDV6se#@Ff@*3t2Jff1!zrpMO#8Y+uY#a5?+I0OQ!|#A+-2!;Wz25-YrH-b)bM5E< zAN}NRlxi5i@QgQ$50Ex-AFTJH-`nYZQ1`{rvAlW>^Pfa7{0#OL#ucuiUZjf+6X7aX zP_zf`w*TN?Oo`BP{!sI~vDo4z*bwfs&~h!TIEV>gX8nc(@&p8dZYj|g^RI3@n_oO9 zjfs;Nhi_k;)|L(bS{s-WJt-<5c3sB*#k3>mR!_|+I%PxG5;Y?m9)nDx*iN`;zq z^;9JurPK=RvosbyowY#co~=$zqk*Xu1D4(If4@b?H_Zo%=hpr17S#1v-DotrZlk)_ zl12P9wb06hJBu;9qiFYf$tZAJY}?;?hoz+XQAT$4bgsGmX_ABq2bl9hLr>_Go%mGqC#CG&(XnrbtCKQX_s)cI zAb%+f;xkd1dd-K^m`sGX=u3WeloyV_i6(}h#y@vd^k_UeiZ?(5prFvuakoSw#=jql zoMalJ7RLj>)np%xZ(%rCh>iE2X5QJXps@XI??u8LjEMTkjecTV$qivKO!mQ|lN^Fa<`TSyqx9 zlG!kZ1m3PEWNyS(E>iG~0xEYS7?FAIp$jcmOqPZV?d5 z+T0rHMn+|U7Z>|zY>3HrSyNrNEWM~aV#14^C+c*fm$PcJL`$u???vk`cjB1WI(grT zG0xzbz0paYArgGFv2R|CCS#Vsh!$Ri#;2C{e;Ui#G@l3bC(i7Bj@XxrjY(HidN_}sBIXblZdSexJ?#+@08G3V8 z$d40oBio5DY{4c(zryWyl$a3gEwjd{BtI!?dF-RY44yEE_^kIkH0#csU46X0Yzc>o zqG{|Eh*U-DvEabHEg0v$mWjrxJK0gUTrbYuAqjNQ*wPQD1Qk;lp_`94`Wz90#~7^g zT|K4w!3%47oFIbM7_JTAY}I;W9e1e>I!0vwC=oA1FKy=aaNd7v>*w(??EhI-;NR#{ zK6#&K@q1X2tc>8DmjfO5Ka98bHtqZWcDA=4?f-{(J{SA{J2mucu5`_F^*mGV)MLHfkrs-?J;Tt(2Z7`E2}_Pk82OQy1?BdtXg`dN03xMMf@6(0!N=p z6SuhkWHM88Rozf{TwWd?zk5e;f`4O4B#%)Mp_IT2)JHz|lgK^{`@3VGkX3D%SdF*| zqPz+wV0YX+iK;c~HJWF|^*y(%1fqiP~;Xzg2nbRFK?WBC8X zH5IGP{@dyQ+uPi;^Z#z|J?8&?nCElx|A`A{R_*Vz!Ty!}d!p_A{CN#VHT`!@UON1B zD?XnoaC(m2f0vc*r#E@Tc#jZ(4s+A%0~7SM`n-;C+0*Iula_0XUl`;#py|o#(}xo7 zqM}?oNMjka>?FybXvs|)KM>kc*tpthpWo)hR1Lq%sdshbil+S$pPQ!j(ZM6`&GI zV)6SfT_vy$gX;Q>1|5Vgj^>Y!)|=;jsWH<=D4SI#muwOU$@%1K=h8CG=4S!aj20)E z+fM;}yp!L%F>KtRz3y+f9ZLz9H&op{e${Kx3KVTtt0=g_*?Ov0_Vao)-T@R#!m_#b zY`dR^H9Oo-f@7dg07dhtURS4HZ>u&}sxnujQt|@NVR6kA*koVnininyx|sAGl=G+u z4V$3x97dNYjg1+0Us*0R!Z*O(Na?|!TjT)gritH#Sk2E-anD@hDM403(QVcK>8q3b zN*jsd(^n_*RlEPn8x6KhV#yY3!0W#{eRb06F*+`?1&(i(k^2r>nIuXl(?9kd>$ld5 zrQ+H?|8wZ5?NNe^BjV|^&;!tPTmc{>_owqKF zf5c>Fr=DAS@uB4xeT7Rx)j0G0@^o~)%CoctGS6erI$g^gM-`RnYJao@aV63R-7@%O zi}pukp7&dUvL15=EBsZ~CBJ0nzBS2rS#~MbBmbS9TWgUatVlN0RDbI}FP(79tW7kk z?snS652)Mq*D9TO%DVC(jjf!(tG&fupz+_5EaQW$`S9nKEVq{tx06Y2lEqnPQ?O2^ zi0xHlY36M%&%DiBGjG#i-ck*_gYk#nFuRaR&l?e2n!rG=q zbfoa^Xhr?0PI-pNGFT5!5G<9#v-vToT{9lyBE727S;c+Z`Wi~csn zGPcALHpKF_!?HF*Ut8f0N5Z{^wHTRx!&$Xl)P(K${> z<&0|SVZ?OxEW1j<@GaQceLmUQeGUXe|D86!&~f)~`*LN^@o8s6<>`|=i%(Eg6_{Kf zW+_1*{40y*(Q1cr*Z>#8B+0Ih3%tMyx97Pk=}RV|BJQKIhxR+>~D3s_lf>Gh}}r*-8gfm@5dL)q5*UGFJ02G+YR z%_1id*ShQh_kZpEe{RJS?ge2NGu=H3pyU3BoxM$a|9@}q*<=3K2YEiD{eSaT%ozpt(0fZhYA%=nQ05 z#H`~2L2*&xNj06~58fNQyU=a`R}pHUeZN3Ofn&5kY^SY3)Elj``+|lQ5Y@a$!NoP> zGQz)##hNdoo{`0BN)c^F1;!Nsl&gIWR}HZ<-_|YW^9jicctJmvtGE)zf2LN$v*c|r zx0>QQz6l71j$1|8w^h!cQp4$(KNd-ji#$&vn4tgt=48df#-Quu@Zi;pAw}XR4SyJl zI>U&*8v3LW8K1VT>m}9^VzKbvUuf-Jq_ev zYGs$jJ(qDhgB)u%gMai-nZW!m#+*Muk`@En{aCFwocq2$24ey?4Z|l#5uRdxhPm~U zw?f{I@Ju%g1k7iDF>~NEymq^HTn&A*(Qzqv;ZMfzU-dL*1Ura`$W>Nceg>0*J*_h% z#ffunoKl0?eKX{&Zen94B%spQPO#swoqy-N)4|HbmVRmjCD@VmMnTcQsIidOk>LLk9W$0h@G z(5=E|C8wmHtVzIxF4xRLnt-}a;T%VLu9OA=XRQSIvXrQBgEJ3NmQ#qof1JoGn#gsu z2L-syY||r4+Gn`v&2p`-VxNoP)3tH`Fe~hw#2s^3+h2G|(7c|%3l(#Irod`m-igT^ z7|pC#Y;s5MmCtUk2)?@Q;ZEB?^jL@Ttemw>lfmk2D(JHNKcpCI zIc--TuVd38U>AxL$X;lJDERnEMY1WE|Ii|NQJ?EtMjorfa&6lm>WEf5FFfWMW3s?= z$1M(JFD_iCjaU_?A+$qo60uWtG^&fJL9^l7NNn6x_^%}*vnuC`7)c7~_ z3ePd|sgC->fBv`^J{%9r^xFij#bN;&rphZU6U#PdHTK0FydNF7#iyPWsE@s){7ecw z(PB8*^uG9S30+vbjlK^3{Y@{3ltG5 z%DY=6p#8-hm#%DJ%_L!}LmwTOj}FX72j=}cFpaZ5yzkpJ$HGxTm%KwZM6gVgTi8q<(quRj%b%Ln%PcgVQ^5?2FSDwM zP#G5J*NO=gDR^t^M8BWmlQAawC}uebbT3L=^cvmMsqy@hlkDcfBGn8ozD&5({0A zg9GkCe4G`;49mKMhrm0QdDl>uRt0k34J_^jmJRn@FsyFIXC1kU6G{eY@)9I_aI*ou z;UGhP^G+=bwP%9y%m0mASw#|I;3`O8p`wxf!(WnJjQ@Q6e5_C0UM=SUd~FwBo2{=) z^$;&w>xrtje+yz;y6O4YxN{iJ_0OIYVLgas%UwU2?1CnnN)Lsf`QcAZPMNd0k4u}$ zPgE4m#Xx~bRiqvZAAEMw`c|GLudLQ6p<_UL4y^L}GK-DEC45Jo8R`6sV!IZ z_XS@MYafz&3N3T?&9B0ai;QGZmfTT`c@>z1-#4wETh~Y^6A+vp9$PVwd4eNM=zGtR zQJ*-<1=M{Ga~W*kot_>qDf|>RR(E-HC(9`W1Kr7z_}(4eo|&|+8yo-f`AX_Xak*-7 zDLdaM&E%lDyDU3M(~PiNBvxRMd!?C%#R7VJ*`~p4ghkwgaO;C^mC~&*zLkkL17V|+ zZURz3G{u*pxS%||tjq2FTXcxT=8i<}@E_5u_v~F-Q=nOj1$@2uB*hDPNClM%9zjSYY zboS+e)}ra0geQ4{Q!-r(G}^u>L7EXT&8jpGHZ&%9c3fI@-GV2tXrNc;+zl#TrVE(h oSTNh{0`NuIMa@e0a~_|^=ka-b`ab_(00030|FX^SE&y@@000UWfB*mh literal 0 HcmV?d00001 diff --git a/incubator/navidrome/6.3.0/ix_values.yaml b/incubator/navidrome/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..46ab6231661 --- /dev/null +++ b/incubator/navidrome/6.3.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: deluan/navidrome + pullPolicy: IfNotPresent + tag: 0.44.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/navidrome/6.3.0/questions.yaml b/incubator/navidrome/6.3.0/questions.yaml new file mode 100644 index 00000000000..d36cae76d07 --- /dev/null +++ b/incubator/navidrome/6.3.0/questions.yaml @@ -0,0 +1,668 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 4533 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 4533 + editable: true + 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 + default: 36027 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/navidrome/6.3.0/templates/common.yaml b/incubator/navidrome/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/navidrome/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/navidrome/6.3.0/test_values.yaml b/incubator/navidrome/6.3.0/test_values.yaml new file mode 100644 index 00000000000..08f4e094838 --- /dev/null +++ b/incubator/navidrome/6.3.0/test_values.yaml @@ -0,0 +1,28 @@ +# Default values for Navidrome. + +image: + repository: deluan/navidrome + pullPolicy: IfNotPresent + tag: 0.44.0 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 4533 + +env: + ND_SCANINTERVAL: "15m" + ND_LOGLEVEL: "info" + ND_SESSIONTIMEOUT: "24h" + ND_ENABLETRANSCODINGCONFIG: "true" + ND_MUSICFOLDER: "/music" + +persistence: + data: + enabled: true + mountPath: "/data" + type: emptyDir diff --git a/incubator/navidrome/6.3.0/values.yaml b/incubator/navidrome/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/node-red/6.3.0/CONFIG.md b/incubator/node-red/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/node-red/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/node-red/6.3.0/Chart.lock b/incubator/node-red/6.3.0/Chart.lock new file mode 100644 index 00000000000..ad2e94850d3 --- /dev/null +++ b/incubator/node-red/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:48:48.331800018Z" diff --git a/incubator/node-red/6.3.0/Chart.yaml b/incubator/node-red/6.3.0/Chart.yaml new file mode 100644 index 00000000000..40cbe80459d --- /dev/null +++ b/incubator/node-red/6.3.0/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Node-RED is low-code programming for event-driven applications +home: https://github.com/truecharts/apps/tree/master/charts/incubator/node-red +icon: https://nodered.org/about/resources/media/node-red-icon-2.png +keywords: +- node-red +- nodered +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: node-red +sources: +- https://github.com/node-red/node-red-docker +type: application +version: 6.3.0 diff --git a/incubator/node-red/6.3.0/README.md b/incubator/node-red/6.3.0/README.md new file mode 100644 index 00000000000..485e806b53a --- /dev/null +++ b/incubator/node-red/6.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Node-RED is low-code programming for event-driven applications + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `node-red` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `node-red` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/node-red/6.3.0/app-readme.md b/incubator/node-red/6.3.0/app-readme.md new file mode 100644 index 00000000000..6ecbe710e71 --- /dev/null +++ b/incubator/node-red/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Node-RED is low-code programming for event-driven applications +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Node-RED is low-code programming for event-driven applications diff --git a/incubator/node-red/6.3.0/charts/common-6.5.0.tgz b/incubator/node-red/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/node-red/6.3.0/ix_values.yaml b/incubator/node-red/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..1a08797f274 --- /dev/null +++ b/incubator/node-red/6.3.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: nodered/node-red + pullPolicy: IfNotPresent + tag: 1.3.5 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/node-red/6.3.0/questions.yaml b/incubator/node-red/6.3.0/questions.yaml new file mode 100644 index 00000000000..4a00e12f1c0 --- /dev/null +++ b/incubator/node-red/6.3.0/questions.yaml @@ -0,0 +1,668 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 1880 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 1880 + editable: true + 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 + default: 36028 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/node-red/6.3.0/templates/common.yaml b/incubator/node-red/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/node-red/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/node-red/6.3.0/test_values.yaml b/incubator/node-red/6.3.0/test_values.yaml new file mode 100644 index 00000000000..a6ddda7114e --- /dev/null +++ b/incubator/node-red/6.3.0/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for node-red. + +image: + repository: nodered/node-red + pullPolicy: IfNotPresent + tag: 1.3.5 + +strategy: + type: Recreate + +# See more environment varaibles in the node-red documentation +# https://nodered.org/docs/getting-started/docker +env: {} + # TZ: + # NODE_OPTIONS: + # NODE_RED_ENABLE_PROJECTS: + # NODE_RED_ENABLE_SAFE_MODE: + # FLOWS: + +service: + main: + ports: + main: + port: 1880 + +persistence: + data: + enabled: true + mountPath: "/data" + type: emptyDir diff --git a/incubator/node-red/6.3.0/values.yaml b/incubator/node-red/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/nullserv/1.1.0/CONFIG.md b/incubator/nullserv/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/nullserv/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/nullserv/1.1.0/Chart.lock b/incubator/nullserv/1.1.0/Chart.lock new file mode 100644 index 00000000000..d0b981e587a --- /dev/null +++ b/incubator/nullserv/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:48:50.110177943Z" diff --git a/incubator/nullserv/1.1.0/Chart.yaml b/incubator/nullserv/1.1.0/Chart.yaml new file mode 100644 index 00000000000..8f83889583a --- /dev/null +++ b/incubator/nullserv/1.1.0/Chart.yaml @@ -0,0 +1,20 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: A simple null file http and https server +home: https://github.com/truechartsapps/tree/master/charts/incubator/nullserv +icon: https://miro.medium.com/max/800/1*UL9RWkTUtJlyHW7kGm20hQ.png +keywords: +- nullserv +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: nullserv +sources: +- https://github.com/bmrzycki/nullserv +version: 1.1.0 diff --git a/incubator/nullserv/1.1.0/README.md b/incubator/nullserv/1.1.0/README.md new file mode 100644 index 00000000000..7193be42493 --- /dev/null +++ b/incubator/nullserv/1.1.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +A simple null file http and https server + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `nullserv` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `nullserv` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/nullserv/1.1.0/app-readme.md b/incubator/nullserv/1.1.0/app-readme.md new file mode 100644 index 00000000000..0cf192ac335 --- /dev/null +++ b/incubator/nullserv/1.1.0/app-readme.md @@ -0,0 +1 @@ +A simple null file http and https server diff --git a/incubator/nullserv/1.1.0/charts/common-6.5.0.tgz b/incubator/nullserv/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/nullserv/1.1.0/ix_values.yaml b/incubator/nullserv/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..e1fd84e3472 --- /dev/null +++ b/incubator/nullserv/1.1.0/ix_values.yaml @@ -0,0 +1,26 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/nullserv + pullPolicy: IfNotPresent + tag: v1.3.0 + +# -- Configures the probes for the main Pod. +# @default -- See values.yaml +probes: + readiness: + enabled: true + custom: true + spec: + httpGet: + path: /welcome.txt + port: main + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/nullserv/1.1.0/questions.yaml b/incubator/nullserv/1.1.0/questions.yaml new file mode 100644 index 00000000000..8af615cf2d7 --- /dev/null +++ b/incubator/nullserv/1.1.0/questions.yaml @@ -0,0 +1,771 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + 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 + default: 36069 + required: true + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: https + label: "https Service" + description: "The https service" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: https + label: "https Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 443 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 443 + editable: true + 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 + default: 36070 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/nullserv/1.1.0/templates/common.yaml b/incubator/nullserv/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/nullserv/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/nullserv/1.1.0/test_values.yaml b/incubator/nullserv/1.1.0/test_values.yaml new file mode 100644 index 00000000000..23b208d565a --- /dev/null +++ b/incubator/nullserv/1.1.0/test_values.yaml @@ -0,0 +1,49 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +controller: + # -- Number of pods to load balance between + replicas: 2 + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/nullserv + # -- image tag + tag: v1.3.0 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See more environment variables in the [nullserv documentation](https://github.com/bmrzycki/nullserv/blob/master/README.md). +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + primary: true + type: NodePort + ports: + main: + port: 80 + https: + enabled: true + port: 443 + + +# -- Configures the probes for the main Pod. +# @default -- See values.yaml +probes: + readiness: + enabled: true + custom: true + spec: + httpGet: + path: /welcome.txt + port: main diff --git a/incubator/nullserv/1.1.0/values.yaml b/incubator/nullserv/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/nzbget/6.3.0/CONFIG.md b/incubator/nzbget/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/nzbget/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/nzbget/6.3.0/Chart.lock b/incubator/nzbget/6.3.0/Chart.lock new file mode 100644 index 00000000000..fd180e07ddb --- /dev/null +++ b/incubator/nzbget/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:48:51.826452909Z" diff --git a/incubator/nzbget/6.3.0/Chart.yaml b/incubator/nzbget/6.3.0/Chart.yaml new file mode 100644 index 00000000000..35aaa20f8db --- /dev/null +++ b/incubator/nzbget/6.3.0/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: NZBGet is a Usenet downloader client +home: https://github.com/truecharts/apps/tree/master/charts/incubator/nzbget +icon: https://avatars1.githubusercontent.com/u/3368377?s=400&v=4 +keywords: +- nzbget +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: nzbget +sources: +- https://nzbget.net/ +type: application +version: 6.3.0 diff --git a/incubator/nzbget/6.3.0/README.md b/incubator/nzbget/6.3.0/README.md new file mode 100644 index 00000000000..81cee446ded --- /dev/null +++ b/incubator/nzbget/6.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +NZBGet is a Usenet downloader client + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `nzbget` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `nzbget` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/nzbget/6.3.0/app-readme.md b/incubator/nzbget/6.3.0/app-readme.md new file mode 100644 index 00000000000..bde861cf216 --- /dev/null +++ b/incubator/nzbget/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +NZBGet is a Usenet downloader client +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +NZBGet is a Usenet downloader client diff --git a/incubator/nzbget/6.3.0/charts/common-6.5.0.tgz b/incubator/nzbget/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/nzbget/6.3.0/ix_values.yaml b/incubator/nzbget/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..ef8e5a4f233 --- /dev/null +++ b/incubator/nzbget/6.3.0/ix_values.yaml @@ -0,0 +1,25 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/nzbget + pullPolicy: IfNotPresent + tag: v21.1 + +probes: + liveness: + enabled: false + + readiness: + enabled: false + + startup: + enabled: false + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/nzbget/6.3.0/questions.yaml b/incubator/nzbget/6.3.0/questions.yaml new file mode 100644 index 00000000000..ff52fe6cbfe --- /dev/null +++ b/incubator/nzbget/6.3.0/questions.yaml @@ -0,0 +1,668 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 6789 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 6789 + editable: true + 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 + default: 36021 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/nzbget/6.3.0/templates/common.yaml b/incubator/nzbget/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/nzbget/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/nzbget/6.3.0/test_values.yaml b/incubator/nzbget/6.3.0/test_values.yaml new file mode 100644 index 00000000000..355d869f8c7 --- /dev/null +++ b/incubator/nzbget/6.3.0/test_values.yaml @@ -0,0 +1,31 @@ +# Default values for nzbget. + +image: + repository: ghcr.io/k8s-at-home/nzbget + pullPolicy: IfNotPresent + tag: v21.1 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 6789 + +probes: + liveness: + enabled: false + + readiness: + enabled: false + + startup: + enabled: false + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/nzbget/6.3.0/values.yaml b/incubator/nzbget/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/octoprint/1.1.0/CONFIG.md b/incubator/octoprint/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/octoprint/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/octoprint/1.1.0/Chart.lock b/incubator/octoprint/1.1.0/Chart.lock new file mode 100644 index 00000000000..1e9b7eb7b69 --- /dev/null +++ b/incubator/octoprint/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:48:53.548940115Z" diff --git a/incubator/octoprint/1.1.0/Chart.yaml b/incubator/octoprint/1.1.0/Chart.yaml new file mode 100644 index 00000000000..3912aa9bf2a --- /dev/null +++ b/incubator/octoprint/1.1.0/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: OctoPrint is the snappy web interface for your 3D printer +home: https://github.com/truechartsapps/tree/master/charts/incubator/octoprint +icon: https://avatars3.githubusercontent.com/u/5982294?s=400&v=4 +keywords: +- octoprint +- 3d +- printer +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: octoprint +sources: +- https://github.com/OctoPrint/OctoPrint +- https://hub.docker.com/r/octoprint/octoprint +version: 1.1.0 diff --git a/incubator/octoprint/1.1.0/README.md b/incubator/octoprint/1.1.0/README.md new file mode 100644 index 00000000000..b9566022e22 --- /dev/null +++ b/incubator/octoprint/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +OctoPrint is the snappy web interface for your 3D printer + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `octoprint` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `octoprint` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/octoprint/1.1.0/app-readme.md b/incubator/octoprint/1.1.0/app-readme.md new file mode 100644 index 00000000000..76c54de17dc --- /dev/null +++ b/incubator/octoprint/1.1.0/app-readme.md @@ -0,0 +1 @@ +OctoPrint is the snappy web interface for your 3D printer diff --git a/incubator/octoprint/1.1.0/charts/common-6.5.0.tgz b/incubator/octoprint/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/octoprint/1.1.0/ix_values.yaml b/incubator/octoprint/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..cbc8146b9d0 --- /dev/null +++ b/incubator/octoprint/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: octoprint/octoprint + pullPolicy: IfNotPresent + tag: 1.6.1 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/octoprint/1.1.0/questions.yaml b/incubator/octoprint/1.1.0/questions.yaml new file mode 100644 index 00000000000..02d962a4f4f --- /dev/null +++ b/incubator/octoprint/1.1.0/questions.yaml @@ -0,0 +1,725 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: ENABLE_MJPG_STREAMER + label: "ENABLE_MJPG_STREAMER" + description: "Enable this to ensure camera streaming is enabled you add a video device" + schema: + type: string + default: "false" + - variable: MJPG_STREAMER_INPUT + label: "MJPG_STREAMER_INPUT" + description: "MJPG Streamer input parameters" + schema: + type: string + default: "" + - variable: CAMERA_DEV + label: "CAMERA_DEV" + description: "MJPG Streamer camera device" + schema: + type: string + default: "" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + 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 + default: 36071 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/octoprint" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: true + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + 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" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/octoprint/1.1.0/templates/common.yaml b/incubator/octoprint/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/octoprint/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/octoprint/1.1.0/test_values.yaml b/incubator/octoprint/1.1.0/test_values.yaml new file mode 100644 index 00000000000..7a64a63ac05 --- /dev/null +++ b/incubator/octoprint/1.1.0/test_values.yaml @@ -0,0 +1,53 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: octoprint/octoprint + # -- image tag + tag: 1.6.1 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Enable MJPG Streamer + # Enable this to ensure camera streaming is enabled you add a video device. + ENABLE_MJPG_STREAMER: "true" + # -- MJPG Streamer input parameters + MJPG_STREAMER_INPUT: # "-y -n -r 640x480" + # -- MJPG Streamer camera device + CAMERA_DEV: # /dev/video0 + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 80 + + +securityContext: + # -- (bool) Privileged securityContext may be required if USB devics are accessed directly through the host machine + privileged: true + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + data: + enabled: false + mountPath: /octoprint + # -- Configure a hostPathMount to mount a USB device in the container. + # @default -- See values.yaml + printer: + enabled: false + type: hostPath + hostPath: /dev/ttyACM0 diff --git a/incubator/octoprint/1.1.0/values.yaml b/incubator/octoprint/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/omada-controller/1.1.0/CONFIG.md b/incubator/omada-controller/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/omada-controller/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/omada-controller/1.1.0/Chart.lock b/incubator/omada-controller/1.1.0/Chart.lock new file mode 100644 index 00000000000..1812dd5ce0e --- /dev/null +++ b/incubator/omada-controller/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:48:55.284225619Z" diff --git a/incubator/omada-controller/1.1.0/Chart.yaml b/incubator/omada-controller/1.1.0/Chart.yaml new file mode 100644 index 00000000000..3d43fad699f --- /dev/null +++ b/incubator/omada-controller/1.1.0/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Omada enables the network administrators to monitor and manage all the + Omada products in the network with a centralized management platform. +home: https://github.com/truechartsapps/tree/master/charts/incubator/omada-controller +icon: https://www.tp-link.com/assets/images/icon/logo-white.svg +keywords: +- omada-controller +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: omada-controller +sources: +- https://github.com/mbentley/docker-omada-controller +- https://github.com/truechartsapps/tree/master/charts/omada-controller +version: 1.1.0 diff --git a/incubator/omada-controller/1.1.0/README.md b/incubator/omada-controller/1.1.0/README.md new file mode 100644 index 00000000000..63ae5b683af --- /dev/null +++ b/incubator/omada-controller/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Omada enables the network administrators to monitor and manage all the Omada products in the network with a centralized management platform. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `omada-controller` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `omada-controller` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/omada-controller/1.1.0/app-readme.md b/incubator/omada-controller/1.1.0/app-readme.md new file mode 100644 index 00000000000..bb0e75605e6 --- /dev/null +++ b/incubator/omada-controller/1.1.0/app-readme.md @@ -0,0 +1 @@ +Omada enables the network administrators to monitor and manage all the diff --git a/incubator/omada-controller/1.1.0/charts/common-6.5.0.tgz b/incubator/omada-controller/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 zcmV)mK%T!JiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJciXnII12B7fBF>IOnPefXHl}_msHR3evY@DwmCaVy<(@m z=X7_)FbP?xDUu~YIj)=g+3&(D0T3W5TXxdcTwSR}0yBdFFf$ko22nPjXX)s01`85i z!+G+z)j#9$c)Yv4&Hg_gkL~}D_nvM2ZF76PHy&^8Y;W)WZM?a)y}R=_Fun&`8c$Uc zSp02#XIysU{vZ#`@eimdah6WNVru~NT>VV56b)ijMg`6Zd-F||M)WU`;PV0&*I=3z z;Iya^8$RV=md()w%m~TL$!K(e$*ejLqijARMTH_(W(4!R9FYQ{(Hxcp6(jMU55xhE zC?W|0E+BzL8FElniHayo2}%irT8;L0x5wkXot?oYy1vSaxSR}zphh+rN=k?9#b5{o zn#<}OsfK>}kNwSXb2l6h$6pTS5T^v<6cr2@nnRpS08Xdbf7O7)thg8ekV4vCjR62u zMKS?aK?UXV7nH>RRYtR{A}Adu==>a~7h#$xSl<^ZhUMnhUqAD};>AQO$aRh;vWbI* zY|n1E6OIS{`d`fd1xzYb-je`mpa0wAotw+T<&PX8`0KL`(+^BBtB`3&u?@GZ-`9qNqTSAg~srDXbE*4qzICw^@?l^x|C}Ln1nY!a5PHIYCZf z-={|?K?F5H)ZjU=BgP5}2H=Y{E9h9kCH*Gpr(>zmLC_ak^J^YknC9>Us8YCqIH6;W z)zW@11E#Es3l4z&WmVO>)~cJsg2)L2>R)PlyyZPgffQ(gsq6H!g`&5 z_>RASMPELc*NdY@NG0`e@u5v@*t9kU;k z!GM*Lb6pI%`5dP4TDh)7jObc68kznbh(Z(a)6WhNu(&8&D$~!b=Ado9=2<+*v-rT8 zlLOC`6vbcF(~g%sh+_c3cUggdqXZ=2IE%qSMY1x22`UCpz<)^!hePn6F)o<^`^Nx^ zGB{=IRDx{^lM*pD7Z-?3D5L8!CPeQXr*GAy22a?$p2H93yYW~-IXr&%j^G6U#u|Ez ziU_5IjsjZnd0p-`nrFpzYtcc8iUp3)K@??GN@~HMqXhf3zPgm=38bVVur{{t>FnriNsoDurx%IR$A( zK*@$mEQkWQWNKyuKn@6(-~y$H%9j{aB~C94od^h;=LsZ8*>pi5M#;O93n+>-&+>|v zVhoB3M8Fj$GX_bB!t1O8CFAFHICuj7i2%HUOvFJZwo9Z7O-eXQqvATJWSw8j8L`2e z!dOl_1Wl=!q(Xs8wI__P>GgRQUvmOr6rr+|eAdiDFvST92b@@?agGm8PJaCU?a>6x zuZKA-OKOFS=DvnF1t?wMB1@TQT)+a;@m+@CR4_@7c-q2~>y*F`Qb|t+Pr$)CIQ`!V zcz1e88L-Z=9ZkTOH#Z=BixLD&6uzNM|M>CC!4q((iVU6r_Mmj}O_9yjZvetD9H4Z; zTJVG#27)Hue8EvV1g1qcSDjgI0Q3RQbIP+P;77(OP;d(5_@ZXQJlo)w4=+sdbC}=? zCkZ%5ywDKFbDUB-PV+=D^Yq2*<5vf#FW&!f@ao-*2?!j`s!i~u^~9D zN|Mb%Uf`_2FS8Y6qnySNc?doE;_= zUEzO&i;~bO^Bu2yHqd}5na>a%aiPWJPoP&10G=ASamgz(@fLV6xoS~a9u5?tjC*=@ zX{|6R1QT%d=0x(P+z{ibDx}m;Y<9TqXgai$MAe#Rz4{lq6%*eFB0_sa{?%Q92UF1tU)=DoR{7b<1Kl zpoLZ}sTlt0rvgoX{&}rMI7C?*p`4T>S#Owf2IKUCeoU#*(Bwrq6a`05xPHOu#gNR9 ze7!#4YT$(be1+4?QY`MoR1|FItvW$b#b)GTmJ;-VC@b)on`iR7_^jD!J>kr$=BiD} zvM0O*Pf>IoCCCRz70``LJ|U?V26TaZC`*@ss_PK^4^_TGdjP6pQ4DY@H8eFeVL7C$ z9<#P?`)Vj)9Ah!Eqg!LDfjIFU7uh*dQ-zHH{-MXv;(ABc<=R9Ms=ZI}0;Q-dhXsN$ zW`C6g7Np9DIYnQN)-9`>D!g-)WLE=TKpCyC1SpU@=%!`dPymoLXe+uGwaX$gzz(=I zV)`wNbvU;R&*-N!Dz~Uiy~5>;z7l`7!J3O3gi^~yoOF6rW!dvIvu$aRjW zZJsiNk&AStWokmrHV3DN#{qlKy&?-x05PoFf`Zs8C79t8~pz#^pDfS<1^-1I(v6?e5P0D+Kzq_dM}4pDS%XY z)>{i{3@#9TroE=x9uJavOiE@kI#y#qskK)bjQK47cV5>@Z2n*|u3)RI{4T{kP{wkhXVxFpmNoZ~o7&=o9DDQ6xjAe!P!{mbR^ zl0hnSNXIYVLxmN|sLG3Al3WYOhitF21TfV!a=j&~!=zIK<~gF)CxuUc3)D3(wS!pK z$+}`Lut$^0@&`8aLdmnc9h1$ zsua3nia((EbzN1e)*+oYI31qD5=R=VwfXa>;JOBmJ8SR3e3O#Vl!S6*vmLYvNH1{u z!BdnZli5Vk zg?UXB1yI{4^iyq>)|4GXG7CXJl7L$LkBoQR_rOBAVrtV+wXcQhf`9CT&2V#jIBq~X zWowgT7N%%?)E0{kOj5uai$pG|3&eJKBUBFsipGM%H%WU#W@b}A$eK}Wss7VfC-!g& z!9O!H6Fb-}P=JaDKC);Jqk5a0o=eAuaSHP7)@TnN5>ktH|&|7`NQiqHx}*=r;xbM`nMMj87!))XkD= zj-)kZZkS80tA~Z0jsBC8^FEutCo}Y(SO3S^hA1jRHE78%hhK{6UFw+5D`IvBfB%|N z#1S&$c;FFu0>q}X)*)goiKjZ)I;@dZM={$X8PY`rhf05bpC;E0Xa17Q1dgwLm2g6` z0$w0+s6v*+(tL_93;=9ZR3a7!c{V)T0P%GS=QyG&gGUZiX5vzEEOu05;&J%D-<+In z7=C#L0u>GeU$m?%`4TDHh&4Q4 z*K6`j*cD7!^DxzU79%xHYX8u=*isW+#QQEr#oqAyQF5;h zR85$d6t5+8MOebly)CXk~0qK66flb9ff_UEF`H?_2dpoq;KWgie+V5xFiHvcY6g1XHOcYhN<{jnBe40|!KFL?6^6O`IG7PvnT> z7LEvW&ZYp?cE()9GQs@q++KEhoyiJLpz9=eZ8$zi0ytm!b;tpQu+rT4!A0 zZf}jXPdsLNem#`Y+x00Nk5Qx@GUek#JDYc=ISX(a;{}c@n9!cObwFcErtZLXl`8}sh7GX5g4XKz`ob&zlKPKca=9_YOj@bMrP=Q|GfmZ zEr!iDeWMwI`B1zYG9RyC^&4uQaifiLIm*(K6cDFm*)Vf{mI0?1L$u&-fDtT9e37#F zV5&PuPw2lKS5~YK=&uv;ON+MV!?*-+%JwF&HJU(CCAWxx??alzHiT(Bgek#8`DT3} z|8j(c6Gj%v60uKQu7EZMlhIMb9jy;EB$^}VUCFiLL4sk4)FC_}08mN_%-@a>iALPt zI0SQ;=TyeMJeH1XUPzuQS;;8_7{^0Fz>s8&*N8+zM#GR!XZGh1a>_^R1Faou9^!lg zg3YhD!p+_1;byow9`n(zDCH+Gh9HnG$0(Zz^4-Me?*kgg_*+MFmKHn_I{e zu(|d8HD>Q*&-SbFsZ%{TACdnXPC*&9fovpsBAxM`iI~p;fI6@l*XuFi~frKmGBjY97*6DQcFvooaZhW zndl)Ld^P&`ad2}pHalc0nh!wWzNKC&%hf%Kmh<|n4L2DL)V7m*1BPeJ&DM4_LS4}}@Y zVY#81H3VQ@lq!Is6OCrSiX{)wQA`2))m4^7j|X*nfk4)BlcpC8!S5i&X-tLmxJJf2 zx19)O9+NJ7b-BBs(`@+wv|}`iw&FCvOd(FdT3+CkOhND_BLIrzCN?o^UzF>CkJNR& z(`08id%i(6GrUn5&T{CW+FeHsv)<*!elsoatYD3Lwl7={a|e1_!UfH0y|=w#o)rWp zUV=Qe`05B1b6l3x=Jk=_WitA}Lpook1QkLA$W(9QV|E=Az zrT=%H?LB+c{}1sn{m*QE6|+Ny0%9u$s{YQC3Ne|ctOAvF31sKLpooajDOl7QUFd2+ z#RKa$gkSHQ>R>n=4)oN7ENkFmb8v~%cv4d^m?HvXNZ>?eTX9TUzUY(*T9h&spniNsFYwo^@uu;si74K>3TTHVC*EbjYvJfPou+6 zr$(hb=;Y2Wb#vpw=PJtqOQ#L*i8&fPB(aOrkSb>diibvQzHZbbL`%MMbB+AY>Ho5L%9#J4RZB!aV|o&QIcn| zqZ2iFpITo2*&c`fSN8p?41f;(|7?42$JYP5}eRHFc)nhmsDNrrvhu{JFwXLOVSphpV(D4KU z$FL!xjYb*ZK=3{5Uk)z-YcY-p2vql(_|`4hKCgIP9hjI!cTzF>VFNrRiPi-+3rSPN z<0%N$IWhgCXqV0n3UUodL+p#i@QXzN0+R4X#pnYt`P>*gj-GT>FmX0eGOTS7J1Mg4 zo<P1o3L{N zaPie8r|Rifi=L-KcDz(limosyV{RdyhReyPx@#Il@HrkD5cU1B#>Vi|0+n=8G}#A1 z(1-RWPK$ab^k%U97rL%129kyAb?anjSgjKT?OXDyvnApnu&l4wt6^TE>(bGL-@z0Y zC2;^Z0SvXV_WADCt^R4+fB7PM;P{_sd-nZ5+gqEPkM`d~Jk0;6+keOPX(JKg&4QTQ z?Log+kA=l((=A8E5tXGlX^knDu8 z#NF#)y+?eQDBLwvyN9jcIyzdNjK}0p8VOUh)soW?Gb1o3p?! zM-SJ)>N*NhD9s+N0ySL_$`7;rn$=y`)rY_H2YZCdhSzaMBUg%MTYH*8h9stw;U;5RcgZ zW0xTmDx?RHOuL}TuifQR&#_;pw(2vPj9sj>G-g%t=5ArnZf0-WlmiE4iC~k8At3=T~{l7AQ zmS&B~SC&mH2d~G!B0g(&l!W8*|LW;K3>(V2g^n4#Z9ZZHZGRuJY)oGtvDvy#AMx#6 z#Hxc$bbU>>y85!7zk%lYv$J#a!P+$_+q``za!7VL`&!1L?dqT!x=eH!Tv zlx?m)Sx~kW>3G%)&7ir@aK+%5|Mls&6|Dg}=KuDy ztw#LE-p*tE$Adh#i2v2DZ(nHuuyO3NGXhwn;!hX?+y;1s0_ii2;x&R#?-I)UeR_lv zbdRCD`dsJ{%UdyYCrd>1_6yJL3i%ClSP*^{M_a(ID&_6LcAz&87)dL%^qVE8dwT$G zW7_%RWF3*ZkD;@jp|di#mz5SvjU8(PZo&77WiwoLC27M(S8AGo0`oEdt=(g^_F8@FMX6pa(-uTh~{~*s& z`u~L(5i_Hqg21BhtD_*Q-uZZGWhyiQ?T{jL+ zJjLY+VHrCdb1#B9JjV$pxE|=CtYBuseQMvlE8>*oShqC0Rho6U7>f-+cFbL^YUOJO zcJs9E24J1|U#uS+WrODZzRhAFsMFU+MI6*;ZA2eixnetMlJu+wd%X-&0d=Bd=6(BQ z?(B~Fl07l+*9r4Z{?G5gdOs2ETwemGm*G-KIR?NweLFW^C@Iv%IoH5-!BPyN{nIv= zS`a!0pax&H*S51=xpZ9;q^=`m2)D(B)!}iK>1yk)oBEBNJvkZ_iRM)mMOG1(a9d_i zF9WgZ#OH{XR=xH&1y|_2L{U{BmHfIN8huDk8XaY9<|vy)QnHG4U)mt9wSz=p-+s-Z zH1EXLxZ|$UaNe-(C@Vb#N&Gv9R)Pt;DgZD@P`N$ByeML$wZb@qrNcOM+|GMR!%kBx2Nq3 z=LYZCHPOl8X$*b?lPo?A|u#5Z6bwk^t8C z`a<@bn_A}a%h>}CoLyAs0NbDp@GA+^*uH1IiwN)4@4Du&j*%FRU^lSaZvjZF`8g_h zb;jOC-KO1PQS_!8e_0Q#PE@W;F@4Xz`u#t4j{Ms@f;#*^J3G6Zw*PngG5+&mo?FC! z+5-dplAYJr*H-C3Tsg@zg^62bncdOh0dic+;N1V!PvRR(^R5PBl;60e+I7O3Z z;WOogZJ+^P-wYVzRxp3{xs#~+^h9BoXNUq>@NvHP| z6~@i*Db)h(&S7yUKO*|cXbIz~sxaB-Hw}AoGE$zYvaa=yUC43R){S_dUz6{GX=b!( ze@pQzn69r`VG$_qe>Y#ME7naI@_Tc3aLJ$Cv6jD3?Xg~kW{_Q_T64O<{T(FUp7O6N<>7=362 z5UjB*1@>E!q(FnhyqlAK5Ijw@7`?}NP`6PuZhQNg*6xgCQI@bO?DA~0{IULB`$WYV zeKlh51~*zhTGP!=-?*+1RUY<>!uE^HK|o)h=7}jHMGN=ATJ6oHg`Rr7(yY82hV{)Q z{RtYdp0CFSO3Rqh6Rj+;0P8GtinnVyv*Cy$;quibRXF_GlY= z(gWNAMIxuH68EGwAnJpFezztQzeM#-7BiP*ptn^LpwG!L6(y}jZdQOb9XxlO%P|{# zcY1mputv9+Ice;$!PS&V)Dg;Z3rq7I8qM&sbH=K$~_=HW4rY6 zd6=ig{$E)h@DBU`+18ew|9fY5`!WCbgFH*e|JM1zf2hx6-%B*GN*#XV4%M}H2X6Yr z>fX2`b-i0kjaXfCU2iP$pXQ5bx&5b`m4x=*)QQtro(NaTU>K~MEtAAHgIVR5R+Kgq z>ei@W&8#p2DJ-n+Vl_0X=DAvT4msNba7TtobUL51Lg6kiabBfji^3l$}dX*NRkv!UC_35FMcd__fNqc)+dz`q^JeBm&CZB=7X~pSZy^w4R zwp>IkGE+O`!90Ij=(^TBE+_n=_TSvy`Og1XUk5!Bih3+Soeg&lc(K%N4#BtP-;>Zf6gScPtGP#V|N3WLlb?NtWj zf5HT&5h?;B<;39;w7jIzO4GQv8+MaOyOk zFvI*UOfTfwA>Y@DZ+`fod56-_?5eKL@HL}EEHLX}%FgqPc3UqEb~!7w1LeMGCusi3 z#}zl6J}mLhT$NVgxHJdI%j0D;hBlg=SLX>XXKym{7Qy)XAdbb&i`=>G`D$>t9fX0L z>5GXoyS+M^VQ3(OWcte7+Zi+nyWFkYL*02_R1yczk@Hze+PdL)G7?PxT(?ba7o zL%;GxsEAK|-wP-F@v@f{Jq`Jv;PX+03Nm_6|2)tMP2)wtmOT~v8t~ZL{yDW)OVQyebKc26!b)%UfEHvsGNj-+OOH38=A+dH% z<*|Bias80JYjxU>Jd?KDVKw}e3ja;7OWkVF>biw>)6=*dcLPQsZ$#Z1M_vM#Usbrj z8m>b+Ea3v;gl8Cf3f4hDib{+GURP4~@AQlE-)R7X;c&>DHcMYk`qWO2aGSU>?wc@u za3m>JJQ+#KFcRw*cZ1p5IQkd5<_*>kDgF-5ceha*nR{v!;w8FngIM4NB&aXQn?J@m zhR5f2Plx_rMf%6i_^-_!`~K(Mt;hV25A(?NUxCpAu_JLKejX1`0UZE%iX%u^7)2zK zsiN4w;Im}3w&B%7mpOL*)~HCGS0y&F_qp z9>PwFYGi72RB!3~yg(&NiGo-QNqM4?um1F3E?HV%aLT)Z3w^rop-XYC8`>GK>59*e zl_1clqr*(;ewUJ}Ioic3uFRHam8JwgJ6_$AHA_roHAMkV0se4Ue=S@2R*!hs4!wG5 z?rYZxnsq#2O>N29>T}RwPhVGdMZd_gX8vu*NdEX z-Y9eietVC-XI*`Zv_Y|&m2%9n>Y>ibrc4us#3Z6~uSK{$8jYXxpK+-OpF+zhpQC!3GF! z0oxOz+Ls4QHvbcd$+r1#Bxt>Z0O;KRYux|4x3@Wdoc|B;u=#(GB-s`CS9Okrk4)VA zopC>CjMC6M^_^LKFKbZxmXr*a2oLp28s1RimorrZWW_C7hA+_eFkzk-SzcgjywrX_ zw#8=OUa(ZF^xVXCqj-31AVdyMFG4Di_)Q|Ff4fBU1u71+dCrnZ|L117`E}s%(sgn) zG>`HK3fNU+K}Y%#&aA^3iY^s1O2YA7FUO8L+56BsJl?NKMyluab`FXNr8;BJqlLMe zr%nEgn3p?y0K4S>xat4f*?Nrse~?GF|3tj+ zVy$#B6CP3^;X$5D`ObEEax3C_p(UViR`DH2YQmYr6kecsc+R(0)CsGTI)QIf%$|rA z+=a6ZHVmEgbzFO|-B;PH%MLE45i(mQcfKB_>!0~)lmC3^-23^j?d`3`{a?@ab{^&b zLp)4Qz4(yBG;YNI@dVC3@uUkDEmYtl$<86WoJkq%c4V3s>LG4v2zV_kro#bhAFQdE zYsY7~Y~Y`aSdMjXtXRD&Vd{a&J%vR=G{Qn0sM$VxQKb>sea8O8^OI^i#UI!?V5b#6 zIAka008|uAt0cJwzg958Q%n^_p0f@K2R|YXos}mP2ko2^oTCU7nL0>F8#ZZcT#@5?H{J!`h>O5hG}ap6n&Yie#2Rz5b=~8R z9|Mrp?Rs8(2H93B>stad-1}NQsOozW7;BgYRs^V^#9gL=z^tUDtNx;Ke7$c(sahiP zImoN^n~6ZoL~V#uc_?g0I=tC17juS}V%AxQa1?f~p>K;Jmn;#t?Ot>Y1DaR&0fuIYZeUop7bBT&o}1rMn7PP=2==I4_x;31T77=B#@wKl`z0A$S0zJ3-+)jl%4(U9zQ^m%GE<*TS;xv9)QiG_#>4j>i$fg$hj#_u5+Gso5+@KK_7c#G1aZ#>< zy4BHES{F)*)7i$$TV*UTuq1ejqU%WB8K{0P33&hjN*AosO?}|<5?ybIfIB^J5lRHt$CPEot5{BcT2+SyMCSxr-`|D3mT< z;gVPcu~*IGr?NC(nyFtLxr210xPyxp1nWY}=0FxJjNq8Nz{(s&czVqcjyQ;ER?u$8 zMV8V9mWnYA+J?J(9HMlgSCXAbyO4*UI=m&5eem?s`k*@e>B9V?O=-;H)a@&MbT3SO zFN&*qA|Y5pyDgi7Im}gJMF2H_ql{0sdc+*EdKdBzdD<+l5kH5ygsZubY!9C(z|%(s zdNVCf$s{468=_p$y1>$jVS(1|ciH4Q3y zt22iKtVT@7Isg3@O>1$wtP#}72|L=RHo{n<0e&!%6nL&RXUo!!&6u4UihfaB4NQ!k z<}GeFHyYEzTM%7j=ct3~(N_b&*RA}T($k_sZw^iXOQQ-dP>KpjPz=63eg|+m&3Gee zN!d{|FolS$tOyP{;c3*|SYM|L5N3WBkvmE;W%&7>u?pUc6J2A=%8wYH{E zP@*7-~=GCI?T2&X&h%S!V)NKb9OVJoSy( zw|j+Caj>DbVC>HxV(8RXE*U=Oj5kY?WnP5aq0}vRkO#8qsEA`GieO?At%%GMuqG*8 zXRG91Gp^gzv8^2A)>R6p#?yQJA0!xxq=wqhyUUF0$rfISWKr{P*5=Bmdvd)?@tNgFI{{#dE4DgHOh}7zSSt zbB`@GwGgdbX7giCqoL&&bR~4x*VFFQeV$B!W(q*i%=5>y+3{udQ}?z090uP3Jjin@ zR>V7Ad$_Ehf`^Wv5485EKxvE$zR4gBsFBVOjW`&kKHw0^{1o)!d&^`ek zqrs!goaj-#nIcR8mGIS_idW0vD>-DQwY@Pj@cNSPdh_mjQtsNxa7|~Qk!;sNkU4xD z)ij`n=DX{``)>KqoH6%#{`=Xpy@veX-FdwK?Li(c|5+c4EXZ{2pJW#}>L>MuuWon` zcRkxMR^=7n;UyYfN~E^gHEbD@_5JUa*r2kXjl3*2sB%JtZTO#3;6hvjTZABG!8SWN|Md(7+?Oa%u(dp&e-y8 z#hJT;Rv#NZJ8bMs)FiP;z@cL&NZoR*N(Be+PQMQth4ogjp77l*?80KjJbNHAwcbvy zv5jKAY&KrIWm)2AB#$@01Yq4mC%aepTSO*-tJmz((oW!)+R7_x&rvAuwry;t_yEYO zNoo+M{2m$)1TVK)8%UI&WYJ}NE8Hw?w2YY_f-G$q(2>|qo`k?0tS~u33A{c*QI^J~ z!74gcLPsIcPPzn74YsO4r?Uc;vn+|5u;DIN*bxP@Mnhb?GoF| z{ik&1e%Js{F+p?RHNLu`!t%n?!eN>*poT#*r*Dp_Qkm@6%hM5)9}LsF?NC6!f?$@F ztWr>i2?p$%VU9>Y8Q{RQFN#Shok6z^2DWC`;cx}dKN#+f`r`i1W2sLYmW4^`2V4@IUNH4xN@$j8?FwF(ATQ7q6#%Bd zERLuAK3!b0T?-MB)*y4g4Q0of>(N)>don}C6)q9rWU!nEpS+WDX%E&x z`)XCfcIBwSYXDWBTlpeO)%U1s7p%5~Be%AM`-P1WA>-xs!d!iva7VE#`ej{Q3g)@}Q@kN>yX!STc?7#8OGdutD*6!Y8{^tjIo`7RW2rAN& zngM(SfU6lw!Fh#~7^fE?htVaxKxH_10#0YtG~rwRB`9YoNx(&tor5_f(F~^-8=yc5 zBzS?CjMCo2G#)$wDY{^RUUcH3DgJ6(jbqd@;Ki(SPL6a*>W|K<6;Jta32L2`UF) zh2>Q~_$oYymxHfDGN*rM1-=-3_5Ti@fFEFiv#JCyk6x66FfX!SP(%hHju9O3;zjn$ zAY7DD7NgN0K}v}E|Mtbf(d!rCJiZSc?el+gXV>=sZf=bq@Be$4=ZVPcFc|#(Cv`#E zX80@||GYLMBrhkU5uRU!<%}g03vo6&hw%j(iNZrxc8JqyR?H!f*8TsNbq=? za(ICzUwsAsQ{ukBWLBMrQ8piuqCz~dX$14U9FYQ{(Hxcp6(i1}e+&jso`Ba7%TVOO z;CCQy`gk#?w#e_`U6Fv_2fu^ia5x0~fASCZzQzK62kbuv^es2y<|w7a)@j@(;Orm! zo8jheI3AAASW#}mP}KiI*Wh;`c14fGnwS1nMg?ZKdr*{&0{*Z3pYa#_HTWGIfBW(X z{0?wRVVv#kK0o8+{SJ=b`M$h+eQ@$G@H;5w?Qv(pc)S&;@6Pz`-+B1k@8ImGpB*KC z&^8hJmGu{6H?m|gDp9dO1v~ft)A(nT;NcKfWEON)+q9~sS&G^!Nr%Pn;5^Id$T(wH z@wC=hfZs(HITkndbVAW`Cm2v@!GcZ=`p1x0>4rw&g$d?a zxEF4>)|2VLwc989GeT5ep5L-2UGdOi!TxA+fah=%$({2Q6wW?n#U=eBaw5i!KNO=LqH)(?+I%iu?mYSJt*ImsHnx!xV1VD zz`E7Il9ihSi^}jG6_@3*9%>ef+=WXs*#MIBz*xbl&8=r!o4u>bpeBQc)5GK5$c@<}HD1L(zvr#EdT%~);G+wkz zdC*b`UZ50}B@5u|QC?igz*S6$_+=422)F9>Z$_4*l(Dz6M5PCjUY;KsU8dF@lxP!- zPm9JmD#|P!iPFO;!TkU>6e-)DbJye+Um3>PRoaIGvV4{IDs72j<1!Bz#|@k6&5P6b z2S=}8zHt-V1rw&i{B2#>aR}ColB5@v{IZr%+skuKR9BTHcp<9zc)>qwEz9B_0@;zV!dH@? z?vj?FJi_6n+$!F&IKzB!Na9C4mL0@}6vzrTZ~amhNC-lM6=0Rt`4UZ&dBgKBHC- z<`pPUa0K;_+Bcav$|D8rtef6q!l9zf1b%SbsjZrYg>BYVzFWNY^v(41#I*Ze^d*tY zxzeX(w=boS=fnlSmwUvz@}NI|tveii6VY|0g2y^3NdXDExONc!HcJwmUcAd=NHj}B zPZZ)DHqKaWN6Eo(sb_Fdk*v-l$1aoSna}5lz!(w;s*=+F(+nl^VVp%JSZszn`nH+2 zyOd_dRhGrSj8y57xMZgs@oMXzXtP+w|CXd2sWbNP>F@9&TMdr({oiL>&&Kxt@6OiF zWB%_4c|>rB+6BgQCfU|llvO~70ZuQ1!QlS{ZJVWR^w6GTUJU()o6@cf+Arb8e9*NKUrRJPAuh>}NHE5Ts zu2h{-u;5*Nq`zeuZPpl%<(tNr(V`pE)YQ}GSN$(!tI4HZTBqA0Rr zZQTT8oyx8qhOc3Yr-&yQ*Xfh*%kW!7*7Q4(HbBsv#3nfhWr+%Yng5%NyqM?Ydaa4l ztXb#7+W_zRO(b@OkgoC90&dj{dxhKhb>(0^Je=VqE>ODWK_I8ZWM4!2)A(lrUJRyS zePDM4i9&l??YH-f#t6;@n+U6yc$jVz+5#2;Mx=tt5hRdhe{alq`PAhEBW;{M1_3ej z-*13RbX^bp8lZzR6CYR!Dlpoa9<+IqOgiC=G0(9CSmWaY0FOn5BMTC-0! zEPCvTp#EAHQ@*dDJ}55AJ4k7-h^BDwD4!{aTL@=ZT$KA|f=~`{%C|yvvB{y<#qE;I z32BDxhQZj7Fg|voqvEE4@lj0w1;jL)79JT*$5Ok1X0>lEooVd{70ndkpH(i?w%wah zevvM2FO$6@`9-?0fb~HsKG){SwJuUvfFFxc6jxbT%;BJjgk)E6$oW4AK z|KiOLX8&&h>+}0>-hTf&R2QR!?24JUXv+Vfl60Sm= zL2vxad9%%39Dnou(Tn$Q4qm@lNoy3e4oanWG8ss%3`4aSQG%B}`$@b#^&+)65hc8cW zHCWq0zkF?jUJ~F(^JhmVHEF4Pt?@Xz(a{)Vrdi**cxEFo&MLc z)2XfGG1KYjY_-y9-CG;!FVaO%8@;wYU&EXmh?i)sF^ii*{W~o)$Zc zgDV6se#@Ff@*3t2Jff1!zrpMO#8Y+uY#a5?+I0OQ!|#A+-2!;Wz25-YrH-b)bM5E< zAN}NRlxi5i@QgQ$50Ex-AFTJH-`nYZQ1`{rvAlW>^Pfa7{0#OL#ucuiUZjf+6X7aX zP_zf`w*TN?Oo`BP{!sI~vDo4z*bwfs&~h!TIEV>gX8nc(@&p8dZYj|g^RI3@n_oO9 zjfs;Nhi_k;)|L(bS{s-WJt-<5c3sB*#k3>mR!_|+I%PxG5;Y?m9)nDx*iN`;zq z^;9JurPK=RvosbyowY#co~=$zqk*Xu1D4(If4@b?H_Zo%=hpr17S#1v-DotrZlk)_ zl12P9wb06hJBu;9qiFYf$tZAJY}?;?hoz+XQAT$4bgsGmX_ABq2bl9hLr>_Go%mGqC#CG&(XnrbtCKQX_s)cI zAb%+f;xkd1dd-K^m`sGX=u3WeloyV_i6(}h#y@vd^k_UeiZ?(5prFvuakoSw#=jql zoMalJ7RLj>)np%xZ(%rCh>iE2X5QJXps@XI??u8LjEMTkjecTV$qivKO!mQ|lN^Fa<`TSyqx9 zlG!kZ1m3PEWNyS(E>iG~0xEYS7?FAIp$jcmOqPZV?d5 z+T0rHMn+|U7Z>|zY>3HrSyNrNEWM~aV#14^C+c*fm$PcJL`$u???vk`cjB1WI(grT zG0xzbz0paYArgGFv2R|CCS#Vsh!$Ri#;2C{e;Ui#G@l3bC(i7Bj@XxrjY(HidN_}sBIXblZdSexJ?#+@08G3V8 z$d40oBio5DY{4c(zryWyl$a3gEwjd{BtI!?dF-RY44yEE_^kIkH0#csU46X0Yzc>o zqG{|Eh*U-DvEabHEg0v$mWjrxJK0gUTrbYuAqjNQ*wPQD1Qk;lp_`94`Wz90#~7^g zT|K4w!3%47oFIbM7_JTAY}I;W9e1e>I!0vwC=oA1FKy=aaNd7v>*w(??EhI-;NR#{ zK6#&K@q1X2tc>8DmjfO5Ka98bHtqZWcDA=4?f-{(J{SA{J2mucu5`_F^*mGV)MLHfkrs-?J;Tt(2Z7`E2}_Pk82OQy1?BdtXg`dN03xMMf@6(0!N=p z6SuhkWHM88Rozf{TwWd?zk5e;f`4O4B#%)Mp_IT2)JHz|lgK^{`@3VGkX3D%SdF*| zqPz+wV0YX+iK;c~HJWF|^*y(%1fqiP~;Xzg2nbRFK?WBC8X zH5IGP{@dyQ+uPi;^Z#z|J?8&?nCElx|A`A{R_*Vz!Ty!}d!p_A{CN#VHT`!@UON1B zD?XnoaC(m2f0vc*r#E@Tc#jZ(4s+A%0~7SM`n-;C+0*Iula_0XUl`;#py|o#(}xo7 zqM}?oNMjka>?FybXvs|)KM>kc*tpthpWo)hR1Lq%sdshbil+S$pPQ!j(ZM6`&GI zV)6SfT_vy$gX;Q>1|5Vgj^>Y!)|=;jsWH<=D4SI#muwOU$@%1K=h8CG=4S!aj20)E z+fM;}yp!L%F>KtRz3y+f9ZLz9H&op{e${Kx3KVTtt0=g_*?Ov0_Vao)-T@R#!m_#b zY`dR^H9Oo-f@7dg07dhtURS4HZ>u&}sxnujQt|@NVR6kA*koVnininyx|sAGl=G+u z4V$3x97dNYjg1+0Us*0R!Z*O(Na?|!TjT)gritH#Sk2E-anD@hDM403(QVcK>8q3b zN*jsd(^n_*RlEPn8x6KhV#yY3!0W#{eRb06F*+`?1&(i(k^2r>nIuXl(?9kd>$ld5 zrQ+H?|8wZ5?NNe^BjV|^&;!tPTmc{>_owqKF zf5c>Fr=DAS@uB4xeT7Rx)j0G0@^o~)%CoctGS6erI$g^gM-`RnYJao@aV63R-7@%O zi}pukp7&dUvL15=EBsZ~CBJ0nzBS2rS#~MbBmbS9TWgUatVlN0RDbI}FP(79tW7kk z?snS652)Mq*D9TO%DVC(jjf!(tG&fupz+_5EaQW$`S9nKEVq{tx06Y2lEqnPQ?O2^ zi0xHlY36M%&%DiBGjG#i-ck*_gYk#nFuRaR&l?e2n!rG=q zbfoa^Xhr?0PI-pNGFT5!5G<9#v-vToT{9lyBE727S;c+Z`Wi~csn zGPcALHpKF_!?HF*Ut8f0N5Z{^wHTRx!&$Xl)P(K${> z<&0|SVZ?OxEW1j<@GaQceLmUQeGUXe|D86!&~f)~`*LN^@o8s6<>`|=i%(Eg6_{Kf zW+_1*{40y*(Q1cr*Z>#8B+0Ih3%tMyx97Pk=}RV|BJQKIhxR+>~D3s_lf>Gh}}r*-8gfm@5dL)q5*UGFJ02G+YR z%_1id*ShQh_kZpEe{RJS?ge2NGu=H3pyU3BoxM$a|9@}q*<=3K2YEiD{eSaT%ozpt(0fZhYA%=nQ05 z#H`~2L2*&xNj06~58fNQyU=a`R}pHUeZN3Ofn&5kY^SY3)Elj``+|lQ5Y@a$!NoP> zGQz)##hNdoo{`0BN)c^F1;!Nsl&gIWR}HZ<-_|YW^9jicctJmvtGE)zf2LN$v*c|r zx0>QQz6l71j$1|8w^h!cQp4$(KNd-ji#$&vn4tgt=48df#-Quu@Zi;pAw}XR4SyJl zI>U&*8v3LW8K1VT>m}9^VzKbvUuf-Jq_ev zYGs$jJ(qDhgB)u%gMai-nZW!m#+*Muk`@En{aCFwocq2$24ey?4Z|l#5uRdxhPm~U zw?f{I@Ju%g1k7iDF>~NEymq^HTn&A*(Qzqv;ZMfzU-dL*1Ura`$W>Nceg>0*J*_h% z#ffunoKl0?eKX{&Zen94B%spQPO#swoqy-N)4|HbmVRmjCD@VmMnTcQsIidOk>LLk9W$0h@G z(5=E|C8wmHtVzIxF4xRLnt-}a;T%VLu9OA=XRQSIvXrQBgEJ3NmQ#qof1JoGn#gsu z2L-syY||r4+Gn`v&2p`-VxNoP)3tH`Fe~hw#2s^3+h2G|(7c|%3l(#Irod`m-igT^ z7|pC#Y;s5MmCtUk2)?@Q;ZEB?^jL@Ttemw>lfmk2D(JHNKcpCI zIc--TuVd38U>AxL$X;lJDERnEMY1WE|Ii|NQJ?EtMjorfa&6lm>WEf5FFfWMW3s?= z$1M(JFD_iCjaU_?A+$qo60uWtG^&fJL9^l7NNn6x_^%}*vnuC`7)c7~_ z3ePd|sgC->fBv`^J{%9r^xFij#bN;&rphZU6U#PdHTK0FydNF7#iyPWsE@s){7ecw z(PB8*^uG9S30+vbjlK^3{Y@{3ltG5 z%DY=6p#8-hm#%DJ%_L!}LmwTOj}FX72j=}cFpaZ5yzkpJ$HGxTm%KwZM6gVgTi8q<(quRj%b%Ln%PcgVQ^5?2FSDwM zP#G5J*NO=gDR^t^M8BWmlQAawC}uebbT3L=^cvmMsqy@hlkDcfBGn8ozD&5({0A zg9GkCe4G`;49mKMhrm0QdDl>uRt0k34J_^jmJRn@FsyFIXC1kU6G{eY@)9I_aI*ou z;UGhP^G+=bwP%9y%m0mASw#|I;3`O8p`wxf!(WnJjQ@Q6e5_C0UM=SUd~FwBo2{=) z^$;&w>xrtje+yz;y6O4YxN{iJ_0OIYVLgas%UwU2?1CnnN)Lsf`QcAZPMNd0k4u}$ zPgE4m#Xx~bRiqvZAAEMw`c|GLudLQ6p<_UL4y^L}GK-DEC45Jo8R`6sV!IZ z_XS@MYafz&3N3T?&9B0ai;QGZmfTT`c@>z1-#4wETh~Y^6A+vp9$PVwd4eNM=zGtR zQJ*-<1=M{Ga~W*kot_>qDf|>RR(E-HC(9`W1Kr7z_}(4eo|&|+8yo-f`AX_Xak*-7 zDLdaM&E%lDyDU3M(~PiNBvxRMd!?C%#R7VJ*`~p4ghkwgaO;C^mC~&*zLkkL17V|+ zZURz3G{u*pxS%||tjq2FTXcxT=8i<}@E_5u_v~F-Q=nOj1$@2uB*hDPNClM%9zjSYY zboS+e)}ra0geQ4{Q!-r(G}^u>L7EXT&8jpGHZ&%9c3fI@-GV2tXrNc;+zl#TrVE(h oSTNh{0`NuIMa@e0a~_|^=ka-b`ab_(00030|FX^SE&y@@000UWfB*mh literal 0 HcmV?d00001 diff --git a/incubator/omada-controller/1.1.0/ix_values.yaml b/incubator/omada-controller/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..38cb36c0ac0 --- /dev/null +++ b/incubator/omada-controller/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: mbentley/omada-controller + pullPolicy: IfNotPresent + tag: '4.3' + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/omada-controller/1.1.0/questions.yaml b/incubator/omada-controller/1.1.0/questions.yaml new file mode 100644 index 00000000000..c7f9242e08a --- /dev/null +++ b/incubator/omada-controller/1.1.0/questions.yaml @@ -0,0 +1,667 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8043 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8043 + editable: true + 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 + default: 36072 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App data Storage" + description: "Stores the Application data." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/omada-controller/1.1.0/templates/common.yaml b/incubator/omada-controller/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/omada-controller/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/omada-controller/1.1.0/test_values.yaml b/incubator/omada-controller/1.1.0/test_values.yaml new file mode 100644 index 00000000000..6d031e0a19a --- /dev/null +++ b/incubator/omada-controller/1.1.0/test_values.yaml @@ -0,0 +1,35 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: mbentley/omada-controller + # -- image tag + tag: '4.3' + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://github.com/mbentley/docker-omada-controller) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8043 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + data: + enabled: false diff --git a/incubator/omada-controller/1.1.0/values.yaml b/incubator/omada-controller/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/organizr/6.3.0/CONFIG.md b/incubator/organizr/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/organizr/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/organizr/6.3.0/Chart.lock b/incubator/organizr/6.3.0/Chart.lock new file mode 100644 index 00000000000..af1b6e39380 --- /dev/null +++ b/incubator/organizr/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:48:57.03867757Z" diff --git a/incubator/organizr/6.3.0/Chart.yaml b/incubator/organizr/6.3.0/Chart.yaml new file mode 100644 index 00000000000..b7dbe4028c8 --- /dev/null +++ b/incubator/organizr/6.3.0/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: HTPC/Homelab Services Organizer +home: https://github.com/truecharts/apps/tree/master/charts/incubator/organizr +icon: https://github.com/causefx/Organizr/blob/v2-master/plugins/images/organizr/logo.png?raw=true +keywords: +- organizr +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: organizr +sources: +- https://github.com/causefx/Organizr +- https://hub.docker.com/r/organizr/organizr +type: application +version: 6.3.0 diff --git a/incubator/organizr/6.3.0/README.md b/incubator/organizr/6.3.0/README.md new file mode 100644 index 00000000000..47eb0f9284f --- /dev/null +++ b/incubator/organizr/6.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.2.10](https://img.shields.io/badge/Version-6.2.10-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) + +HTPC/Homelab Services Organizer + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `organizr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `organizr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/organizr/6.3.0/app-readme.md b/incubator/organizr/6.3.0/app-readme.md new file mode 100644 index 00000000000..0bfeec6a4ef --- /dev/null +++ b/incubator/organizr/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +HTPC/Homelab Services Organizer +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +HTPC/Homelab Services Organizer diff --git a/incubator/organizr/6.3.0/charts/common-6.5.0.tgz b/incubator/organizr/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/organizr/6.3.0/ix_values.yaml b/incubator/organizr/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..19a9fa1ee99 --- /dev/null +++ b/incubator/organizr/6.3.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: organizr/organizr + pullPolicy: Always + tag: latest + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/organizr/6.3.0/questions.yaml b/incubator/organizr/6.3.0/questions.yaml new file mode 100644 index 00000000000..e623adf8e3e --- /dev/null +++ b/incubator/organizr/6.3.0/questions.yaml @@ -0,0 +1,738 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + 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 + default: 36046 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/organizr/6.3.0/templates/common.yaml b/incubator/organizr/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/organizr/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/organizr/6.3.0/test_values.yaml b/incubator/organizr/6.3.0/test_values.yaml new file mode 100644 index 00000000000..e61f52c2663 --- /dev/null +++ b/incubator/organizr/6.3.0/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Organizr. + +image: + repository: organizr/organizr + pullPolicy: Always + tag: latest + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/organizr/6.3.0/values.yaml b/incubator/organizr/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/overseerr/1.1.0/CONFIG.md b/incubator/overseerr/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/overseerr/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/overseerr/1.1.0/Chart.lock b/incubator/overseerr/1.1.0/Chart.lock new file mode 100644 index 00000000000..90c622054df --- /dev/null +++ b/incubator/overseerr/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:48:58.755417342Z" diff --git a/incubator/overseerr/1.1.0/Chart.yaml b/incubator/overseerr/1.1.0/Chart.yaml new file mode 100644 index 00000000000..ebf9c1dccac --- /dev/null +++ b/incubator/overseerr/1.1.0/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Overseerr is a free and open source software application for managing + requests for your media library. It integrates with your existing services such + as Sonarr, Radarr and Plex! +home: https://github.com/truechartsapps/tree/master/charts/incubator/overseerr +icon: https://i.imgur.com/TMoEG7g.png +keywords: +- overseerr +- plex +- sonarr +- radarr +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: overseerr +sources: +- https://github.com/sct/overseerr +- https://hub.docker.com/r/sctx/overseerr +version: 1.1.0 diff --git a/incubator/overseerr/1.1.0/README.md b/incubator/overseerr/1.1.0/README.md new file mode 100644 index 00000000000..a595f4b706b --- /dev/null +++ b/incubator/overseerr/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Overseerr is a free and open source software application for managing requests for your media library. It integrates with your existing services such as Sonarr, Radarr and Plex! + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `overseerr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `overseerr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/overseerr/1.1.0/app-readme.md b/incubator/overseerr/1.1.0/app-readme.md new file mode 100644 index 00000000000..f6aaffa7e9f --- /dev/null +++ b/incubator/overseerr/1.1.0/app-readme.md @@ -0,0 +1 @@ +Overseerr is a free and open source software application for managing diff --git a/incubator/overseerr/1.1.0/charts/common-6.5.0.tgz b/incubator/overseerr/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/overseerr/1.1.0/ix_values.yaml b/incubator/overseerr/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..ccd9749b2c5 --- /dev/null +++ b/incubator/overseerr/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/sct/overseerr + pullPolicy: IfNotPresent + tag: 1.25.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/overseerr/1.1.0/questions.yaml b/incubator/overseerr/1.1.0/questions.yaml new file mode 100644 index 00000000000..c8635c3e658 --- /dev/null +++ b/incubator/overseerr/1.1.0/questions.yaml @@ -0,0 +1,673 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: LOG_LEVEL + label: "LOG_LEVEL" + description: "Set the application log level" + schema: + type: string + default: "info" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 5055 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5055 + editable: true + 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 + default: 36073 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/app/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/overseerr/1.1.0/templates/common.yaml b/incubator/overseerr/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/overseerr/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/overseerr/1.1.0/test_values.yaml b/incubator/overseerr/1.1.0/test_values.yaml new file mode 100644 index 00000000000..6a215efde35 --- /dev/null +++ b/incubator/overseerr/1.1.0/test_values.yaml @@ -0,0 +1,38 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/sct/overseerr + # -- image tag + tag: 1.25.0 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Set the application log level + LOG_LEVEL: info + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 5055 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /app/config diff --git a/incubator/overseerr/1.1.0/values.yaml b/incubator/overseerr/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/owncast/1.1.0/CONFIG.md b/incubator/owncast/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/owncast/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/owncast/1.1.0/Chart.lock b/incubator/owncast/1.1.0/Chart.lock new file mode 100644 index 00000000000..e327df746d7 --- /dev/null +++ b/incubator/owncast/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:49:00.505825608Z" diff --git a/incubator/owncast/1.1.0/Chart.yaml b/incubator/owncast/1.1.0/Chart.yaml new file mode 100644 index 00000000000..f6583776263 --- /dev/null +++ b/incubator/owncast/1.1.0/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Take control over your live stream video by running it yourself. Streaming + + chat out of the box. +home: https://github.com/truechartsapps/tree/master/charts/incubator/owncast +icon: https://owncast.online/images/owncast-logo-1000x1000.png +keywords: +- owncast +- stream +- open source +- chat +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: owncast +sources: +- https://owncast.online/ +- https://github.com/owncast/owncast +version: 1.1.0 diff --git a/incubator/owncast/1.1.0/README.md b/incubator/owncast/1.1.0/README.md new file mode 100644 index 00000000000..faea69c8b7d --- /dev/null +++ b/incubator/owncast/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Take control over your live stream video by running it yourself. Streaming + chat out of the box. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `owncast` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `owncast` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/owncast/1.1.0/app-readme.md b/incubator/owncast/1.1.0/app-readme.md new file mode 100644 index 00000000000..a7c285ece4b --- /dev/null +++ b/incubator/owncast/1.1.0/app-readme.md @@ -0,0 +1 @@ +Take control over your live stream video by running it yourself. Streaming diff --git a/incubator/owncast/1.1.0/charts/common-6.5.0.tgz b/incubator/owncast/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/owncast/1.1.0/ix_values.yaml b/incubator/owncast/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..595f5642ff5 --- /dev/null +++ b/incubator/owncast/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: gabekangas/owncast + pullPolicy: IfNotPresent + tag: 0.0.7 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/owncast/1.1.0/questions.yaml b/incubator/owncast/1.1.0/questions.yaml new file mode 100644 index 00000000000..8d691996c60 --- /dev/null +++ b/incubator/owncast/1.1.0/questions.yaml @@ -0,0 +1,765 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + 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 + default: 36074 + required: true + - variable: rtmp + label: "rtmp Service" + description: "The rtmp service" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: rtmp + label: "rtmp Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - 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: port + label: "Container Port" + schema: + type: int + default: 1935 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 1935 + editable: true + 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 + default: 36075 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/app/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/owncast/1.1.0/templates/common.yaml b/incubator/owncast/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/owncast/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/owncast/1.1.0/test_values.yaml b/incubator/owncast/1.1.0/test_values.yaml new file mode 100644 index 00000000000..3711e3d201f --- /dev/null +++ b/incubator/owncast/1.1.0/test_values.yaml @@ -0,0 +1,41 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: +# -- image repository + repository: gabekangas/owncast + # -- image tag + tag: 0.0.7 + # -- image pull policy + pullPolicy: IfNotPresent + + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8080 + rtmp: + enabled: true + type: NodePort + externalTrafficPolicy: Local + ports: + rtmp: + enabled: true + port: 1935 + protocol: TCP + targetPort: 1935 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /app/data diff --git a/incubator/owncast/1.1.0/values.yaml b/incubator/owncast/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/owncloud-ocis/1.1.0/CONFIG.md b/incubator/owncloud-ocis/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/owncloud-ocis/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/owncloud-ocis/1.1.0/Chart.lock b/incubator/owncloud-ocis/1.1.0/Chart.lock new file mode 100644 index 00000000000..e73f296572d --- /dev/null +++ b/incubator/owncloud-ocis/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:49:02.280482754Z" diff --git a/incubator/owncloud-ocis/1.1.0/Chart.yaml b/incubator/owncloud-ocis/1.1.0/Chart.yaml new file mode 100644 index 00000000000..8781e62bee5 --- /dev/null +++ b/incubator/owncloud-ocis/1.1.0/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: ownCloud Infinite Scale is a self-hosted file sync and share server. +home: https://github.com/truechartsapps/tree/master/charts/incubator/owncloud-ocis +icon: https://avatars.githubusercontent.com/u/1645051?s=200&v=4 +keywords: +- owncloud +- ocis +- infinite +- scale +- self-hosted +- sync +- share +- server +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: owncloud-ocis +sources: +- https://hub.docker.com/r/owncloud/ocis +- https://owncloud.dev/ocis/ +version: 1.1.0 diff --git a/incubator/owncloud-ocis/1.1.0/README.md b/incubator/owncloud-ocis/1.1.0/README.md new file mode 100644 index 00000000000..096d9aefef9 --- /dev/null +++ b/incubator/owncloud-ocis/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +ownCloud Infinite Scale is a self-hosted file sync and share server. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `owncloud-ocis` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `owncloud-ocis` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/owncloud-ocis/1.1.0/app-readme.md b/incubator/owncloud-ocis/1.1.0/app-readme.md new file mode 100644 index 00000000000..269dd34c77a --- /dev/null +++ b/incubator/owncloud-ocis/1.1.0/app-readme.md @@ -0,0 +1 @@ +ownCloud Infinite Scale is a self-hosted file sync and share server. diff --git a/incubator/owncloud-ocis/1.1.0/charts/common-6.5.0.tgz b/incubator/owncloud-ocis/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/owncloud-ocis/1.1.0/ix_values.yaml b/incubator/owncloud-ocis/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..a93d4a12fc9 --- /dev/null +++ b/incubator/owncloud-ocis/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: owncloud/ocis + pullPolicy: IfNotPresent + tag: 1.7.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/owncloud-ocis/1.1.0/questions.yaml b/incubator/owncloud-ocis/1.1.0/questions.yaml new file mode 100644 index 00000000000..4dfc6ebd5b2 --- /dev/null +++ b/incubator/owncloud-ocis/1.1.0/questions.yaml @@ -0,0 +1,667 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 9200 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9200 + editable: true + 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 + default: 36076 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/owncloud-ocis/1.1.0/templates/common.yaml b/incubator/owncloud-ocis/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/owncloud-ocis/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/owncloud-ocis/1.1.0/test_values.yaml b/incubator/owncloud-ocis/1.1.0/test_values.yaml new file mode 100644 index 00000000000..fc6e6c7c7bc --- /dev/null +++ b/incubator/owncloud-ocis/1.1.0/test_values.yaml @@ -0,0 +1,39 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: owncloud/ocis + # -- image tag + tag: 1.7.0 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See more environment variables in the [owncloud-ocis documentation](https://owncloud.dev/ocis/configuration/#environment-variables). +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 9200 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /config + ocis: + enabled: false + mountPath: /var/tmp/ocis diff --git a/incubator/owncloud-ocis/1.1.0/values.yaml b/incubator/owncloud-ocis/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/photoprism/1.1.0/CONFIG.md b/incubator/photoprism/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/photoprism/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/photoprism/1.1.0/Chart.lock b/incubator/photoprism/1.1.0/Chart.lock new file mode 100644 index 00000000000..5e49c3f978a --- /dev/null +++ b/incubator/photoprism/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:49:04.03884038Z" diff --git a/incubator/photoprism/1.1.0/Chart.yaml b/incubator/photoprism/1.1.0/Chart.yaml new file mode 100644 index 00000000000..259d06c9c51 --- /dev/null +++ b/incubator/photoprism/1.1.0/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: "PhotoPrism\xC2\xAE is a server-based application for browsing, organizing\ + \ and sharing your personal photo collection" +home: https://github.com/truechartsapps/tree/master/charts/incubator/photoprism +icon: https://demo.photoprism.org/static/img/logo-avatar.svg +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/photoprism/photoprism +- https://hub.docker.com/r/photoprism/photoprism +version: 1.1.0 diff --git a/incubator/photoprism/1.1.0/README.md b/incubator/photoprism/1.1.0/README.md new file mode 100644 index 00000000000..a14d16d5904 --- /dev/null +++ b/incubator/photoprism/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +PhotoPrism® is a server-based application for browsing, organizing and sharing your personal photo collection + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `photoprism` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `photoprism` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/photoprism/1.1.0/app-readme.md b/incubator/photoprism/1.1.0/app-readme.md new file mode 100644 index 00000000000..91a7e3178a7 --- /dev/null +++ b/incubator/photoprism/1.1.0/app-readme.md @@ -0,0 +1 @@ +"PhotoPrism\xC2\xAE is a server-based application for browsing, organizing\ diff --git a/incubator/photoprism/1.1.0/charts/common-6.5.0.tgz b/incubator/photoprism/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/photoprism/1.1.0/ix_values.yaml b/incubator/photoprism/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..53f7564cc33 --- /dev/null +++ b/incubator/photoprism/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: photoprism/photoprism + pullPolicy: IfNotPresent + tag: "20210523" + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/photoprism/1.1.0/questions.yaml b/incubator/photoprism/1.1.0/questions.yaml new file mode 100644 index 00000000000..47d9ad2c266 --- /dev/null +++ b/incubator/photoprism/1.1.0/questions.yaml @@ -0,0 +1,704 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: PHOTOPRISM_STORAGE_PATH + label: "PHOTOPRISM_STORAGE_PATH" + description: "Photoprism storage path" + schema: + type: string + default: "002" + - variable: PHOTOPRISM_ORIGINALS_PATH + label: "PHOTOPRISM_ORIGINALS_PATH" + description: "Photoprism originals path" + schema: + type: string + default: "002" + - variable: PHOTOPRISM_ADMIN_PASSWORD + label: "PHOTOPRISM_ADMIN_PASSWORD" + description: " Initial admin password. **BE SURE TO CHANGE THIS!**" + schema: + type: string + required: true + default: "" + - variable: PHOTOPRISM_PUBLIC + label: "PHOTOPRISM_PUBLIC" + description: "Disable authentication / password protection" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 2342 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 2342 + editable: true + 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 + default: 36077 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/photoprism/storage" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/photoprism/1.1.0/templates/common.yaml b/incubator/photoprism/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/photoprism/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/photoprism/1.1.0/test_values.yaml b/incubator/photoprism/1.1.0/test_values.yaml new file mode 100644 index 00000000000..f0de5b3e694 --- /dev/null +++ b/incubator/photoprism/1.1.0/test_values.yaml @@ -0,0 +1,54 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: photoprism/photoprism + # -- image tag + tag: "20210523" + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://docs.photoprism.org/getting-started/config-options/) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Photoprism storage path + PHOTOPRISM_STORAGE_PATH: /photoprism/storage + # -- Photoprism originals path + PHOTOPRISM_ORIGINALS_PATH: /photoprism/originals + # -- Initial admin password. **BE SURE TO CHANGE THIS!** + PHOTOPRISM_ADMIN_PASSWORD: "please-change" + # -- Disable authentication / password protection + PHOTOPRISM_PUBLIC: "false" + # -- Sets UID Photoprism runs under. + UID: # 1000 + # -- Sets GID Photoprism runs under. + GID: # 1000 + # -- Sets UMASK. + UMASK: # 0000 + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 2342 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /photoprism/storage + + originals: + enabled: false + mountPath: "/photoprism/originals" diff --git a/incubator/photoprism/1.1.0/values.yaml b/incubator/photoprism/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/piaware/1.1.0/CONFIG.md b/incubator/piaware/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/piaware/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/piaware/1.1.0/Chart.lock b/incubator/piaware/1.1.0/Chart.lock new file mode 100644 index 00000000000..c9c1382bafb --- /dev/null +++ b/incubator/piaware/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:49:05.841451033Z" diff --git a/incubator/piaware/1.1.0/Chart.yaml b/incubator/piaware/1.1.0/Chart.yaml new file mode 100644 index 00000000000..da726f5c8f5 --- /dev/null +++ b/incubator/piaware/1.1.0/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Program for forwarding ADS-B data to FlightAware +home: https://github.com/truechartsapps/tree/master/charts/incubator/piaware +icon: https://pbs.twimg.com/profile_images/964269455483088897/mr2UgvfG_400x400.jpg +keywords: +- piaware +- flight-aware +- flight-tracker +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: piaware +sources: +- https://github.com/flightaware/piaware +version: 1.1.0 diff --git a/incubator/piaware/1.1.0/README.md b/incubator/piaware/1.1.0/README.md new file mode 100644 index 00000000000..7aeb3211c80 --- /dev/null +++ b/incubator/piaware/1.1.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Program for forwarding ADS-B data to FlightAware + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `piaware` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `piaware` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/piaware/1.1.0/app-readme.md b/incubator/piaware/1.1.0/app-readme.md new file mode 100644 index 00000000000..580be97170d --- /dev/null +++ b/incubator/piaware/1.1.0/app-readme.md @@ -0,0 +1 @@ +Program for forwarding ADS-B data to FlightAware diff --git a/incubator/piaware/1.1.0/charts/common-6.5.0.tgz b/incubator/piaware/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/piaware/1.1.0/ci/ct-values.yaml b/incubator/piaware/1.1.0/ci/ct-values.yaml new file mode 100644 index 00000000000..3d1d3eb62f5 --- /dev/null +++ b/incubator/piaware/1.1.0/ci/ct-values.yaml @@ -0,0 +1,3 @@ +env: + LAT: "29.9792" + LONG: "31.1342" diff --git a/incubator/piaware/1.1.0/ix_values.yaml b/incubator/piaware/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..be2e353346b --- /dev/null +++ b/incubator/piaware/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: mikenye/piaware + pullPolicy: IfNotPresent + tag: v5.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/piaware/1.1.0/questions.yaml b/incubator/piaware/1.1.0/questions.yaml new file mode 100644 index 00000000000..e7444ee3741 --- /dev/null +++ b/incubator/piaware/1.1.0/questions.yaml @@ -0,0 +1,707 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + 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 + default: 36078 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: true + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + 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" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/piaware/1.1.0/templates/common.yaml b/incubator/piaware/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/piaware/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/piaware/1.1.0/test_values.yaml b/incubator/piaware/1.1.0/test_values.yaml new file mode 100644 index 00000000000..4b05cb70de5 --- /dev/null +++ b/incubator/piaware/1.1.0/test_values.yaml @@ -0,0 +1,55 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: mikenye/piaware + # -- image tag + tag: v5.0 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [application docs](https://flightaware.com/adsb/piaware/advanced_configuration) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8080 + + +securityContext: + # -- (bool) Privileged securityContext may be required if USB device is accessed directly through the host machine + privileged: true + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + # -- Configure a hostPathMount to mount a USB device in the container. + # @default -- See values.yaml + usb: + enabled: false + type: hostPath + hostPath: /dev/bus/usb/001/004 + +# -- Affinity constraint rules to place the Pod on a specific node. +# [[ref]](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) +affinity: {} +# nodeAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# nodeSelectorTerms: +# - matchExpressions: +# - key: app +# operator: In +# values: +# - piaware diff --git a/incubator/piaware/1.1.0/values.yaml b/incubator/piaware/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/podgrab/4.3.0/CONFIG.md b/incubator/podgrab/4.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/podgrab/4.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/podgrab/4.3.0/Chart.lock b/incubator/podgrab/4.3.0/Chart.lock new file mode 100644 index 00000000000..73db011048c --- /dev/null +++ b/incubator/podgrab/4.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:49:07.612942165Z" diff --git a/incubator/podgrab/4.3.0/Chart.yaml b/incubator/podgrab/4.3.0/Chart.yaml new file mode 100644 index 00000000000..9ffb6c4407f --- /dev/null +++ b/incubator/podgrab/4.3.0/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: A self-hosted podcast manager to download episodes as soon as they become + live. +home: https://github.com/truecharts/apps/tree/master/charts/incubator/podgrab +icon: https://truecharts.org/_static/img/podgrab-icon.png +keywords: +- podgrab +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: 20650065+warllo54@users.noreply.github.com + name: warllo54 + url: truecharts.org +name: podgrab +sources: +- https://github.com/akhilrex/podgrab +- https://hub.docker.com/r/akhilrex/podgrab +type: application +version: 4.3.0 diff --git a/incubator/podgrab/4.3.0/README.md b/incubator/podgrab/4.3.0/README.md new file mode 100644 index 00000000000..6fe72a34ee4 --- /dev/null +++ b/incubator/podgrab/4.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 4.2.9](https://img.shields.io/badge/Version-4.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +A self-hosted podcast manager to download episodes as soon as they become live. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `podgrab` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `podgrab` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/podgrab/4.3.0/app-readme.md b/incubator/podgrab/4.3.0/app-readme.md new file mode 100644 index 00000000000..6d69d3a84c9 --- /dev/null +++ b/incubator/podgrab/4.3.0/app-readme.md @@ -0,0 +1,3 @@ +A self-hosted podcast manager to download episodes as soon as they become live. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A self-hosted podcast manager to download episodes as soon as they become diff --git a/incubator/podgrab/4.3.0/charts/common-6.5.0.tgz b/incubator/podgrab/4.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/podgrab/4.3.0/ix_values.yaml b/incubator/podgrab/4.3.0/ix_values.yaml new file mode 100644 index 00000000000..30b72ab29c1 --- /dev/null +++ b/incubator/podgrab/4.3.0/ix_values.yaml @@ -0,0 +1,26 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: akhilrex/podgrab + pullPolicy: Always + tag: 1.0.0 + + +probes: + liveness: + enabled: false + + readiness: + enabled: false + + startup: + enabled: false + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/podgrab/4.3.0/questions.yaml b/incubator/podgrab/4.3.0/questions.yaml new file mode 100644 index 00000000000..68768b43742 --- /dev/null +++ b/incubator/podgrab/4.3.0/questions.yaml @@ -0,0 +1,676 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PASSWORD + label: "Password" + description: "Desired Password" + schema: + type: string + default: "" + required: false + - variable: CHECK_FREQUENCY + label: "Update Frequency" + description: "Interval to check for new podcasts" + schema: + type: int + default: 240 + required: true + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51080 + editable: true + 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 + default: 36047 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/podgrab/4.3.0/templates/common.yaml b/incubator/podgrab/4.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/podgrab/4.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/podgrab/4.3.0/test_values.yaml b/incubator/podgrab/4.3.0/test_values.yaml new file mode 100644 index 00000000000..b0e9dc7d774 --- /dev/null +++ b/incubator/podgrab/4.3.0/test_values.yaml @@ -0,0 +1,57 @@ +# Default values for podgrab. + +image: + repository: akhilrex/podgrab + pullPolicy: Always + tag: 1.0.0 + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + +service: + main: + ports: + main: + port: 8080 + tcp: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 51080 + protocol: TCP + +env: + PASSWORD: secretpasswordgoeshere + CHECK_FREQUENCY: 240 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir + + +hostPathMounts: + - name: assets + enabled: true + mountPath: "/assets" + type: emptyDir + +probes: + liveness: + enabled: false + + readiness: + enabled: false + + startup: + enabled: false diff --git a/incubator/podgrab/4.3.0/values.yaml b/incubator/podgrab/4.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/pretend-youre-xyzzy/1.1.0/CONFIG.md b/incubator/pretend-youre-xyzzy/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/pretend-youre-xyzzy/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/pretend-youre-xyzzy/1.1.0/Chart.lock b/incubator/pretend-youre-xyzzy/1.1.0/Chart.lock new file mode 100644 index 00000000000..ec5a061b369 --- /dev/null +++ b/incubator/pretend-youre-xyzzy/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:49:09.431585493Z" diff --git a/incubator/pretend-youre-xyzzy/1.1.0/Chart.yaml b/incubator/pretend-youre-xyzzy/1.1.0/Chart.yaml new file mode 100644 index 00000000000..632ffbf7176 --- /dev/null +++ b/incubator/pretend-youre-xyzzy/1.1.0/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: pretend-youre-xyzzy, a cards against humanity clone +home: https://github.com/truechartsapps/tree/master/charts/incubator/pretend-youre-xyzzy +icon: https://apk-google.com/wp-content/uploads/2020/12/Client-for-Pretend-Youre-Xyzzy-open-source-5.0.1.png +keywords: +- pretend-youre-xyzzy +- cards +- against +- humanity +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: pretend-youre-xyzzy +sources: +- https://github.com/ajanata/PretendYoureXyzzy +- https://github.com/emcniece/DockerYourXyzzy +version: 1.1.0 diff --git a/incubator/pretend-youre-xyzzy/1.1.0/README.md b/incubator/pretend-youre-xyzzy/1.1.0/README.md new file mode 100644 index 00000000000..32d6f19f84f --- /dev/null +++ b/incubator/pretend-youre-xyzzy/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +pretend-youre-xyzzy, a cards against humanity clone + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `pretend-youre-xyzzy` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `pretend-youre-xyzzy` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/pretend-youre-xyzzy/1.1.0/app-readme.md b/incubator/pretend-youre-xyzzy/1.1.0/app-readme.md new file mode 100644 index 00000000000..6909b54ea02 --- /dev/null +++ b/incubator/pretend-youre-xyzzy/1.1.0/app-readme.md @@ -0,0 +1 @@ +pretend-youre-xyzzy, a cards against humanity clone diff --git a/incubator/pretend-youre-xyzzy/1.1.0/charts/common-6.5.0.tgz b/incubator/pretend-youre-xyzzy/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/pretend-youre-xyzzy/1.1.0/ix_values.yaml b/incubator/pretend-youre-xyzzy/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..bb58fc2f436 --- /dev/null +++ b/incubator/pretend-youre-xyzzy/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: emcniece/dockeryourxyzzy + pullPolicy: IfNotPresent + tag: "4" + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/pretend-youre-xyzzy/1.1.0/questions.yaml b/incubator/pretend-youre-xyzzy/1.1.0/questions.yaml new file mode 100644 index 00000000000..2c70a54f74d --- /dev/null +++ b/incubator/pretend-youre-xyzzy/1.1.0/questions.yaml @@ -0,0 +1,551 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + 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 + default: 36079 + required: true + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/pretend-youre-xyzzy/1.1.0/templates/common.yaml b/incubator/pretend-youre-xyzzy/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/pretend-youre-xyzzy/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/pretend-youre-xyzzy/1.1.0/test_values.yaml b/incubator/pretend-youre-xyzzy/1.1.0/test_values.yaml new file mode 100644 index 00000000000..2d19c5fed92 --- /dev/null +++ b/incubator/pretend-youre-xyzzy/1.1.0/test_values.yaml @@ -0,0 +1,22 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: emcniece/dockeryourxyzzy + # -- image tag + tag: "4" + # -- image pull policy + pullPolicy: IfNotPresent + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8080 diff --git a/incubator/pretend-youre-xyzzy/1.1.0/values.yaml b/incubator/pretend-youre-xyzzy/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/protonmail-bridge/1.1.0/CONFIG.md b/incubator/protonmail-bridge/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/protonmail-bridge/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/protonmail-bridge/1.1.0/Chart.lock b/incubator/protonmail-bridge/1.1.0/Chart.lock new file mode 100644 index 00000000000..046cf512e27 --- /dev/null +++ b/incubator/protonmail-bridge/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:49:11.160795095Z" diff --git a/incubator/protonmail-bridge/1.1.0/Chart.yaml b/incubator/protonmail-bridge/1.1.0/Chart.yaml new file mode 100644 index 00000000000..a9a8794f623 --- /dev/null +++ b/incubator/protonmail-bridge/1.1.0/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Container for protonmail bridge to work on the network. +home: https://github.com/truechartsapps/tree/master/charts/incubator/protonmail-bridge +icon: https://raw.githubusercontent.com/ProtonMail/proton-bridge/master/icon.iconset/icon_256x256.png +keywords: +- protonmail +- protonmail-bridge +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: protonmail-bridge +sources: +- https://github.com/shenxn/protonmail-bridge-docker +- https://hub.docker.com/r/shenxn/protonmail-bridge +version: 1.1.0 diff --git a/incubator/protonmail-bridge/1.1.0/README.md b/incubator/protonmail-bridge/1.1.0/README.md new file mode 100644 index 00000000000..24a73dadf14 --- /dev/null +++ b/incubator/protonmail-bridge/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Container for protonmail bridge to work on the network. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `protonmail-bridge` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `protonmail-bridge` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/protonmail-bridge/1.1.0/app-readme.md b/incubator/protonmail-bridge/1.1.0/app-readme.md new file mode 100644 index 00000000000..28aa80229ca --- /dev/null +++ b/incubator/protonmail-bridge/1.1.0/app-readme.md @@ -0,0 +1 @@ +Container for protonmail bridge to work on the network. diff --git a/incubator/protonmail-bridge/1.1.0/charts/common-6.5.0.tgz b/incubator/protonmail-bridge/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 zcmV)mK%T!JiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJciXnII12B7fBF>IOnPefXHl}_msHR3evY@DwmCaVy<(@m z=X7_)FbP?xDUu~YIj)=g+3&(D0T3W5TXxdcTwSR}0yBdFFf$ko22nPjXX)s01`85i z!+G+z)j#9$c)Yv4&Hg_gkL~}D_nvM2ZF76PHy&^8Y;W)WZM?a)y}R=_Fun&`8c$Uc zSp02#XIysU{vZ#`@eimdah6WNVru~NT>VV56b)ijMg`6Zd-F||M)WU`;PV0&*I=3z z;Iya^8$RV=md()w%m~TL$!K(e$*ejLqijARMTH_(W(4!R9FYQ{(Hxcp6(jMU55xhE zC?W|0E+BzL8FElniHayo2}%irT8;L0x5wkXot?oYy1vSaxSR}zphh+rN=k?9#b5{o zn#<}OsfK>}kNwSXb2l6h$6pTS5T^v<6cr2@nnRpS08Xdbf7O7)thg8ekV4vCjR62u zMKS?aK?UXV7nH>RRYtR{A}Adu==>a~7h#$xSl<^ZhUMnhUqAD};>AQO$aRh;vWbI* zY|n1E6OIS{`d`fd1xzYb-je`mpa0wAotw+T<&PX8`0KL`(+^BBtB`3&u?@GZ-`9qNqTSAg~srDXbE*4qzICw^@?l^x|C}Ln1nY!a5PHIYCZf z-={|?K?F5H)ZjU=BgP5}2H=Y{E9h9kCH*Gpr(>zmLC_ak^J^YknC9>Us8YCqIH6;W z)zW@11E#Es3l4z&WmVO>)~cJsg2)L2>R)PlyyZPgffQ(gsq6H!g`&5 z_>RASMPELc*NdY@NG0`e@u5v@*t9kU;k z!GM*Lb6pI%`5dP4TDh)7jObc68kznbh(Z(a)6WhNu(&8&D$~!b=Ado9=2<+*v-rT8 zlLOC`6vbcF(~g%sh+_c3cUggdqXZ=2IE%qSMY1x22`UCpz<)^!hePn6F)o<^`^Nx^ zGB{=IRDx{^lM*pD7Z-?3D5L8!CPeQXr*GAy22a?$p2H93yYW~-IXr&%j^G6U#u|Ez ziU_5IjsjZnd0p-`nrFpzYtcc8iUp3)K@??GN@~HMqXhf3zPgm=38bVVur{{t>FnriNsoDurx%IR$A( zK*@$mEQkWQWNKyuKn@6(-~y$H%9j{aB~C94od^h;=LsZ8*>pi5M#;O93n+>-&+>|v zVhoB3M8Fj$GX_bB!t1O8CFAFHICuj7i2%HUOvFJZwo9Z7O-eXQqvATJWSw8j8L`2e z!dOl_1Wl=!q(Xs8wI__P>GgRQUvmOr6rr+|eAdiDFvST92b@@?agGm8PJaCU?a>6x zuZKA-OKOFS=DvnF1t?wMB1@TQT)+a;@m+@CR4_@7c-q2~>y*F`Qb|t+Pr$)CIQ`!V zcz1e88L-Z=9ZkTOH#Z=BixLD&6uzNM|M>CC!4q((iVU6r_Mmj}O_9yjZvetD9H4Z; zTJVG#27)Hue8EvV1g1qcSDjgI0Q3RQbIP+P;77(OP;d(5_@ZXQJlo)w4=+sdbC}=? zCkZ%5ywDKFbDUB-PV+=D^Yq2*<5vf#FW&!f@ao-*2?!j`s!i~u^~9D zN|Mb%Uf`_2FS8Y6qnySNc?doE;_= zUEzO&i;~bO^Bu2yHqd}5na>a%aiPWJPoP&10G=ASamgz(@fLV6xoS~a9u5?tjC*=@ zX{|6R1QT%d=0x(P+z{ibDx}m;Y<9TqXgai$MAe#Rz4{lq6%*eFB0_sa{?%Q92UF1tU)=DoR{7b<1Kl zpoLZ}sTlt0rvgoX{&}rMI7C?*p`4T>S#Owf2IKUCeoU#*(Bwrq6a`05xPHOu#gNR9 ze7!#4YT$(be1+4?QY`MoR1|FItvW$b#b)GTmJ;-VC@b)on`iR7_^jD!J>kr$=BiD} zvM0O*Pf>IoCCCRz70``LJ|U?V26TaZC`*@ss_PK^4^_TGdjP6pQ4DY@H8eFeVL7C$ z9<#P?`)Vj)9Ah!Eqg!LDfjIFU7uh*dQ-zHH{-MXv;(ABc<=R9Ms=ZI}0;Q-dhXsN$ zW`C6g7Np9DIYnQN)-9`>D!g-)WLE=TKpCyC1SpU@=%!`dPymoLXe+uGwaX$gzz(=I zV)`wNbvU;R&*-N!Dz~Uiy~5>;z7l`7!J3O3gi^~yoOF6rW!dvIvu$aRjW zZJsiNk&AStWokmrHV3DN#{qlKy&?-x05PoFf`Zs8C79t8~pz#^pDfS<1^-1I(v6?e5P0D+Kzq_dM}4pDS%XY z)>{i{3@#9TroE=x9uJavOiE@kI#y#qskK)bjQK47cV5>@Z2n*|u3)RI{4T{kP{wkhXVxFpmNoZ~o7&=o9DDQ6xjAe!P!{mbR^ zl0hnSNXIYVLxmN|sLG3Al3WYOhitF21TfV!a=j&~!=zIK<~gF)CxuUc3)D3(wS!pK z$+}`Lut$^0@&`8aLdmnc9h1$ zsua3nia((EbzN1e)*+oYI31qD5=R=VwfXa>;JOBmJ8SR3e3O#Vl!S6*vmLYvNH1{u z!BdnZli5Vk zg?UXB1yI{4^iyq>)|4GXG7CXJl7L$LkBoQR_rOBAVrtV+wXcQhf`9CT&2V#jIBq~X zWowgT7N%%?)E0{kOj5uai$pG|3&eJKBUBFsipGM%H%WU#W@b}A$eK}Wss7VfC-!g& z!9O!H6Fb-}P=JaDKC);Jqk5a0o=eAuaSHP7)@TnN5>ktH|&|7`NQiqHx}*=r;xbM`nMMj87!))XkD= zj-)kZZkS80tA~Z0jsBC8^FEutCo}Y(SO3S^hA1jRHE78%hhK{6UFw+5D`IvBfB%|N z#1S&$c;FFu0>q}X)*)goiKjZ)I;@dZM={$X8PY`rhf05bpC;E0Xa17Q1dgwLm2g6` z0$w0+s6v*+(tL_93;=9ZR3a7!c{V)T0P%GS=QyG&gGUZiX5vzEEOu05;&J%D-<+In z7=C#L0u>GeU$m?%`4TDHh&4Q4 z*K6`j*cD7!^DxzU79%xHYX8u=*isW+#QQEr#oqAyQF5;h zR85$d6t5+8MOebly)CXk~0qK66flb9ff_UEF`H?_2dpoq;KWgie+V5xFiHvcY6g1XHOcYhN<{jnBe40|!KFL?6^6O`IG7PvnT> z7LEvW&ZYp?cE()9GQs@q++KEhoyiJLpz9=eZ8$zi0ytm!b;tpQu+rT4!A0 zZf}jXPdsLNem#`Y+x00Nk5Qx@GUek#JDYc=ISX(a;{}c@n9!cObwFcErtZLXl`8}sh7GX5g4XKz`ob&zlKPKca=9_YOj@bMrP=Q|GfmZ zEr!iDeWMwI`B1zYG9RyC^&4uQaifiLIm*(K6cDFm*)Vf{mI0?1L$u&-fDtT9e37#F zV5&PuPw2lKS5~YK=&uv;ON+MV!?*-+%JwF&HJU(CCAWxx??alzHiT(Bgek#8`DT3} z|8j(c6Gj%v60uKQu7EZMlhIMb9jy;EB$^}VUCFiLL4sk4)FC_}08mN_%-@a>iALPt zI0SQ;=TyeMJeH1XUPzuQS;;8_7{^0Fz>s8&*N8+zM#GR!XZGh1a>_^R1Faou9^!lg zg3YhD!p+_1;byow9`n(zDCH+Gh9HnG$0(Zz^4-Me?*kgg_*+MFmKHn_I{e zu(|d8HD>Q*&-SbFsZ%{TACdnXPC*&9fovpsBAxM`iI~p;fI6@l*XuFi~frKmGBjY97*6DQcFvooaZhW zndl)Ld^P&`ad2}pHalc0nh!wWzNKC&%hf%Kmh<|n4L2DL)V7m*1BPeJ&DM4_LS4}}@Y zVY#81H3VQ@lq!Is6OCrSiX{)wQA`2))m4^7j|X*nfk4)BlcpC8!S5i&X-tLmxJJf2 zx19)O9+NJ7b-BBs(`@+wv|}`iw&FCvOd(FdT3+CkOhND_BLIrzCN?o^UzF>CkJNR& z(`08id%i(6GrUn5&T{CW+FeHsv)<*!elsoatYD3Lwl7={a|e1_!UfH0y|=w#o)rWp zUV=Qe`05B1b6l3x=Jk=_WitA}Lpook1QkLA$W(9QV|E=Az zrT=%H?LB+c{}1sn{m*QE6|+Ny0%9u$s{YQC3Ne|ctOAvF31sKLpooajDOl7QUFd2+ z#RKa$gkSHQ>R>n=4)oN7ENkFmb8v~%cv4d^m?HvXNZ>?eTX9TUzUY(*T9h&spniNsFYwo^@uu;si74K>3TTHVC*EbjYvJfPou+6 zr$(hb=;Y2Wb#vpw=PJtqOQ#L*i8&fPB(aOrkSb>diibvQzHZbbL`%MMbB+AY>Ho5L%9#J4RZB!aV|o&QIcn| zqZ2iFpITo2*&c`fSN8p?41f;(|7?42$JYP5}eRHFc)nhmsDNrrvhu{JFwXLOVSphpV(D4KU z$FL!xjYb*ZK=3{5Uk)z-YcY-p2vql(_|`4hKCgIP9hjI!cTzF>VFNrRiPi-+3rSPN z<0%N$IWhgCXqV0n3UUodL+p#i@QXzN0+R4X#pnYt`P>*gj-GT>FmX0eGOTS7J1Mg4 zo<P1o3L{N zaPie8r|Rifi=L-KcDz(limosyV{RdyhReyPx@#Il@HrkD5cU1B#>Vi|0+n=8G}#A1 z(1-RWPK$ab^k%U97rL%129kyAb?anjSgjKT?OXDyvnApnu&l4wt6^TE>(bGL-@z0Y zC2;^Z0SvXV_WADCt^R4+fB7PM;P{_sd-nZ5+gqEPkM`d~Jk0;6+keOPX(JKg&4QTQ z?Log+kA=l((=A8E5tXGlX^knDu8 z#NF#)y+?eQDBLwvyN9jcIyzdNjK}0p8VOUh)soW?Gb1o3p?! zM-SJ)>N*NhD9s+N0ySL_$`7;rn$=y`)rY_H2YZCdhSzaMBUg%MTYH*8h9stw;U;5RcgZ zW0xTmDx?RHOuL}TuifQR&#_;pw(2vPj9sj>G-g%t=5ArnZf0-WlmiE4iC~k8At3=T~{l7AQ zmS&B~SC&mH2d~G!B0g(&l!W8*|LW;K3>(V2g^n4#Z9ZZHZGRuJY)oGtvDvy#AMx#6 z#Hxc$bbU>>y85!7zk%lYv$J#a!P+$_+q``za!7VL`&!1L?dqT!x=eH!Tv zlx?m)Sx~kW>3G%)&7ir@aK+%5|Mls&6|Dg}=KuDy ztw#LE-p*tE$Adh#i2v2DZ(nHuuyO3NGXhwn;!hX?+y;1s0_ii2;x&R#?-I)UeR_lv zbdRCD`dsJ{%UdyYCrd>1_6yJL3i%ClSP*^{M_a(ID&_6LcAz&87)dL%^qVE8dwT$G zW7_%RWF3*ZkD;@jp|di#mz5SvjU8(PZo&77WiwoLC27M(S8AGo0`oEdt=(g^_F8@FMX6pa(-uTh~{~*s& z`u~L(5i_Hqg21BhtD_*Q-uZZGWhyiQ?T{jL+ zJjLY+VHrCdb1#B9JjV$pxE|=CtYBuseQMvlE8>*oShqC0Rho6U7>f-+cFbL^YUOJO zcJs9E24J1|U#uS+WrODZzRhAFsMFU+MI6*;ZA2eixnetMlJu+wd%X-&0d=Bd=6(BQ z?(B~Fl07l+*9r4Z{?G5gdOs2ETwemGm*G-KIR?NweLFW^C@Iv%IoH5-!BPyN{nIv= zS`a!0pax&H*S51=xpZ9;q^=`m2)D(B)!}iK>1yk)oBEBNJvkZ_iRM)mMOG1(a9d_i zF9WgZ#OH{XR=xH&1y|_2L{U{BmHfIN8huDk8XaY9<|vy)QnHG4U)mt9wSz=p-+s-Z zH1EXLxZ|$UaNe-(C@Vb#N&Gv9R)Pt;DgZD@P`N$ByeML$wZb@qrNcOM+|GMR!%kBx2Nq3 z=LYZCHPOl8X$*b?lPo?A|u#5Z6bwk^t8C z`a<@bn_A}a%h>}CoLyAs0NbDp@GA+^*uH1IiwN)4@4Du&j*%FRU^lSaZvjZF`8g_h zb;jOC-KO1PQS_!8e_0Q#PE@W;F@4Xz`u#t4j{Ms@f;#*^J3G6Zw*PngG5+&mo?FC! z+5-dplAYJr*H-C3Tsg@zg^62bncdOh0dic+;N1V!PvRR(^R5PBl;60e+I7O3Z z;WOogZJ+^P-wYVzRxp3{xs#~+^h9BoXNUq>@NvHP| z6~@i*Db)h(&S7yUKO*|cXbIz~sxaB-Hw}AoGE$zYvaa=yUC43R){S_dUz6{GX=b!( ze@pQzn69r`VG$_qe>Y#ME7naI@_Tc3aLJ$Cv6jD3?Xg~kW{_Q_T64O<{T(FUp7O6N<>7=362 z5UjB*1@>E!q(FnhyqlAK5Ijw@7`?}NP`6PuZhQNg*6xgCQI@bO?DA~0{IULB`$WYV zeKlh51~*zhTGP!=-?*+1RUY<>!uE^HK|o)h=7}jHMGN=ATJ6oHg`Rr7(yY82hV{)Q z{RtYdp0CFSO3Rqh6Rj+;0P8GtinnVyv*Cy$;quibRXF_GlY= z(gWNAMIxuH68EGwAnJpFezztQzeM#-7BiP*ptn^LpwG!L6(y}jZdQOb9XxlO%P|{# zcY1mputv9+Ice;$!PS&V)Dg;Z3rq7I8qM&sbH=K$~_=HW4rY6 zd6=ig{$E)h@DBU`+18ew|9fY5`!WCbgFH*e|JM1zf2hx6-%B*GN*#XV4%M}H2X6Yr z>fX2`b-i0kjaXfCU2iP$pXQ5bx&5b`m4x=*)QQtro(NaTU>K~MEtAAHgIVR5R+Kgq z>ei@W&8#p2DJ-n+Vl_0X=DAvT4msNba7TtobUL51Lg6kiabBfji^3l$}dX*NRkv!UC_35FMcd__fNqc)+dz`q^JeBm&CZB=7X~pSZy^w4R zwp>IkGE+O`!90Ij=(^TBE+_n=_TSvy`Og1XUk5!Bih3+Soeg&lc(K%N4#BtP-;>Zf6gScPtGP#V|N3WLlb?NtWj zf5HT&5h?;B<;39;w7jIzO4GQv8+MaOyOk zFvI*UOfTfwA>Y@DZ+`fod56-_?5eKL@HL}EEHLX}%FgqPc3UqEb~!7w1LeMGCusi3 z#}zl6J}mLhT$NVgxHJdI%j0D;hBlg=SLX>XXKym{7Qy)XAdbb&i`=>G`D$>t9fX0L z>5GXoyS+M^VQ3(OWcte7+Zi+nyWFkYL*02_R1yczk@Hze+PdL)G7?PxT(?ba7o zL%;GxsEAK|-wP-F@v@f{Jq`Jv;PX+03Nm_6|2)tMP2)wtmOT~v8t~ZL{yDW)OVQyebKc26!b)%UfEHvsGNj-+OOH38=A+dH% z<*|Bias80JYjxU>Jd?KDVKw}e3ja;7OWkVF>biw>)6=*dcLPQsZ$#Z1M_vM#Usbrj z8m>b+Ea3v;gl8Cf3f4hDib{+GURP4~@AQlE-)R7X;c&>DHcMYk`qWO2aGSU>?wc@u za3m>JJQ+#KFcRw*cZ1p5IQkd5<_*>kDgF-5ceha*nR{v!;w8FngIM4NB&aXQn?J@m zhR5f2Plx_rMf%6i_^-_!`~K(Mt;hV25A(?NUxCpAu_JLKejX1`0UZE%iX%u^7)2zK zsiN4w;Im}3w&B%7mpOL*)~HCGS0y&F_qp z9>PwFYGi72RB!3~yg(&NiGo-QNqM4?um1F3E?HV%aLT)Z3w^rop-XYC8`>GK>59*e zl_1clqr*(;ewUJ}Ioic3uFRHam8JwgJ6_$AHA_roHAMkV0se4Ue=S@2R*!hs4!wG5 z?rYZxnsq#2O>N29>T}RwPhVGdMZd_gX8vu*NdEX z-Y9eietVC-XI*`Zv_Y|&m2%9n>Y>ibrc4us#3Z6~uSK{$8jYXxpK+-OpF+zhpQC!3GF! z0oxOz+Ls4QHvbcd$+r1#Bxt>Z0O;KRYux|4x3@Wdoc|B;u=#(GB-s`CS9Okrk4)VA zopC>CjMC6M^_^LKFKbZxmXr*a2oLp28s1RimorrZWW_C7hA+_eFkzk-SzcgjywrX_ zw#8=OUa(ZF^xVXCqj-31AVdyMFG4Di_)Q|Ff4fBU1u71+dCrnZ|L117`E}s%(sgn) zG>`HK3fNU+K}Y%#&aA^3iY^s1O2YA7FUO8L+56BsJl?NKMyluab`FXNr8;BJqlLMe zr%nEgn3p?y0K4S>xat4f*?Nrse~?GF|3tj+ zVy$#B6CP3^;X$5D`ObEEax3C_p(UViR`DH2YQmYr6kecsc+R(0)CsGTI)QIf%$|rA z+=a6ZHVmEgbzFO|-B;PH%MLE45i(mQcfKB_>!0~)lmC3^-23^j?d`3`{a?@ab{^&b zLp)4Qz4(yBG;YNI@dVC3@uUkDEmYtl$<86WoJkq%c4V3s>LG4v2zV_kro#bhAFQdE zYsY7~Y~Y`aSdMjXtXRD&Vd{a&J%vR=G{Qn0sM$VxQKb>sea8O8^OI^i#UI!?V5b#6 zIAka008|uAt0cJwzg958Q%n^_p0f@K2R|YXos}mP2ko2^oTCU7nL0>F8#ZZcT#@5?H{J!`h>O5hG}ap6n&Yie#2Rz5b=~8R z9|Mrp?Rs8(2H93B>stad-1}NQsOozW7;BgYRs^V^#9gL=z^tUDtNx;Ke7$c(sahiP zImoN^n~6ZoL~V#uc_?g0I=tC17juS}V%AxQa1?f~p>K;Jmn;#t?Ot>Y1DaR&0fuIYZeUop7bBT&o}1rMn7PP=2==I4_x;31T77=B#@wKl`z0A$S0zJ3-+)jl%4(U9zQ^m%GE<*TS;xv9)QiG_#>4j>i$fg$hj#_u5+Gso5+@KK_7c#G1aZ#>< zy4BHES{F)*)7i$$TV*UTuq1ejqU%WB8K{0P33&hjN*AosO?}|<5?ybIfIB^J5lRHt$CPEot5{BcT2+SyMCSxr-`|D3mT< z;gVPcu~*IGr?NC(nyFtLxr210xPyxp1nWY}=0FxJjNq8Nz{(s&czVqcjyQ;ER?u$8 zMV8V9mWnYA+J?J(9HMlgSCXAbyO4*UI=m&5eem?s`k*@e>B9V?O=-;H)a@&MbT3SO zFN&*qA|Y5pyDgi7Im}gJMF2H_ql{0sdc+*EdKdBzdD<+l5kH5ygsZubY!9C(z|%(s zdNVCf$s{468=_p$y1>$jVS(1|ciH4Q3y zt22iKtVT@7Isg3@O>1$wtP#}72|L=RHo{n<0e&!%6nL&RXUo!!&6u4UihfaB4NQ!k z<}GeFHyYEzTM%7j=ct3~(N_b&*RA}T($k_sZw^iXOQQ-dP>KpjPz=63eg|+m&3Gee zN!d{|FolS$tOyP{;c3*|SYM|L5N3WBkvmE;W%&7>u?pUc6J2A=%8wYH{E zP@*7-~=GCI?T2&X&h%S!V)NKb9OVJoSy( zw|j+Caj>DbVC>HxV(8RXE*U=Oj5kY?WnP5aq0}vRkO#8qsEA`GieO?At%%GMuqG*8 zXRG91Gp^gzv8^2A)>R6p#?yQJA0!xxq=wqhyUUF0$rfISWKr{P*5=Bmdvd)?@tNgFI{{#dE4DgHOh}7zSSt zbB`@GwGgdbX7giCqoL&&bR~4x*VFFQeV$B!W(q*i%=5>y+3{udQ}?z090uP3Jjin@ zR>V7Ad$_Ehf`^Wv5485EKxvE$zR4gBsFBVOjW`&kKHw0^{1o)!d&^`ek zqrs!goaj-#nIcR8mGIS_idW0vD>-DQwY@Pj@cNSPdh_mjQtsNxa7|~Qk!;sNkU4xD z)ij`n=DX{``)>KqoH6%#{`=Xpy@veX-FdwK?Li(c|5+c4EXZ{2pJW#}>L>MuuWon` zcRkxMR^=7n;UyYfN~E^gHEbD@_5JUa*r2kXjl3*2sB%JtZTO#3;6hvjTZABG!8SWN|Md(7+?Oa%u(dp&e-y8 z#hJT;Rv#NZJ8bMs)FiP;z@cL&NZoR*N(Be+PQMQth4ogjp77l*?80KjJbNHAwcbvy zv5jKAY&KrIWm)2AB#$@01Yq4mC%aepTSO*-tJmz((oW!)+R7_x&rvAuwry;t_yEYO zNoo+M{2m$)1TVK)8%UI&WYJ}NE8Hw?w2YY_f-G$q(2>|qo`k?0tS~u33A{c*QI^J~ z!74gcLPsIcPPzn74YsO4r?Uc;vn+|5u;DIN*bxP@Mnhb?GoF| z{ik&1e%Js{F+p?RHNLu`!t%n?!eN>*poT#*r*Dp_Qkm@6%hM5)9}LsF?NC6!f?$@F ztWr>i2?p$%VU9>Y8Q{RQFN#Shok6z^2DWC`;cx}dKN#+f`r`i1W2sLYmW4^`2V4@IUNH4xN@$j8?FwF(ATQ7q6#%Bd zERLuAK3!b0T?-MB)*y4g4Q0of>(N)>don}C6)q9rWU!nEpS+WDX%E&x z`)XCfcIBwSYXDWBTlpeO)%U1s7p%5~Be%AM`-P1WA>-xs!d!iva7VE#`ej{Q3g)@}Q@kN>yX!STc?7#8OGdutD*6!Y8{^tjIo`7RW2rAN& zngM(SfU6lw!Fh#~7^fE?htVaxKxH_10#0YtG~rwRB`9YoNx(&tor5_f(F~^-8=yc5 zBzS?CjMCo2G#)$wDY{^RUUcH3DgJ6(jbqd@;Ki(SPL6a*>W|K<6;Jta32L2`UF) zh2>Q~_$oYymxHfDGN*rM1-=-3_5Ti@fFEFiv#JCyk6x66FfX!SP(%hHju9O3;zjn$ zAY7DD7NgN0K}v}E|Mtbf(d!rCJiZSc?el+gXV>=sZf=bq@Be$4=ZVPcFc|#(Cv`#E zX80@||GYLMBrhkU5uRU!<%}g03vo6&hw%j(iNZrxc8JqyR?H!f*8TsNbq=? za(ICzUwsAsQ{ukBWLBMrQ8piuqCz~dX$14U9FYQ{(Hxcp6(i1}e+&jso`Ba7%TVOO z;CCQy`gk#?w#e_`U6Fv_2fu^ia5x0~fASCZzQzK62kbuv^es2y<|w7a)@j@(;Orm! zo8jheI3AAASW#}mP}KiI*Wh;`c14fGnwS1nMg?ZKdr*{&0{*Z3pYa#_HTWGIfBW(X z{0?wRVVv#kK0o8+{SJ=b`M$h+eQ@$G@H;5w?Qv(pc)S&;@6Pz`-+B1k@8ImGpB*KC z&^8hJmGu{6H?m|gDp9dO1v~ft)A(nT;NcKfWEON)+q9~sS&G^!Nr%Pn;5^Id$T(wH z@wC=hfZs(HITkndbVAW`Cm2v@!GcZ=`p1x0>4rw&g$d?a zxEF4>)|2VLwc989GeT5ep5L-2UGdOi!TxA+fah=%$({2Q6wW?n#U=eBaw5i!KNO=LqH)(?+I%iu?mYSJt*ImsHnx!xV1VD zz`E7Il9ihSi^}jG6_@3*9%>ef+=WXs*#MIBz*xbl&8=r!o4u>bpeBQc)5GK5$c@<}HD1L(zvr#EdT%~);G+wkz zdC*b`UZ50}B@5u|QC?igz*S6$_+=422)F9>Z$_4*l(Dz6M5PCjUY;KsU8dF@lxP!- zPm9JmD#|P!iPFO;!TkU>6e-)DbJye+Um3>PRoaIGvV4{IDs72j<1!Bz#|@k6&5P6b z2S=}8zHt-V1rw&i{B2#>aR}ColB5@v{IZr%+skuKR9BTHcp<9zc)>qwEz9B_0@;zV!dH@? z?vj?FJi_6n+$!F&IKzB!Na9C4mL0@}6vzrTZ~amhNC-lM6=0Rt`4UZ&dBgKBHC- z<`pPUa0K;_+Bcav$|D8rtef6q!l9zf1b%SbsjZrYg>BYVzFWNY^v(41#I*Ze^d*tY zxzeX(w=boS=fnlSmwUvz@}NI|tveii6VY|0g2y^3NdXDExONc!HcJwmUcAd=NHj}B zPZZ)DHqKaWN6Eo(sb_Fdk*v-l$1aoSna}5lz!(w;s*=+F(+nl^VVp%JSZszn`nH+2 zyOd_dRhGrSj8y57xMZgs@oMXzXtP+w|CXd2sWbNP>F@9&TMdr({oiL>&&Kxt@6OiF zWB%_4c|>rB+6BgQCfU|llvO~70ZuQ1!QlS{ZJVWR^w6GTUJU()o6@cf+Arb8e9*NKUrRJPAuh>}NHE5Ts zu2h{-u;5*Nq`zeuZPpl%<(tNr(V`pE)YQ}GSN$(!tI4HZTBqA0Rr zZQTT8oyx8qhOc3Yr-&yQ*Xfh*%kW!7*7Q4(HbBsv#3nfhWr+%Yng5%NyqM?Ydaa4l ztXb#7+W_zRO(b@OkgoC90&dj{dxhKhb>(0^Je=VqE>ODWK_I8ZWM4!2)A(lrUJRyS zePDM4i9&l??YH-f#t6;@n+U6yc$jVz+5#2;Mx=tt5hRdhe{alq`PAhEBW;{M1_3ej z-*13RbX^bp8lZzR6CYR!Dlpoa9<+IqOgiC=G0(9CSmWaY0FOn5BMTC-0! zEPCvTp#EAHQ@*dDJ}55AJ4k7-h^BDwD4!{aTL@=ZT$KA|f=~`{%C|yvvB{y<#qE;I z32BDxhQZj7Fg|voqvEE4@lj0w1;jL)79JT*$5Ok1X0>lEooVd{70ndkpH(i?w%wah zevvM2FO$6@`9-?0fb~HsKG){SwJuUvfFFxc6jxbT%;BJjgk)E6$oW4AK z|KiOLX8&&h>+}0>-hTf&R2QR!?24JUXv+Vfl60Sm= zL2vxad9%%39Dnou(Tn$Q4qm@lNoy3e4oanWG8ss%3`4aSQG%B}`$@b#^&+)65hc8cW zHCWq0zkF?jUJ~F(^JhmVHEF4Pt?@Xz(a{)Vrdi**cxEFo&MLc z)2XfGG1KYjY_-y9-CG;!FVaO%8@;wYU&EXmh?i)sF^ii*{W~o)$Zc zgDV6se#@Ff@*3t2Jff1!zrpMO#8Y+uY#a5?+I0OQ!|#A+-2!;Wz25-YrH-b)bM5E< zAN}NRlxi5i@QgQ$50Ex-AFTJH-`nYZQ1`{rvAlW>^Pfa7{0#OL#ucuiUZjf+6X7aX zP_zf`w*TN?Oo`BP{!sI~vDo4z*bwfs&~h!TIEV>gX8nc(@&p8dZYj|g^RI3@n_oO9 zjfs;Nhi_k;)|L(bS{s-WJt-<5c3sB*#k3>mR!_|+I%PxG5;Y?m9)nDx*iN`;zq z^;9JurPK=RvosbyowY#co~=$zqk*Xu1D4(If4@b?H_Zo%=hpr17S#1v-DotrZlk)_ zl12P9wb06hJBu;9qiFYf$tZAJY}?;?hoz+XQAT$4bgsGmX_ABq2bl9hLr>_Go%mGqC#CG&(XnrbtCKQX_s)cI zAb%+f;xkd1dd-K^m`sGX=u3WeloyV_i6(}h#y@vd^k_UeiZ?(5prFvuakoSw#=jql zoMalJ7RLj>)np%xZ(%rCh>iE2X5QJXps@XI??u8LjEMTkjecTV$qivKO!mQ|lN^Fa<`TSyqx9 zlG!kZ1m3PEWNyS(E>iG~0xEYS7?FAIp$jcmOqPZV?d5 z+T0rHMn+|U7Z>|zY>3HrSyNrNEWM~aV#14^C+c*fm$PcJL`$u???vk`cjB1WI(grT zG0xzbz0paYArgGFv2R|CCS#Vsh!$Ri#;2C{e;Ui#G@l3bC(i7Bj@XxrjY(HidN_}sBIXblZdSexJ?#+@08G3V8 z$d40oBio5DY{4c(zryWyl$a3gEwjd{BtI!?dF-RY44yEE_^kIkH0#csU46X0Yzc>o zqG{|Eh*U-DvEabHEg0v$mWjrxJK0gUTrbYuAqjNQ*wPQD1Qk;lp_`94`Wz90#~7^g zT|K4w!3%47oFIbM7_JTAY}I;W9e1e>I!0vwC=oA1FKy=aaNd7v>*w(??EhI-;NR#{ zK6#&K@q1X2tc>8DmjfO5Ka98bHtqZWcDA=4?f-{(J{SA{J2mucu5`_F^*mGV)MLHfkrs-?J;Tt(2Z7`E2}_Pk82OQy1?BdtXg`dN03xMMf@6(0!N=p z6SuhkWHM88Rozf{TwWd?zk5e;f`4O4B#%)Mp_IT2)JHz|lgK^{`@3VGkX3D%SdF*| zqPz+wV0YX+iK;c~HJWF|^*y(%1fqiP~;Xzg2nbRFK?WBC8X zH5IGP{@dyQ+uPi;^Z#z|J?8&?nCElx|A`A{R_*Vz!Ty!}d!p_A{CN#VHT`!@UON1B zD?XnoaC(m2f0vc*r#E@Tc#jZ(4s+A%0~7SM`n-;C+0*Iula_0XUl`;#py|o#(}xo7 zqM}?oNMjka>?FybXvs|)KM>kc*tpthpWo)hR1Lq%sdshbil+S$pPQ!j(ZM6`&GI zV)6SfT_vy$gX;Q>1|5Vgj^>Y!)|=;jsWH<=D4SI#muwOU$@%1K=h8CG=4S!aj20)E z+fM;}yp!L%F>KtRz3y+f9ZLz9H&op{e${Kx3KVTtt0=g_*?Ov0_Vao)-T@R#!m_#b zY`dR^H9Oo-f@7dg07dhtURS4HZ>u&}sxnujQt|@NVR6kA*koVnininyx|sAGl=G+u z4V$3x97dNYjg1+0Us*0R!Z*O(Na?|!TjT)gritH#Sk2E-anD@hDM403(QVcK>8q3b zN*jsd(^n_*RlEPn8x6KhV#yY3!0W#{eRb06F*+`?1&(i(k^2r>nIuXl(?9kd>$ld5 zrQ+H?|8wZ5?NNe^BjV|^&;!tPTmc{>_owqKF zf5c>Fr=DAS@uB4xeT7Rx)j0G0@^o~)%CoctGS6erI$g^gM-`RnYJao@aV63R-7@%O zi}pukp7&dUvL15=EBsZ~CBJ0nzBS2rS#~MbBmbS9TWgUatVlN0RDbI}FP(79tW7kk z?snS652)Mq*D9TO%DVC(jjf!(tG&fupz+_5EaQW$`S9nKEVq{tx06Y2lEqnPQ?O2^ zi0xHlY36M%&%DiBGjG#i-ck*_gYk#nFuRaR&l?e2n!rG=q zbfoa^Xhr?0PI-pNGFT5!5G<9#v-vToT{9lyBE727S;c+Z`Wi~csn zGPcALHpKF_!?HF*Ut8f0N5Z{^wHTRx!&$Xl)P(K${> z<&0|SVZ?OxEW1j<@GaQceLmUQeGUXe|D86!&~f)~`*LN^@o8s6<>`|=i%(Eg6_{Kf zW+_1*{40y*(Q1cr*Z>#8B+0Ih3%tMyx97Pk=}RV|BJQKIhxR+>~D3s_lf>Gh}}r*-8gfm@5dL)q5*UGFJ02G+YR z%_1id*ShQh_kZpEe{RJS?ge2NGu=H3pyU3BoxM$a|9@}q*<=3K2YEiD{eSaT%ozpt(0fZhYA%=nQ05 z#H`~2L2*&xNj06~58fNQyU=a`R}pHUeZN3Ofn&5kY^SY3)Elj``+|lQ5Y@a$!NoP> zGQz)##hNdoo{`0BN)c^F1;!Nsl&gIWR}HZ<-_|YW^9jicctJmvtGE)zf2LN$v*c|r zx0>QQz6l71j$1|8w^h!cQp4$(KNd-ji#$&vn4tgt=48df#-Quu@Zi;pAw}XR4SyJl zI>U&*8v3LW8K1VT>m}9^VzKbvUuf-Jq_ev zYGs$jJ(qDhgB)u%gMai-nZW!m#+*Muk`@En{aCFwocq2$24ey?4Z|l#5uRdxhPm~U zw?f{I@Ju%g1k7iDF>~NEymq^HTn&A*(Qzqv;ZMfzU-dL*1Ura`$W>Nceg>0*J*_h% z#ffunoKl0?eKX{&Zen94B%spQPO#swoqy-N)4|HbmVRmjCD@VmMnTcQsIidOk>LLk9W$0h@G z(5=E|C8wmHtVzIxF4xRLnt-}a;T%VLu9OA=XRQSIvXrQBgEJ3NmQ#qof1JoGn#gsu z2L-syY||r4+Gn`v&2p`-VxNoP)3tH`Fe~hw#2s^3+h2G|(7c|%3l(#Irod`m-igT^ z7|pC#Y;s5MmCtUk2)?@Q;ZEB?^jL@Ttemw>lfmk2D(JHNKcpCI zIc--TuVd38U>AxL$X;lJDERnEMY1WE|Ii|NQJ?EtMjorfa&6lm>WEf5FFfWMW3s?= z$1M(JFD_iCjaU_?A+$qo60uWtG^&fJL9^l7NNn6x_^%}*vnuC`7)c7~_ z3ePd|sgC->fBv`^J{%9r^xFij#bN;&rphZU6U#PdHTK0FydNF7#iyPWsE@s){7ecw z(PB8*^uG9S30+vbjlK^3{Y@{3ltG5 z%DY=6p#8-hm#%DJ%_L!}LmwTOj}FX72j=}cFpaZ5yzkpJ$HGxTm%KwZM6gVgTi8q<(quRj%b%Ln%PcgVQ^5?2FSDwM zP#G5J*NO=gDR^t^M8BWmlQAawC}uebbT3L=^cvmMsqy@hlkDcfBGn8ozD&5({0A zg9GkCe4G`;49mKMhrm0QdDl>uRt0k34J_^jmJRn@FsyFIXC1kU6G{eY@)9I_aI*ou z;UGhP^G+=bwP%9y%m0mASw#|I;3`O8p`wxf!(WnJjQ@Q6e5_C0UM=SUd~FwBo2{=) z^$;&w>xrtje+yz;y6O4YxN{iJ_0OIYVLgas%UwU2?1CnnN)Lsf`QcAZPMNd0k4u}$ zPgE4m#Xx~bRiqvZAAEMw`c|GLudLQ6p<_UL4y^L}GK-DEC45Jo8R`6sV!IZ z_XS@MYafz&3N3T?&9B0ai;QGZmfTT`c@>z1-#4wETh~Y^6A+vp9$PVwd4eNM=zGtR zQJ*-<1=M{Ga~W*kot_>qDf|>RR(E-HC(9`W1Kr7z_}(4eo|&|+8yo-f`AX_Xak*-7 zDLdaM&E%lDyDU3M(~PiNBvxRMd!?C%#R7VJ*`~p4ghkwgaO;C^mC~&*zLkkL17V|+ zZURz3G{u*pxS%||tjq2FTXcxT=8i<}@E_5u_v~F-Q=nOj1$@2uB*hDPNClM%9zjSYY zboS+e)}ra0geQ4{Q!-r(G}^u>L7EXT&8jpGHZ&%9c3fI@-GV2tXrNc;+zl#TrVE(h oSTNh{0`NuIMa@e0a~_|^=ka-b`ab_(00030|FX^SE&y@@000UWfB*mh literal 0 HcmV?d00001 diff --git a/incubator/protonmail-bridge/1.1.0/ix_values.yaml b/incubator/protonmail-bridge/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..01362256313 --- /dev/null +++ b/incubator/protonmail-bridge/1.1.0/ix_values.yaml @@ -0,0 +1,21 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: shenxn/protonmail-bridge + pullPolicy: IfNotPresent + tag: 1.8.7-1 + +service: + main: + ports: + main: + enabled: false + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/protonmail-bridge/1.1.0/questions.yaml b/incubator/protonmail-bridge/1.1.0/questions.yaml new file mode 100644 index 00000000000..f68529ba911 --- /dev/null +++ b/incubator/protonmail-bridge/1.1.0/questions.yaml @@ -0,0 +1,680 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "main Service" + description: "The main service" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: false + hidden: true + - variable: smtp + label: "smtp Service" + description: "The smtp service" + schema: + 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: "LoadBalancer" + 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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: smtp + label: "smtp Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - 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: port + label: "Container Port" + schema: + type: int + default: 25 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 25 + editable: true + 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 + default: 36080 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/protonmail-bridge/1.1.0/templates/common.yaml b/incubator/protonmail-bridge/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/protonmail-bridge/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/protonmail-bridge/1.1.0/test_values.yaml b/incubator/protonmail-bridge/1.1.0/test_values.yaml new file mode 100644 index 00000000000..20981bd1060 --- /dev/null +++ b/incubator/protonmail-bridge/1.1.0/test_values.yaml @@ -0,0 +1,40 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: shenxn/protonmail-bridge + # -- image tag + tag: 1.8.7-1 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + enabled: false + smtp: + enabled: true + protocol: TCP + port: 25 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: true + mountPath: /root diff --git a/incubator/protonmail-bridge/1.1.0/values.yaml b/incubator/protonmail-bridge/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/prowlarr/1.3.0/CONFIG.md b/incubator/prowlarr/1.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/prowlarr/1.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/prowlarr/1.3.0/Chart.lock b/incubator/prowlarr/1.3.0/Chart.lock new file mode 100644 index 00000000000..fb034b438f6 --- /dev/null +++ b/incubator/prowlarr/1.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:49:12.910776442Z" diff --git a/incubator/prowlarr/1.3.0/Chart.yaml b/incubator/prowlarr/1.3.0/Chart.yaml new file mode 100644 index 00000000000..e87e4cbc5b7 --- /dev/null +++ b/incubator/prowlarr/1.3.0/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +description: Indexer manager/proxy built on the popular arr net base stack to integrate + with your various PVR apps. +home: https://github.com/truecharts/apps/tree/master/charts/incubator/prowlarr +icon: https://raw.githubusercontent.com/Prowlarr/Prowlarr/develop/Logo/400.png +keywords: +- prowlarr +- torrent +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: prowlarr +sources: +- https://github.com/Prowlarr/Prowlarr +- https://github.com/k8s-at-home/container-images +version: 1.3.0 diff --git a/incubator/prowlarr/1.3.0/README.md b/incubator/prowlarr/1.3.0/README.md new file mode 100644 index 00000000000..f0e9bcf295b --- /dev/null +++ b/incubator/prowlarr/1.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.2.9](https://img.shields.io/badge/Version-1.2.9-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Indexer manager/proxy built on the popular arr net base stack to integrate with your various PVR apps. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `prowlarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `prowlarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/prowlarr/1.3.0/app-readme.md b/incubator/prowlarr/1.3.0/app-readme.md new file mode 100644 index 00000000000..e2143326076 --- /dev/null +++ b/incubator/prowlarr/1.3.0/app-readme.md @@ -0,0 +1 @@ +Indexer manager/proxy built on the popular arr net base stack to integrate diff --git a/incubator/prowlarr/1.3.0/charts/common-6.5.0.tgz b/incubator/prowlarr/1.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/prowlarr/1.3.0/ix_values.yaml b/incubator/prowlarr/1.3.0/ix_values.yaml new file mode 100644 index 00000000000..1d018b07c9d --- /dev/null +++ b/incubator/prowlarr/1.3.0/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/prowlarr + # -- image tag + tag: v0.1.0.575 + # -- image pull policy + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/prowlarr/1.3.0/questions.yaml b/incubator/prowlarr/1.3.0/questions.yaml new file mode 100644 index 00000000000..fc1788c33f1 --- /dev/null +++ b/incubator/prowlarr/1.3.0/questions.yaml @@ -0,0 +1,675 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 9696 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9696 + editable: true + 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 + default: 36081 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/prowlarr/1.3.0/templates/common.yaml b/incubator/prowlarr/1.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/prowlarr/1.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/prowlarr/1.3.0/test_values.yaml b/incubator/prowlarr/1.3.0/test_values.yaml new file mode 100644 index 00000000000..b637155ae44 --- /dev/null +++ b/incubator/prowlarr/1.3.0/test_values.yaml @@ -0,0 +1,45 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/prowlarr + # -- image tag + tag: v0.1.0.575 + # -- image pull policy + pullPolicy: IfNotPresent + +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + +# -- environment variables. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 9696 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false diff --git a/incubator/prowlarr/1.3.0/values.yaml b/incubator/prowlarr/1.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/pyload/1.1.0/CONFIG.md b/incubator/pyload/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/pyload/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/pyload/1.1.0/Chart.lock b/incubator/pyload/1.1.0/Chart.lock new file mode 100644 index 00000000000..5e52bb66a9f --- /dev/null +++ b/incubator/pyload/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:49:14.732129906Z" diff --git a/incubator/pyload/1.1.0/Chart.yaml b/incubator/pyload/1.1.0/Chart.yaml new file mode 100644 index 00000000000..153b94041d2 --- /dev/null +++ b/incubator/pyload/1.1.0/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: pyLoad is a Free and Open Source download manager written in Python and + designed to be extremely lightweight, easily extensible and fully manageable via + web. +home: https://github.com/truechartsapps/tree/master/charts/incubator/pyload +icon: https://avatars.githubusercontent.com/u/3521496?s=200&v=4 +keywords: +- pyload +- download +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: pyload +sources: +- https://github.com/pyload/pyload +- https://hub.docker.com/r/linuxserver/pyload +version: 1.1.0 diff --git a/incubator/pyload/1.1.0/README.md b/incubator/pyload/1.1.0/README.md new file mode 100644 index 00000000000..b624a3fcc4c --- /dev/null +++ b/incubator/pyload/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +pyLoad is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `pyload` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `pyload` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/pyload/1.1.0/app-readme.md b/incubator/pyload/1.1.0/app-readme.md new file mode 100644 index 00000000000..06be33a431b --- /dev/null +++ b/incubator/pyload/1.1.0/app-readme.md @@ -0,0 +1 @@ +pyLoad is a Free and Open Source download manager written in Python and diff --git a/incubator/pyload/1.1.0/charts/common-6.5.0.tgz b/incubator/pyload/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/pyload/1.1.0/ix_values.yaml b/incubator/pyload/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..997d5e1d399 --- /dev/null +++ b/incubator/pyload/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/linuxserver/pyload + pullPolicy: IfNotPresent + tag: version-5de90278 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/pyload/1.1.0/questions.yaml b/incubator/pyload/1.1.0/questions.yaml new file mode 100644 index 00000000000..3f6c8c9cccc --- /dev/null +++ b/incubator/pyload/1.1.0/questions.yaml @@ -0,0 +1,679 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8000 + editable: true + 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 + default: 36082 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/pyload/1.1.0/templates/common.yaml b/incubator/pyload/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/pyload/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/pyload/1.1.0/test_values.yaml b/incubator/pyload/1.1.0/test_values.yaml new file mode 100644 index 00000000000..ce7c08b017d --- /dev/null +++ b/incubator/pyload/1.1.0/test_values.yaml @@ -0,0 +1,41 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/linuxserver/pyload + # -- image tag + tag: version-5de90278 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://docs.linuxserver.io/images/docker-pyload#environment-variables-e) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1001" + # -- Specify the group ID the application will run as + PGID: "1001" + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8000 + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + downloads: + enabled: false + mountPath: /downloads diff --git a/incubator/pyload/1.1.0/values.yaml b/incubator/pyload/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/qbittorrent/6.3.0/CONFIG.md b/incubator/qbittorrent/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/qbittorrent/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/qbittorrent/6.3.0/Chart.lock b/incubator/qbittorrent/6.3.0/Chart.lock new file mode 100644 index 00000000000..e02852cdf73 --- /dev/null +++ b/incubator/qbittorrent/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:49:16.471218871Z" diff --git a/incubator/qbittorrent/6.3.0/Chart.yaml b/incubator/qbittorrent/6.3.0/Chart.yaml new file mode 100644 index 00000000000..f25fed62046 --- /dev/null +++ b/incubator/qbittorrent/6.3.0/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: qBittorrent is a cross-platform free and open-source BitTorrent client +home: https://github.com/truecharts/apps/tree/master/charts/incubator/qbittorrent +icon: https://cloud.githubusercontent.com/assets/14862437/23586868/89ef2922-01c4-11e7-869c-52aafcece17f.png +keywords: +- qbittorrent +- torrrent +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: qbittorrent +sources: null +type: application +version: 6.3.0 diff --git a/incubator/qbittorrent/6.3.0/README.md b/incubator/qbittorrent/6.3.0/README.md new file mode 100644 index 00000000000..8801f57e4ed --- /dev/null +++ b/incubator/qbittorrent/6.3.0/README.md @@ -0,0 +1,52 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +qBittorrent is a cross-platform free and open-source BitTorrent client + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + + + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `qbittorrent` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `qbittorrent` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/qbittorrent/6.3.0/app-readme.md b/incubator/qbittorrent/6.3.0/app-readme.md new file mode 100644 index 00000000000..5d26b483c2c --- /dev/null +++ b/incubator/qbittorrent/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +qBittorrent is a cross-platform free and open-source BitTorrent client +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +qBittorrent is a cross-platform free and open-source BitTorrent client diff --git a/incubator/qbittorrent/6.3.0/charts/common-6.5.0.tgz b/incubator/qbittorrent/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/qbittorrent/6.3.0/ix_values.yaml b/incubator/qbittorrent/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..a2b08bf404d --- /dev/null +++ b/incubator/qbittorrent/6.3.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/qbittorrent + pullPolicy: IfNotPresent + tag: v4.3.5 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/qbittorrent/6.3.0/questions.yaml b/incubator/qbittorrent/6.3.0/questions.yaml new file mode 100644 index 00000000000..9138f68a2a5 --- /dev/null +++ b/incubator/qbittorrent/6.3.0/questions.yaml @@ -0,0 +1,815 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + 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 + default: 36039 + required: true + - variable: torrent + label: "Torrent Service" + description: "Torrent Service" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - 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: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + 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 + default: 36040 + required: true + - variable: udp + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + 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 + default: 36040 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/qbittorrent/6.3.0/templates/_configmap.tpl b/incubator/qbittorrent/6.3.0/templates/_configmap.tpl new file mode 100644 index 00000000000..d52c601514c --- /dev/null +++ b/incubator/qbittorrent/6.3.0/templates/_configmap.tpl @@ -0,0 +1,32 @@ +{{/* Define the configmap */}} +{{- define "qbittorrent.configmap" -}} + +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "common.names.fullname" . }}-scripts + labels: + {{- include "common.labels" . | nindent 4 }} +data: + {{- $bittorrentPort := "" -}} + {{- $bittorrentPort = .Values.service.torrent.ports.tcp.port -}} + {{- if $bittorrentPort }} + 31-update-port: |- + #!/bin/bash + QBITTORRENT_CONFIGFILE="/config/qBittorrent/qBittorrent.conf" + INCOMING_PORT={{- $bittorrentPort }} + + incoming_port_exist=$(cat ${QBITTORRENT_CONFIGFILE} | grep -m 1 'Connection\\PortRangeMin='${INCOMING_PORT}) + if [[ -z "${incoming_port_exist}" ]]; then + incoming_exist=$(cat ${QBITTORRENT_CONFIGFILE} | grep -m 1 'Connection\\PortRangeMin') + if [[ ! -z "${incoming_exist}" ]]; then + # Get line number of Incoming + LINE_NUM=$(grep -Fn -m 1 'Connection\PortRangeMin' ${QBITTORRENT_CONFIGFILE} | cut -d: -f 1) + sed -i "${LINE_NUM}s@.*@Connection\\\PortRangeMin=${INCOMING_PORT}@" ${QBITTORRENT_CONFIGFILE} + else + echo "Connection\\PortRangeMin=${INCOMING_PORT}" >> ${QBITTORRENT_CONFIGFILE} + fi + fi + {{- end }} +{{- end -}} diff --git a/incubator/qbittorrent/6.3.0/templates/common.yaml b/incubator/qbittorrent/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..bcb4715aa18 --- /dev/null +++ b/incubator/qbittorrent/6.3.0/templates/common.yaml @@ -0,0 +1,6 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} + + +{{/* Render the configmap */}} +{{ include "qbittorrent.configmap" . }} diff --git a/incubator/qbittorrent/6.3.0/test_values.yaml b/incubator/qbittorrent/6.3.0/test_values.yaml new file mode 100644 index 00000000000..eb3c2a84503 --- /dev/null +++ b/incubator/qbittorrent/6.3.0/test_values.yaml @@ -0,0 +1,52 @@ +# Default values for qbittorrent. + +image: + repository: ghcr.io/k8s-at-home/qbittorrent + pullPolicy: IfNotPresent + tag: v4.3.5 + +strategy: + type: Recreate + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + # UMASK: 022 + +service: + main: + ports: + main: + port: 8080 + torrent: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 6881 + protocol: TCP + udp: + enabled: true + port: 6881 + protocol: UDP + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir + + +additionalVolumes: + - name: qbittorrent-scripts + emptyDir: {} + ## When you want to enable automatic port configuration at startup, adjust this to: + # configMap: + # name: -scripts + # defaultMode: 511 + +additionalVolumeMounts: + - mountPath: /config/custom-cont-init.d + name: qbittorrent-scripts diff --git a/incubator/qbittorrent/6.3.0/values.yaml b/incubator/qbittorrent/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/readarr/6.3.0/CONFIG.md b/incubator/readarr/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/readarr/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/readarr/6.3.0/Chart.lock b/incubator/readarr/6.3.0/Chart.lock new file mode 100644 index 00000000000..fdf8f784c38 --- /dev/null +++ b/incubator/readarr/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:49:18.278296816Z" diff --git a/incubator/readarr/6.3.0/Chart.yaml b/incubator/readarr/6.3.0/Chart.yaml new file mode 100644 index 00000000000..1ac56f3bc97 --- /dev/null +++ b/incubator/readarr/6.3.0/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: A fork of Radarr to work with Books & AudioBooks +home: https://github.com/truecharts/apps/tree/master/charts/incubator/readarr +icon: https://github.com/Readarr/Readarr/blob/develop/Logo/1024.png?raw=true +keywords: +- readarr +- torrent +- usenet +- AudioBooks +- ebooks +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: readarr +sources: +- https://github.com/Readarr/Readarr +- https://readarr.com +type: application +version: 6.3.0 diff --git a/incubator/readarr/6.3.0/README.md b/incubator/readarr/6.3.0/README.md new file mode 100644 index 00000000000..ecdc445f315 --- /dev/null +++ b/incubator/readarr/6.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +A fork of Radarr to work with Books & AudioBooks + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `readarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `readarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/readarr/6.3.0/app-readme.md b/incubator/readarr/6.3.0/app-readme.md new file mode 100644 index 00000000000..ec0ebb214b7 --- /dev/null +++ b/incubator/readarr/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +A fork of Radarr to work with Books & AudioBooks +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A fork of Radarr to work with Books & AudioBooks diff --git a/incubator/readarr/6.3.0/charts/common-6.5.0.tgz b/incubator/readarr/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 zcmV)mK%T!JiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJciXnII12B7fBF>IOnPefXHl}_msHR3evY@DwmCaVy<(@m z=X7_)FbP?xDUu~YIj)=g+3&(D0T3W5TXxdcTwSR}0yBdFFf$ko22nPjXX)s01`85i z!+G+z)j#9$c)Yv4&Hg_gkL~}D_nvM2ZF76PHy&^8Y;W)WZM?a)y}R=_Fun&`8c$Uc zSp02#XIysU{vZ#`@eimdah6WNVru~NT>VV56b)ijMg`6Zd-F||M)WU`;PV0&*I=3z z;Iya^8$RV=md()w%m~TL$!K(e$*ejLqijARMTH_(W(4!R9FYQ{(Hxcp6(jMU55xhE zC?W|0E+BzL8FElniHayo2}%irT8;L0x5wkXot?oYy1vSaxSR}zphh+rN=k?9#b5{o zn#<}OsfK>}kNwSXb2l6h$6pTS5T^v<6cr2@nnRpS08Xdbf7O7)thg8ekV4vCjR62u zMKS?aK?UXV7nH>RRYtR{A}Adu==>a~7h#$xSl<^ZhUMnhUqAD};>AQO$aRh;vWbI* zY|n1E6OIS{`d`fd1xzYb-je`mpa0wAotw+T<&PX8`0KL`(+^BBtB`3&u?@GZ-`9qNqTSAg~srDXbE*4qzICw^@?l^x|C}Ln1nY!a5PHIYCZf z-={|?K?F5H)ZjU=BgP5}2H=Y{E9h9kCH*Gpr(>zmLC_ak^J^YknC9>Us8YCqIH6;W z)zW@11E#Es3l4z&WmVO>)~cJsg2)L2>R)PlyyZPgffQ(gsq6H!g`&5 z_>RASMPELc*NdY@NG0`e@u5v@*t9kU;k z!GM*Lb6pI%`5dP4TDh)7jObc68kznbh(Z(a)6WhNu(&8&D$~!b=Ado9=2<+*v-rT8 zlLOC`6vbcF(~g%sh+_c3cUggdqXZ=2IE%qSMY1x22`UCpz<)^!hePn6F)o<^`^Nx^ zGB{=IRDx{^lM*pD7Z-?3D5L8!CPeQXr*GAy22a?$p2H93yYW~-IXr&%j^G6U#u|Ez ziU_5IjsjZnd0p-`nrFpzYtcc8iUp3)K@??GN@~HMqXhf3zPgm=38bVVur{{t>FnriNsoDurx%IR$A( zK*@$mEQkWQWNKyuKn@6(-~y$H%9j{aB~C94od^h;=LsZ8*>pi5M#;O93n+>-&+>|v zVhoB3M8Fj$GX_bB!t1O8CFAFHICuj7i2%HUOvFJZwo9Z7O-eXQqvATJWSw8j8L`2e z!dOl_1Wl=!q(Xs8wI__P>GgRQUvmOr6rr+|eAdiDFvST92b@@?agGm8PJaCU?a>6x zuZKA-OKOFS=DvnF1t?wMB1@TQT)+a;@m+@CR4_@7c-q2~>y*F`Qb|t+Pr$)CIQ`!V zcz1e88L-Z=9ZkTOH#Z=BixLD&6uzNM|M>CC!4q((iVU6r_Mmj}O_9yjZvetD9H4Z; zTJVG#27)Hue8EvV1g1qcSDjgI0Q3RQbIP+P;77(OP;d(5_@ZXQJlo)w4=+sdbC}=? zCkZ%5ywDKFbDUB-PV+=D^Yq2*<5vf#FW&!f@ao-*2?!j`s!i~u^~9D zN|Mb%Uf`_2FS8Y6qnySNc?doE;_= zUEzO&i;~bO^Bu2yHqd}5na>a%aiPWJPoP&10G=ASamgz(@fLV6xoS~a9u5?tjC*=@ zX{|6R1QT%d=0x(P+z{ibDx}m;Y<9TqXgai$MAe#Rz4{lq6%*eFB0_sa{?%Q92UF1tU)=DoR{7b<1Kl zpoLZ}sTlt0rvgoX{&}rMI7C?*p`4T>S#Owf2IKUCeoU#*(Bwrq6a`05xPHOu#gNR9 ze7!#4YT$(be1+4?QY`MoR1|FItvW$b#b)GTmJ;-VC@b)on`iR7_^jD!J>kr$=BiD} zvM0O*Pf>IoCCCRz70``LJ|U?V26TaZC`*@ss_PK^4^_TGdjP6pQ4DY@H8eFeVL7C$ z9<#P?`)Vj)9Ah!Eqg!LDfjIFU7uh*dQ-zHH{-MXv;(ABc<=R9Ms=ZI}0;Q-dhXsN$ zW`C6g7Np9DIYnQN)-9`>D!g-)WLE=TKpCyC1SpU@=%!`dPymoLXe+uGwaX$gzz(=I zV)`wNbvU;R&*-N!Dz~Uiy~5>;z7l`7!J3O3gi^~yoOF6rW!dvIvu$aRjW zZJsiNk&AStWokmrHV3DN#{qlKy&?-x05PoFf`Zs8C79t8~pz#^pDfS<1^-1I(v6?e5P0D+Kzq_dM}4pDS%XY z)>{i{3@#9TroE=x9uJavOiE@kI#y#qskK)bjQK47cV5>@Z2n*|u3)RI{4T{kP{wkhXVxFpmNoZ~o7&=o9DDQ6xjAe!P!{mbR^ zl0hnSNXIYVLxmN|sLG3Al3WYOhitF21TfV!a=j&~!=zIK<~gF)CxuUc3)D3(wS!pK z$+}`Lut$^0@&`8aLdmnc9h1$ zsua3nia((EbzN1e)*+oYI31qD5=R=VwfXa>;JOBmJ8SR3e3O#Vl!S6*vmLYvNH1{u z!BdnZli5Vk zg?UXB1yI{4^iyq>)|4GXG7CXJl7L$LkBoQR_rOBAVrtV+wXcQhf`9CT&2V#jIBq~X zWowgT7N%%?)E0{kOj5uai$pG|3&eJKBUBFsipGM%H%WU#W@b}A$eK}Wss7VfC-!g& z!9O!H6Fb-}P=JaDKC);Jqk5a0o=eAuaSHP7)@TnN5>ktH|&|7`NQiqHx}*=r;xbM`nMMj87!))XkD= zj-)kZZkS80tA~Z0jsBC8^FEutCo}Y(SO3S^hA1jRHE78%hhK{6UFw+5D`IvBfB%|N z#1S&$c;FFu0>q}X)*)goiKjZ)I;@dZM={$X8PY`rhf05bpC;E0Xa17Q1dgwLm2g6` z0$w0+s6v*+(tL_93;=9ZR3a7!c{V)T0P%GS=QyG&gGUZiX5vzEEOu05;&J%D-<+In z7=C#L0u>GeU$m?%`4TDHh&4Q4 z*K6`j*cD7!^DxzU79%xHYX8u=*isW+#QQEr#oqAyQF5;h zR85$d6t5+8MOebly)CXk~0qK66flb9ff_UEF`H?_2dpoq;KWgie+V5xFiHvcY6g1XHOcYhN<{jnBe40|!KFL?6^6O`IG7PvnT> z7LEvW&ZYp?cE()9GQs@q++KEhoyiJLpz9=eZ8$zi0ytm!b;tpQu+rT4!A0 zZf}jXPdsLNem#`Y+x00Nk5Qx@GUek#JDYc=ISX(a;{}c@n9!cObwFcErtZLXl`8}sh7GX5g4XKz`ob&zlKPKca=9_YOj@bMrP=Q|GfmZ zEr!iDeWMwI`B1zYG9RyC^&4uQaifiLIm*(K6cDFm*)Vf{mI0?1L$u&-fDtT9e37#F zV5&PuPw2lKS5~YK=&uv;ON+MV!?*-+%JwF&HJU(CCAWxx??alzHiT(Bgek#8`DT3} z|8j(c6Gj%v60uKQu7EZMlhIMb9jy;EB$^}VUCFiLL4sk4)FC_}08mN_%-@a>iALPt zI0SQ;=TyeMJeH1XUPzuQS;;8_7{^0Fz>s8&*N8+zM#GR!XZGh1a>_^R1Faou9^!lg zg3YhD!p+_1;byow9`n(zDCH+Gh9HnG$0(Zz^4-Me?*kgg_*+MFmKHn_I{e zu(|d8HD>Q*&-SbFsZ%{TACdnXPC*&9fovpsBAxM`iI~p;fI6@l*XuFi~frKmGBjY97*6DQcFvooaZhW zndl)Ld^P&`ad2}pHalc0nh!wWzNKC&%hf%Kmh<|n4L2DL)V7m*1BPeJ&DM4_LS4}}@Y zVY#81H3VQ@lq!Is6OCrSiX{)wQA`2))m4^7j|X*nfk4)BlcpC8!S5i&X-tLmxJJf2 zx19)O9+NJ7b-BBs(`@+wv|}`iw&FCvOd(FdT3+CkOhND_BLIrzCN?o^UzF>CkJNR& z(`08id%i(6GrUn5&T{CW+FeHsv)<*!elsoatYD3Lwl7={a|e1_!UfH0y|=w#o)rWp zUV=Qe`05B1b6l3x=Jk=_WitA}Lpook1QkLA$W(9QV|E=Az zrT=%H?LB+c{}1sn{m*QE6|+Ny0%9u$s{YQC3Ne|ctOAvF31sKLpooajDOl7QUFd2+ z#RKa$gkSHQ>R>n=4)oN7ENkFmb8v~%cv4d^m?HvXNZ>?eTX9TUzUY(*T9h&spniNsFYwo^@uu;si74K>3TTHVC*EbjYvJfPou+6 zr$(hb=;Y2Wb#vpw=PJtqOQ#L*i8&fPB(aOrkSb>diibvQzHZbbL`%MMbB+AY>Ho5L%9#J4RZB!aV|o&QIcn| zqZ2iFpITo2*&c`fSN8p?41f;(|7?42$JYP5}eRHFc)nhmsDNrrvhu{JFwXLOVSphpV(D4KU z$FL!xjYb*ZK=3{5Uk)z-YcY-p2vql(_|`4hKCgIP9hjI!cTzF>VFNrRiPi-+3rSPN z<0%N$IWhgCXqV0n3UUodL+p#i@QXzN0+R4X#pnYt`P>*gj-GT>FmX0eGOTS7J1Mg4 zo<P1o3L{N zaPie8r|Rifi=L-KcDz(limosyV{RdyhReyPx@#Il@HrkD5cU1B#>Vi|0+n=8G}#A1 z(1-RWPK$ab^k%U97rL%129kyAb?anjSgjKT?OXDyvnApnu&l4wt6^TE>(bGL-@z0Y zC2;^Z0SvXV_WADCt^R4+fB7PM;P{_sd-nZ5+gqEPkM`d~Jk0;6+keOPX(JKg&4QTQ z?Log+kA=l((=A8E5tXGlX^knDu8 z#NF#)y+?eQDBLwvyN9jcIyzdNjK}0p8VOUh)soW?Gb1o3p?! zM-SJ)>N*NhD9s+N0ySL_$`7;rn$=y`)rY_H2YZCdhSzaMBUg%MTYH*8h9stw;U;5RcgZ zW0xTmDx?RHOuL}TuifQR&#_;pw(2vPj9sj>G-g%t=5ArnZf0-WlmiE4iC~k8At3=T~{l7AQ zmS&B~SC&mH2d~G!B0g(&l!W8*|LW;K3>(V2g^n4#Z9ZZHZGRuJY)oGtvDvy#AMx#6 z#Hxc$bbU>>y85!7zk%lYv$J#a!P+$_+q``za!7VL`&!1L?dqT!x=eH!Tv zlx?m)Sx~kW>3G%)&7ir@aK+%5|Mls&6|Dg}=KuDy ztw#LE-p*tE$Adh#i2v2DZ(nHuuyO3NGXhwn;!hX?+y;1s0_ii2;x&R#?-I)UeR_lv zbdRCD`dsJ{%UdyYCrd>1_6yJL3i%ClSP*^{M_a(ID&_6LcAz&87)dL%^qVE8dwT$G zW7_%RWF3*ZkD;@jp|di#mz5SvjU8(PZo&77WiwoLC27M(S8AGo0`oEdt=(g^_F8@FMX6pa(-uTh~{~*s& z`u~L(5i_Hqg21BhtD_*Q-uZZGWhyiQ?T{jL+ zJjLY+VHrCdb1#B9JjV$pxE|=CtYBuseQMvlE8>*oShqC0Rho6U7>f-+cFbL^YUOJO zcJs9E24J1|U#uS+WrODZzRhAFsMFU+MI6*;ZA2eixnetMlJu+wd%X-&0d=Bd=6(BQ z?(B~Fl07l+*9r4Z{?G5gdOs2ETwemGm*G-KIR?NweLFW^C@Iv%IoH5-!BPyN{nIv= zS`a!0pax&H*S51=xpZ9;q^=`m2)D(B)!}iK>1yk)oBEBNJvkZ_iRM)mMOG1(a9d_i zF9WgZ#OH{XR=xH&1y|_2L{U{BmHfIN8huDk8XaY9<|vy)QnHG4U)mt9wSz=p-+s-Z zH1EXLxZ|$UaNe-(C@Vb#N&Gv9R)Pt;DgZD@P`N$ByeML$wZb@qrNcOM+|GMR!%kBx2Nq3 z=LYZCHPOl8X$*b?lPo?A|u#5Z6bwk^t8C z`a<@bn_A}a%h>}CoLyAs0NbDp@GA+^*uH1IiwN)4@4Du&j*%FRU^lSaZvjZF`8g_h zb;jOC-KO1PQS_!8e_0Q#PE@W;F@4Xz`u#t4j{Ms@f;#*^J3G6Zw*PngG5+&mo?FC! z+5-dplAYJr*H-C3Tsg@zg^62bncdOh0dic+;N1V!PvRR(^R5PBl;60e+I7O3Z z;WOogZJ+^P-wYVzRxp3{xs#~+^h9BoXNUq>@NvHP| z6~@i*Db)h(&S7yUKO*|cXbIz~sxaB-Hw}AoGE$zYvaa=yUC43R){S_dUz6{GX=b!( ze@pQzn69r`VG$_qe>Y#ME7naI@_Tc3aLJ$Cv6jD3?Xg~kW{_Q_T64O<{T(FUp7O6N<>7=362 z5UjB*1@>E!q(FnhyqlAK5Ijw@7`?}NP`6PuZhQNg*6xgCQI@bO?DA~0{IULB`$WYV zeKlh51~*zhTGP!=-?*+1RUY<>!uE^HK|o)h=7}jHMGN=ATJ6oHg`Rr7(yY82hV{)Q z{RtYdp0CFSO3Rqh6Rj+;0P8GtinnVyv*Cy$;quibRXF_GlY= z(gWNAMIxuH68EGwAnJpFezztQzeM#-7BiP*ptn^LpwG!L6(y}jZdQOb9XxlO%P|{# zcY1mputv9+Ice;$!PS&V)Dg;Z3rq7I8qM&sbH=K$~_=HW4rY6 zd6=ig{$E)h@DBU`+18ew|9fY5`!WCbgFH*e|JM1zf2hx6-%B*GN*#XV4%M}H2X6Yr z>fX2`b-i0kjaXfCU2iP$pXQ5bx&5b`m4x=*)QQtro(NaTU>K~MEtAAHgIVR5R+Kgq z>ei@W&8#p2DJ-n+Vl_0X=DAvT4msNba7TtobUL51Lg6kiabBfji^3l$}dX*NRkv!UC_35FMcd__fNqc)+dz`q^JeBm&CZB=7X~pSZy^w4R zwp>IkGE+O`!90Ij=(^TBE+_n=_TSvy`Og1XUk5!Bih3+Soeg&lc(K%N4#BtP-;>Zf6gScPtGP#V|N3WLlb?NtWj zf5HT&5h?;B<;39;w7jIzO4GQv8+MaOyOk zFvI*UOfTfwA>Y@DZ+`fod56-_?5eKL@HL}EEHLX}%FgqPc3UqEb~!7w1LeMGCusi3 z#}zl6J}mLhT$NVgxHJdI%j0D;hBlg=SLX>XXKym{7Qy)XAdbb&i`=>G`D$>t9fX0L z>5GXoyS+M^VQ3(OWcte7+Zi+nyWFkYL*02_R1yczk@Hze+PdL)G7?PxT(?ba7o zL%;GxsEAK|-wP-F@v@f{Jq`Jv;PX+03Nm_6|2)tMP2)wtmOT~v8t~ZL{yDW)OVQyebKc26!b)%UfEHvsGNj-+OOH38=A+dH% z<*|Bias80JYjxU>Jd?KDVKw}e3ja;7OWkVF>biw>)6=*dcLPQsZ$#Z1M_vM#Usbrj z8m>b+Ea3v;gl8Cf3f4hDib{+GURP4~@AQlE-)R7X;c&>DHcMYk`qWO2aGSU>?wc@u za3m>JJQ+#KFcRw*cZ1p5IQkd5<_*>kDgF-5ceha*nR{v!;w8FngIM4NB&aXQn?J@m zhR5f2Plx_rMf%6i_^-_!`~K(Mt;hV25A(?NUxCpAu_JLKejX1`0UZE%iX%u^7)2zK zsiN4w;Im}3w&B%7mpOL*)~HCGS0y&F_qp z9>PwFYGi72RB!3~yg(&NiGo-QNqM4?um1F3E?HV%aLT)Z3w^rop-XYC8`>GK>59*e zl_1clqr*(;ewUJ}Ioic3uFRHam8JwgJ6_$AHA_roHAMkV0se4Ue=S@2R*!hs4!wG5 z?rYZxnsq#2O>N29>T}RwPhVGdMZd_gX8vu*NdEX z-Y9eietVC-XI*`Zv_Y|&m2%9n>Y>ibrc4us#3Z6~uSK{$8jYXxpK+-OpF+zhpQC!3GF! z0oxOz+Ls4QHvbcd$+r1#Bxt>Z0O;KRYux|4x3@Wdoc|B;u=#(GB-s`CS9Okrk4)VA zopC>CjMC6M^_^LKFKbZxmXr*a2oLp28s1RimorrZWW_C7hA+_eFkzk-SzcgjywrX_ zw#8=OUa(ZF^xVXCqj-31AVdyMFG4Di_)Q|Ff4fBU1u71+dCrnZ|L117`E}s%(sgn) zG>`HK3fNU+K}Y%#&aA^3iY^s1O2YA7FUO8L+56BsJl?NKMyluab`FXNr8;BJqlLMe zr%nEgn3p?y0K4S>xat4f*?Nrse~?GF|3tj+ zVy$#B6CP3^;X$5D`ObEEax3C_p(UViR`DH2YQmYr6kecsc+R(0)CsGTI)QIf%$|rA z+=a6ZHVmEgbzFO|-B;PH%MLE45i(mQcfKB_>!0~)lmC3^-23^j?d`3`{a?@ab{^&b zLp)4Qz4(yBG;YNI@dVC3@uUkDEmYtl$<86WoJkq%c4V3s>LG4v2zV_kro#bhAFQdE zYsY7~Y~Y`aSdMjXtXRD&Vd{a&J%vR=G{Qn0sM$VxQKb>sea8O8^OI^i#UI!?V5b#6 zIAka008|uAt0cJwzg958Q%n^_p0f@K2R|YXos}mP2ko2^oTCU7nL0>F8#ZZcT#@5?H{J!`h>O5hG}ap6n&Yie#2Rz5b=~8R z9|Mrp?Rs8(2H93B>stad-1}NQsOozW7;BgYRs^V^#9gL=z^tUDtNx;Ke7$c(sahiP zImoN^n~6ZoL~V#uc_?g0I=tC17juS}V%AxQa1?f~p>K;Jmn;#t?Ot>Y1DaR&0fuIYZeUop7bBT&o}1rMn7PP=2==I4_x;31T77=B#@wKl`z0A$S0zJ3-+)jl%4(U9zQ^m%GE<*TS;xv9)QiG_#>4j>i$fg$hj#_u5+Gso5+@KK_7c#G1aZ#>< zy4BHES{F)*)7i$$TV*UTuq1ejqU%WB8K{0P33&hjN*AosO?}|<5?ybIfIB^J5lRHt$CPEot5{BcT2+SyMCSxr-`|D3mT< z;gVPcu~*IGr?NC(nyFtLxr210xPyxp1nWY}=0FxJjNq8Nz{(s&czVqcjyQ;ER?u$8 zMV8V9mWnYA+J?J(9HMlgSCXAbyO4*UI=m&5eem?s`k*@e>B9V?O=-;H)a@&MbT3SO zFN&*qA|Y5pyDgi7Im}gJMF2H_ql{0sdc+*EdKdBzdD<+l5kH5ygsZubY!9C(z|%(s zdNVCf$s{468=_p$y1>$jVS(1|ciH4Q3y zt22iKtVT@7Isg3@O>1$wtP#}72|L=RHo{n<0e&!%6nL&RXUo!!&6u4UihfaB4NQ!k z<}GeFHyYEzTM%7j=ct3~(N_b&*RA}T($k_sZw^iXOQQ-dP>KpjPz=63eg|+m&3Gee zN!d{|FolS$tOyP{;c3*|SYM|L5N3WBkvmE;W%&7>u?pUc6J2A=%8wYH{E zP@*7-~=GCI?T2&X&h%S!V)NKb9OVJoSy( zw|j+Caj>DbVC>HxV(8RXE*U=Oj5kY?WnP5aq0}vRkO#8qsEA`GieO?At%%GMuqG*8 zXRG91Gp^gzv8^2A)>R6p#?yQJA0!xxq=wqhyUUF0$rfISWKr{P*5=Bmdvd)?@tNgFI{{#dE4DgHOh}7zSSt zbB`@GwGgdbX7giCqoL&&bR~4x*VFFQeV$B!W(q*i%=5>y+3{udQ}?z090uP3Jjin@ zR>V7Ad$_Ehf`^Wv5485EKxvE$zR4gBsFBVOjW`&kKHw0^{1o)!d&^`ek zqrs!goaj-#nIcR8mGIS_idW0vD>-DQwY@Pj@cNSPdh_mjQtsNxa7|~Qk!;sNkU4xD z)ij`n=DX{``)>KqoH6%#{`=Xpy@veX-FdwK?Li(c|5+c4EXZ{2pJW#}>L>MuuWon` zcRkxMR^=7n;UyYfN~E^gHEbD@_5JUa*r2kXjl3*2sB%JtZTO#3;6hvjTZABG!8SWN|Md(7+?Oa%u(dp&e-y8 z#hJT;Rv#NZJ8bMs)FiP;z@cL&NZoR*N(Be+PQMQth4ogjp77l*?80KjJbNHAwcbvy zv5jKAY&KrIWm)2AB#$@01Yq4mC%aepTSO*-tJmz((oW!)+R7_x&rvAuwry;t_yEYO zNoo+M{2m$)1TVK)8%UI&WYJ}NE8Hw?w2YY_f-G$q(2>|qo`k?0tS~u33A{c*QI^J~ z!74gcLPsIcPPzn74YsO4r?Uc;vn+|5u;DIN*bxP@Mnhb?GoF| z{ik&1e%Js{F+p?RHNLu`!t%n?!eN>*poT#*r*Dp_Qkm@6%hM5)9}LsF?NC6!f?$@F ztWr>i2?p$%VU9>Y8Q{RQFN#Shok6z^2DWC`;cx}dKN#+f`r`i1W2sLYmW4^`2V4@IUNH4xN@$j8?FwF(ATQ7q6#%Bd zERLuAK3!b0T?-MB)*y4g4Q0of>(N)>don}C6)q9rWU!nEpS+WDX%E&x z`)XCfcIBwSYXDWBTlpeO)%U1s7p%5~Be%AM`-P1WA>-xs!d!iva7VE#`ej{Q3g)@}Q@kN>yX!STc?7#8OGdutD*6!Y8{^tjIo`7RW2rAN& zngM(SfU6lw!Fh#~7^fE?htVaxKxH_10#0YtG~rwRB`9YoNx(&tor5_f(F~^-8=yc5 zBzS?CjMCo2G#)$wDY{^RUUcH3DgJ6(jbqd@;Ki(SPL6a*>W|K<6;Jta32L2`UF) zh2>Q~_$oYymxHfDGN*rM1-=-3_5Ti@fFEFiv#JCyk6x66FfX!SP(%hHju9O3;zjn$ zAY7DD7NgN0K}v}E|Mtbf(d!rCJiZSc?el+gXV>=sZf=bq@Be$4=ZVPcFc|#(Cv`#E zX80@||GYLMBrhkU5uRU!<%}g03vo6&hw%j(iNZrxc8JqyR?H!f*8TsNbq=? za(ICzUwsAsQ{ukBWLBMrQ8piuqCz~dX$14U9FYQ{(Hxcp6(i1}e+&jso`Ba7%TVOO z;CCQy`gk#?w#e_`U6Fv_2fu^ia5x0~fASCZzQzK62kbuv^es2y<|w7a)@j@(;Orm! zo8jheI3AAASW#}mP}KiI*Wh;`c14fGnwS1nMg?ZKdr*{&0{*Z3pYa#_HTWGIfBW(X z{0?wRVVv#kK0o8+{SJ=b`M$h+eQ@$G@H;5w?Qv(pc)S&;@6Pz`-+B1k@8ImGpB*KC z&^8hJmGu{6H?m|gDp9dO1v~ft)A(nT;NcKfWEON)+q9~sS&G^!Nr%Pn;5^Id$T(wH z@wC=hfZs(HITkndbVAW`Cm2v@!GcZ=`p1x0>4rw&g$d?a zxEF4>)|2VLwc989GeT5ep5L-2UGdOi!TxA+fah=%$({2Q6wW?n#U=eBaw5i!KNO=LqH)(?+I%iu?mYSJt*ImsHnx!xV1VD zz`E7Il9ihSi^}jG6_@3*9%>ef+=WXs*#MIBz*xbl&8=r!o4u>bpeBQc)5GK5$c@<}HD1L(zvr#EdT%~);G+wkz zdC*b`UZ50}B@5u|QC?igz*S6$_+=422)F9>Z$_4*l(Dz6M5PCjUY;KsU8dF@lxP!- zPm9JmD#|P!iPFO;!TkU>6e-)DbJye+Um3>PRoaIGvV4{IDs72j<1!Bz#|@k6&5P6b z2S=}8zHt-V1rw&i{B2#>aR}ColB5@v{IZr%+skuKR9BTHcp<9zc)>qwEz9B_0@;zV!dH@? z?vj?FJi_6n+$!F&IKzB!Na9C4mL0@}6vzrTZ~amhNC-lM6=0Rt`4UZ&dBgKBHC- z<`pPUa0K;_+Bcav$|D8rtef6q!l9zf1b%SbsjZrYg>BYVzFWNY^v(41#I*Ze^d*tY zxzeX(w=boS=fnlSmwUvz@}NI|tveii6VY|0g2y^3NdXDExONc!HcJwmUcAd=NHj}B zPZZ)DHqKaWN6Eo(sb_Fdk*v-l$1aoSna}5lz!(w;s*=+F(+nl^VVp%JSZszn`nH+2 zyOd_dRhGrSj8y57xMZgs@oMXzXtP+w|CXd2sWbNP>F@9&TMdr({oiL>&&Kxt@6OiF zWB%_4c|>rB+6BgQCfU|llvO~70ZuQ1!QlS{ZJVWR^w6GTUJU()o6@cf+Arb8e9*NKUrRJPAuh>}NHE5Ts zu2h{-u;5*Nq`zeuZPpl%<(tNr(V`pE)YQ}GSN$(!tI4HZTBqA0Rr zZQTT8oyx8qhOc3Yr-&yQ*Xfh*%kW!7*7Q4(HbBsv#3nfhWr+%Yng5%NyqM?Ydaa4l ztXb#7+W_zRO(b@OkgoC90&dj{dxhKhb>(0^Je=VqE>ODWK_I8ZWM4!2)A(lrUJRyS zePDM4i9&l??YH-f#t6;@n+U6yc$jVz+5#2;Mx=tt5hRdhe{alq`PAhEBW;{M1_3ej z-*13RbX^bp8lZzR6CYR!Dlpoa9<+IqOgiC=G0(9CSmWaY0FOn5BMTC-0! zEPCvTp#EAHQ@*dDJ}55AJ4k7-h^BDwD4!{aTL@=ZT$KA|f=~`{%C|yvvB{y<#qE;I z32BDxhQZj7Fg|voqvEE4@lj0w1;jL)79JT*$5Ok1X0>lEooVd{70ndkpH(i?w%wah zevvM2FO$6@`9-?0fb~HsKG){SwJuUvfFFxc6jxbT%;BJjgk)E6$oW4AK z|KiOLX8&&h>+}0>-hTf&R2QR!?24JUXv+Vfl60Sm= zL2vxad9%%39Dnou(Tn$Q4qm@lNoy3e4oanWG8ss%3`4aSQG%B}`$@b#^&+)65hc8cW zHCWq0zkF?jUJ~F(^JhmVHEF4Pt?@Xz(a{)Vrdi**cxEFo&MLc z)2XfGG1KYjY_-y9-CG;!FVaO%8@;wYU&EXmh?i)sF^ii*{W~o)$Zc zgDV6se#@Ff@*3t2Jff1!zrpMO#8Y+uY#a5?+I0OQ!|#A+-2!;Wz25-YrH-b)bM5E< zAN}NRlxi5i@QgQ$50Ex-AFTJH-`nYZQ1`{rvAlW>^Pfa7{0#OL#ucuiUZjf+6X7aX zP_zf`w*TN?Oo`BP{!sI~vDo4z*bwfs&~h!TIEV>gX8nc(@&p8dZYj|g^RI3@n_oO9 zjfs;Nhi_k;)|L(bS{s-WJt-<5c3sB*#k3>mR!_|+I%PxG5;Y?m9)nDx*iN`;zq z^;9JurPK=RvosbyowY#co~=$zqk*Xu1D4(If4@b?H_Zo%=hpr17S#1v-DotrZlk)_ zl12P9wb06hJBu;9qiFYf$tZAJY}?;?hoz+XQAT$4bgsGmX_ABq2bl9hLr>_Go%mGqC#CG&(XnrbtCKQX_s)cI zAb%+f;xkd1dd-K^m`sGX=u3WeloyV_i6(}h#y@vd^k_UeiZ?(5prFvuakoSw#=jql zoMalJ7RLj>)np%xZ(%rCh>iE2X5QJXps@XI??u8LjEMTkjecTV$qivKO!mQ|lN^Fa<`TSyqx9 zlG!kZ1m3PEWNyS(E>iG~0xEYS7?FAIp$jcmOqPZV?d5 z+T0rHMn+|U7Z>|zY>3HrSyNrNEWM~aV#14^C+c*fm$PcJL`$u???vk`cjB1WI(grT zG0xzbz0paYArgGFv2R|CCS#Vsh!$Ri#;2C{e;Ui#G@l3bC(i7Bj@XxrjY(HidN_}sBIXblZdSexJ?#+@08G3V8 z$d40oBio5DY{4c(zryWyl$a3gEwjd{BtI!?dF-RY44yEE_^kIkH0#csU46X0Yzc>o zqG{|Eh*U-DvEabHEg0v$mWjrxJK0gUTrbYuAqjNQ*wPQD1Qk;lp_`94`Wz90#~7^g zT|K4w!3%47oFIbM7_JTAY}I;W9e1e>I!0vwC=oA1FKy=aaNd7v>*w(??EhI-;NR#{ zK6#&K@q1X2tc>8DmjfO5Ka98bHtqZWcDA=4?f-{(J{SA{J2mucu5`_F^*mGV)MLHfkrs-?J;Tt(2Z7`E2}_Pk82OQy1?BdtXg`dN03xMMf@6(0!N=p z6SuhkWHM88Rozf{TwWd?zk5e;f`4O4B#%)Mp_IT2)JHz|lgK^{`@3VGkX3D%SdF*| zqPz+wV0YX+iK;c~HJWF|^*y(%1fqiP~;Xzg2nbRFK?WBC8X zH5IGP{@dyQ+uPi;^Z#z|J?8&?nCElx|A`A{R_*Vz!Ty!}d!p_A{CN#VHT`!@UON1B zD?XnoaC(m2f0vc*r#E@Tc#jZ(4s+A%0~7SM`n-;C+0*Iula_0XUl`;#py|o#(}xo7 zqM}?oNMjka>?FybXvs|)KM>kc*tpthpWo)hR1Lq%sdshbil+S$pPQ!j(ZM6`&GI zV)6SfT_vy$gX;Q>1|5Vgj^>Y!)|=;jsWH<=D4SI#muwOU$@%1K=h8CG=4S!aj20)E z+fM;}yp!L%F>KtRz3y+f9ZLz9H&op{e${Kx3KVTtt0=g_*?Ov0_Vao)-T@R#!m_#b zY`dR^H9Oo-f@7dg07dhtURS4HZ>u&}sxnujQt|@NVR6kA*koVnininyx|sAGl=G+u z4V$3x97dNYjg1+0Us*0R!Z*O(Na?|!TjT)gritH#Sk2E-anD@hDM403(QVcK>8q3b zN*jsd(^n_*RlEPn8x6KhV#yY3!0W#{eRb06F*+`?1&(i(k^2r>nIuXl(?9kd>$ld5 zrQ+H?|8wZ5?NNe^BjV|^&;!tPTmc{>_owqKF zf5c>Fr=DAS@uB4xeT7Rx)j0G0@^o~)%CoctGS6erI$g^gM-`RnYJao@aV63R-7@%O zi}pukp7&dUvL15=EBsZ~CBJ0nzBS2rS#~MbBmbS9TWgUatVlN0RDbI}FP(79tW7kk z?snS652)Mq*D9TO%DVC(jjf!(tG&fupz+_5EaQW$`S9nKEVq{tx06Y2lEqnPQ?O2^ zi0xHlY36M%&%DiBGjG#i-ck*_gYk#nFuRaR&l?e2n!rG=q zbfoa^Xhr?0PI-pNGFT5!5G<9#v-vToT{9lyBE727S;c+Z`Wi~csn zGPcALHpKF_!?HF*Ut8f0N5Z{^wHTRx!&$Xl)P(K${> z<&0|SVZ?OxEW1j<@GaQceLmUQeGUXe|D86!&~f)~`*LN^@o8s6<>`|=i%(Eg6_{Kf zW+_1*{40y*(Q1cr*Z>#8B+0Ih3%tMyx97Pk=}RV|BJQKIhxR+>~D3s_lf>Gh}}r*-8gfm@5dL)q5*UGFJ02G+YR z%_1id*ShQh_kZpEe{RJS?ge2NGu=H3pyU3BoxM$a|9@}q*<=3K2YEiD{eSaT%ozpt(0fZhYA%=nQ05 z#H`~2L2*&xNj06~58fNQyU=a`R}pHUeZN3Ofn&5kY^SY3)Elj``+|lQ5Y@a$!NoP> zGQz)##hNdoo{`0BN)c^F1;!Nsl&gIWR}HZ<-_|YW^9jicctJmvtGE)zf2LN$v*c|r zx0>QQz6l71j$1|8w^h!cQp4$(KNd-ji#$&vn4tgt=48df#-Quu@Zi;pAw}XR4SyJl zI>U&*8v3LW8K1VT>m}9^VzKbvUuf-Jq_ev zYGs$jJ(qDhgB)u%gMai-nZW!m#+*Muk`@En{aCFwocq2$24ey?4Z|l#5uRdxhPm~U zw?f{I@Ju%g1k7iDF>~NEymq^HTn&A*(Qzqv;ZMfzU-dL*1Ura`$W>Nceg>0*J*_h% z#ffunoKl0?eKX{&Zen94B%spQPO#swoqy-N)4|HbmVRmjCD@VmMnTcQsIidOk>LLk9W$0h@G z(5=E|C8wmHtVzIxF4xRLnt-}a;T%VLu9OA=XRQSIvXrQBgEJ3NmQ#qof1JoGn#gsu z2L-syY||r4+Gn`v&2p`-VxNoP)3tH`Fe~hw#2s^3+h2G|(7c|%3l(#Irod`m-igT^ z7|pC#Y;s5MmCtUk2)?@Q;ZEB?^jL@Ttemw>lfmk2D(JHNKcpCI zIc--TuVd38U>AxL$X;lJDERnEMY1WE|Ii|NQJ?EtMjorfa&6lm>WEf5FFfWMW3s?= z$1M(JFD_iCjaU_?A+$qo60uWtG^&fJL9^l7NNn6x_^%}*vnuC`7)c7~_ z3ePd|sgC->fBv`^J{%9r^xFij#bN;&rphZU6U#PdHTK0FydNF7#iyPWsE@s){7ecw z(PB8*^uG9S30+vbjlK^3{Y@{3ltG5 z%DY=6p#8-hm#%DJ%_L!}LmwTOj}FX72j=}cFpaZ5yzkpJ$HGxTm%KwZM6gVgTi8q<(quRj%b%Ln%PcgVQ^5?2FSDwM zP#G5J*NO=gDR^t^M8BWmlQAawC}uebbT3L=^cvmMsqy@hlkDcfBGn8ozD&5({0A zg9GkCe4G`;49mKMhrm0QdDl>uRt0k34J_^jmJRn@FsyFIXC1kU6G{eY@)9I_aI*ou z;UGhP^G+=bwP%9y%m0mASw#|I;3`O8p`wxf!(WnJjQ@Q6e5_C0UM=SUd~FwBo2{=) z^$;&w>xrtje+yz;y6O4YxN{iJ_0OIYVLgas%UwU2?1CnnN)Lsf`QcAZPMNd0k4u}$ zPgE4m#Xx~bRiqvZAAEMw`c|GLudLQ6p<_UL4y^L}GK-DEC45Jo8R`6sV!IZ z_XS@MYafz&3N3T?&9B0ai;QGZmfTT`c@>z1-#4wETh~Y^6A+vp9$PVwd4eNM=zGtR zQJ*-<1=M{Ga~W*kot_>qDf|>RR(E-HC(9`W1Kr7z_}(4eo|&|+8yo-f`AX_Xak*-7 zDLdaM&E%lDyDU3M(~PiNBvxRMd!?C%#R7VJ*`~p4ghkwgaO;C^mC~&*zLkkL17V|+ zZURz3G{u*pxS%||tjq2FTXcxT=8i<}@E_5u_v~F-Q=nOj1$@2uB*hDPNClM%9zjSYY zboS+e)}ra0geQ4{Q!-r(G}^u>L7EXT&8jpGHZ&%9c3fI@-GV2tXrNc;+zl#TrVE(h oSTNh{0`NuIMa@e0a~_|^=ka-b`ab_(00030|FX^SE&y@@000UWfB*mh literal 0 HcmV?d00001 diff --git a/incubator/readarr/6.3.0/ix_values.yaml b/incubator/readarr/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..bc75fc575b8 --- /dev/null +++ b/incubator/readarr/6.3.0/ix_values.yaml @@ -0,0 +1,37 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/readarr + pullPolicy: IfNotPresent + tag: v0.1.0.767 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8787/api/v1/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/readarr/6.3.0/questions.yaml b/incubator/readarr/6.3.0/questions.yaml new file mode 100644 index 00000000000..7fbe2b106d5 --- /dev/null +++ b/incubator/readarr/6.3.0/questions.yaml @@ -0,0 +1,668 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8787 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8787 + editable: true + 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 + default: 36038 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/readarr/6.3.0/templates/common.yaml b/incubator/readarr/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/readarr/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/readarr/6.3.0/test_values.yaml b/incubator/readarr/6.3.0/test_values.yaml new file mode 100644 index 00000000000..1251ac51554 --- /dev/null +++ b/incubator/readarr/6.3.0/test_values.yaml @@ -0,0 +1,47 @@ +# Default values for Radarr. + +image: + repository: ghcr.io/k8s-at-home/readarr + pullPolicy: IfNotPresent + tag: v0.1.0.767 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8787 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8787/api/v1/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/readarr/6.3.0/values.yaml b/incubator/readarr/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/reg/1.3.0/CONFIG.md b/incubator/reg/1.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/reg/1.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/reg/1.3.0/Chart.lock b/incubator/reg/1.3.0/Chart.lock new file mode 100644 index 00000000000..a4fe19e41b6 --- /dev/null +++ b/incubator/reg/1.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:49:20.041528452Z" diff --git a/incubator/reg/1.3.0/Chart.yaml b/incubator/reg/1.3.0/Chart.yaml new file mode 100644 index 00000000000..b4913d7a252 --- /dev/null +++ b/incubator/reg/1.3.0/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +description: Docker registry v2 command line client and repo listing generator with + security checks. +home: https://github.com/truecharts/apps/tree/master/charts/incubator/reg +icon: https://avatars.githubusercontent.com/u/37218338 +keywords: +- reg +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: reg +sources: +- https://github.com/genuinetools/reg +- https://github.com/k8s-at-home/container-images/ +version: 1.3.0 diff --git a/incubator/reg/1.3.0/README.md b/incubator/reg/1.3.0/README.md new file mode 100644 index 00000000000..4b6614fb569 --- /dev/null +++ b/incubator/reg/1.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.2.8](https://img.shields.io/badge/Version-1.2.8-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Docker registry v2 command line client and repo listing generator with security checks. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `reg` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `reg` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/reg/1.3.0/app-readme.md b/incubator/reg/1.3.0/app-readme.md new file mode 100644 index 00000000000..579122c7ecc --- /dev/null +++ b/incubator/reg/1.3.0/app-readme.md @@ -0,0 +1 @@ +Docker registry v2 command line client and repo listing generator with diff --git a/incubator/reg/1.3.0/charts/common-6.5.0.tgz b/incubator/reg/1.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/reg/1.3.0/ci/ct-values.yaml b/incubator/reg/1.3.0/ci/ct-values.yaml new file mode 100644 index 00000000000..7ec97337b23 --- /dev/null +++ b/incubator/reg/1.3.0/ci/ct-values.yaml @@ -0,0 +1,2 @@ +env: + EXTRA_ARGS: "server --registry r.j3ss.co" diff --git a/incubator/reg/1.3.0/ix_values.yaml b/incubator/reg/1.3.0/ix_values.yaml new file mode 100644 index 00000000000..6ad228ab223 --- /dev/null +++ b/incubator/reg/1.3.0/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/reg + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: v0.16.1 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/reg/1.3.0/questions.yaml b/incubator/reg/1.3.0/questions.yaml new file mode 100644 index 00000000000..6039e339dc5 --- /dev/null +++ b/incubator/reg/1.3.0/questions.yaml @@ -0,0 +1,663 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + 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 + default: 36083 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/reg/1.3.0/templates/common.yaml b/incubator/reg/1.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/reg/1.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/reg/1.3.0/test_values.yaml b/incubator/reg/1.3.0/test_values.yaml new file mode 100644 index 00000000000..93668d4a17f --- /dev/null +++ b/incubator/reg/1.3.0/test_values.yaml @@ -0,0 +1,40 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/reg + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: v0.16.1 + +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + +# -- environment variables. See more environment variables in the [reg documentation](https://github.com/genuinetools/reg). +env: + # -- Set the container timezone + TZ: UTC + # -- Set the server registry + # EXTRA_ARGS: "server --registry r.j3ss.co" + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8080 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false diff --git a/incubator/reg/1.3.0/values.yaml b/incubator/reg/1.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/sabnzbd/6.3.0/CONFIG.md b/incubator/sabnzbd/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/sabnzbd/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/sabnzbd/6.3.0/Chart.lock b/incubator/sabnzbd/6.3.0/Chart.lock new file mode 100644 index 00000000000..e6d58fce755 --- /dev/null +++ b/incubator/sabnzbd/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:49:21.77105945Z" diff --git a/incubator/sabnzbd/6.3.0/Chart.yaml b/incubator/sabnzbd/6.3.0/Chart.yaml new file mode 100644 index 00000000000..2a8432894d7 --- /dev/null +++ b/incubator/sabnzbd/6.3.0/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Free and easy binary newsreader +home: https://github.com/truecharts/apps/tree/master/charts/incubator/sabnzbd +icon: https://avatars1.githubusercontent.com/u/960698?s=400&v=4 +keywords: +- sabnzbd +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: sabnzbd +sources: +- https://sabnzbd.org/ +type: application +version: 6.3.0 diff --git a/incubator/sabnzbd/6.3.0/README.md b/incubator/sabnzbd/6.3.0/README.md new file mode 100644 index 00000000000..003895f3e6e --- /dev/null +++ b/incubator/sabnzbd/6.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Free and easy binary newsreader + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `sabnzbd` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `sabnzbd` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/sabnzbd/6.3.0/app-readme.md b/incubator/sabnzbd/6.3.0/app-readme.md new file mode 100644 index 00000000000..05e7f339851 --- /dev/null +++ b/incubator/sabnzbd/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Free and easy binary newsreader +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Free and easy binary newsreader diff --git a/incubator/sabnzbd/6.3.0/charts/common-6.5.0.tgz b/incubator/sabnzbd/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/sabnzbd/6.3.0/ix_values.yaml b/incubator/sabnzbd/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..30d7a90daa6 --- /dev/null +++ b/incubator/sabnzbd/6.3.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/sabnzbd + pullPolicy: IfNotPresent + tag: v3.3.1 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/sabnzbd/6.3.0/questions.yaml b/incubator/sabnzbd/6.3.0/questions.yaml new file mode 100644 index 00000000000..93d02ff08b4 --- /dev/null +++ b/incubator/sabnzbd/6.3.0/questions.yaml @@ -0,0 +1,675 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: HOST_WHITELIST_ENTRIES + label: "HostName Whitelist" + description: "If you use a reverse proxy, you might need to enter your hostname's here (comma seperated)" + schema: + type: string + default: "" + required: false + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + 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 + default: 36045 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/sabnzbd/6.3.0/templates/common.yaml b/incubator/sabnzbd/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/sabnzbd/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/sabnzbd/6.3.0/test_values.yaml b/incubator/sabnzbd/6.3.0/test_values.yaml new file mode 100644 index 00000000000..975c096f802 --- /dev/null +++ b/incubator/sabnzbd/6.3.0/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Sabnzbd. + +image: + repository: ghcr.io/k8s-at-home/sabnzbd + pullPolicy: IfNotPresent + tag: v3.3.1 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8080 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/sabnzbd/6.3.0/values.yaml b/incubator/sabnzbd/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/ser2sock/1.1.0/CONFIG.md b/incubator/ser2sock/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/ser2sock/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/ser2sock/1.1.0/Chart.lock b/incubator/ser2sock/1.1.0/Chart.lock new file mode 100644 index 00000000000..3fffb1b2e46 --- /dev/null +++ b/incubator/ser2sock/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:49:23.510418062Z" diff --git a/incubator/ser2sock/1.1.0/Chart.yaml b/incubator/ser2sock/1.1.0/Chart.yaml new file mode 100644 index 00000000000..cdcd48544aa --- /dev/null +++ b/incubator/ser2sock/1.1.0/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Serial to Socket Redirector +home: https://github.com/truechartsapps/tree/master/charts/incubator/ser2sock +icon: https://i.imgur.com/GfZ7McO.png +keywords: +- ser2sock +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: ser2sock +sources: +- https://github.com/nutechsoftware/ser2sock +- https://github.com/tenstartups/ser2sock +version: 1.1.0 diff --git a/incubator/ser2sock/1.1.0/README.md b/incubator/ser2sock/1.1.0/README.md new file mode 100644 index 00000000000..956a003cc48 --- /dev/null +++ b/incubator/ser2sock/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Serial to Socket Redirector + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `ser2sock` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `ser2sock` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/ser2sock/1.1.0/app-readme.md b/incubator/ser2sock/1.1.0/app-readme.md new file mode 100644 index 00000000000..d64ee3fe245 --- /dev/null +++ b/incubator/ser2sock/1.1.0/app-readme.md @@ -0,0 +1 @@ +Serial to Socket Redirector diff --git a/incubator/ser2sock/1.1.0/charts/common-6.5.0.tgz b/incubator/ser2sock/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/ser2sock/1.1.0/ix_values.yaml b/incubator/ser2sock/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..3aab2b9436f --- /dev/null +++ b/incubator/ser2sock/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: tenstartups/ser2sock + pullPolicy: IfNotPresent + tag: latest + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/ser2sock/1.1.0/questions.yaml b/incubator/ser2sock/1.1.0/questions.yaml new file mode 100644 index 00000000000..80758665e93 --- /dev/null +++ b/incubator/ser2sock/1.1.0/questions.yaml @@ -0,0 +1,728 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: BAUD_RATE + label: "BAUD_RATE" + description: "Serial device baud rate" + schema: + type: string + default: "115200" + - variable: SERIAL_DEVICE + label: "SERIAL_DEVICE" + description: "Path to the serial device" + schema: + type: string + required: true + default: "" + - variable: LISTENER_PORT + label: "LISTENER_PORT" + description: "Port where ser2sock listens" + schema: + type: string + hidden: true + default: "{{ .Values.service.main.ports.main.port }}" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 10000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10000 + editable: true + 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 + default: 36084 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: true + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + 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" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/ser2sock/1.1.0/templates/common.yaml b/incubator/ser2sock/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/ser2sock/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/ser2sock/1.1.0/test_values.yaml b/incubator/ser2sock/1.1.0/test_values.yaml new file mode 100644 index 00000000000..9359ad10eb8 --- /dev/null +++ b/incubator/ser2sock/1.1.0/test_values.yaml @@ -0,0 +1,63 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: tenstartups/ser2sock + # -- image tag + tag: latest + # -- image pull policy + pullPolicy: Always + +# -- environment variables. See [image docs](https://github.com/tenstartups/ser2sock) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Port where ser2sock listens + LISTENER_PORT: "{{ .Values.service.main.ports.main.port }}" + # -- Path to the serial device + SERIAL_DEVICE: "{{ .Values.persistence.usb.mountPath }}" + # -- Serial device baud rate + BAUD_RATE: 115200 + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + enabled: true + protocol: TCP + port: 10000 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + # -- Configure a hostPathMount to mount a USB device in the container. + # @default -- See values.yaml + usb: + enabled: false + type: hostPath + mountPath: /dev/ttyUSB0 + +securityContext: + # -- (bool) Privileged securityContext may be required if USB controller is accessed directly through the host machine + privileged: # true + +# -- Affinity constraint rules to place the Pod on a specific node. +# [[ref]](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) +affinity: {} +# nodeAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# nodeSelectorTerms: +# - matchExpressions: +# - key: app +# operator: In +# values: +# - ser2sock-controller diff --git a/incubator/ser2sock/1.1.0/values.yaml b/incubator/ser2sock/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/stash/1.1.0/CONFIG.md b/incubator/stash/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/stash/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/stash/1.1.0/Chart.lock b/incubator/stash/1.1.0/Chart.lock new file mode 100644 index 00000000000..a2671e06a42 --- /dev/null +++ b/incubator/stash/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:49:25.249126785Z" diff --git a/incubator/stash/1.1.0/Chart.yaml b/incubator/stash/1.1.0/Chart.yaml new file mode 100644 index 00000000000..6bbb03ebed4 --- /dev/null +++ b/incubator/stash/1.1.0/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: An organizer for your porn, written in Go +home: https://github.com/truechartsapps/tree/master/charts/incubator/stash +icon: https://raw.githubusercontent.com/stashapp/website/master/images/stash.svg +keywords: +- porn +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: stash +sources: +- https://github.com/stashapp/stash +- https://hub.docker.com/r/stashapp/stash +version: 1.1.0 diff --git a/incubator/stash/1.1.0/README.md b/incubator/stash/1.1.0/README.md new file mode 100644 index 00000000000..fce5c72f7af --- /dev/null +++ b/incubator/stash/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +An organizer for your porn, written in Go + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `stash` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `stash` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/stash/1.1.0/app-readme.md b/incubator/stash/1.1.0/app-readme.md new file mode 100644 index 00000000000..6f6fb60c475 --- /dev/null +++ b/incubator/stash/1.1.0/app-readme.md @@ -0,0 +1 @@ +An organizer for your porn, written in Go diff --git a/incubator/stash/1.1.0/charts/common-6.5.0.tgz b/incubator/stash/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/stash/1.1.0/ci/ct-values.yaml b/incubator/stash/1.1.0/ci/ct-values.yaml new file mode 100644 index 00000000000..322b5784ed3 --- /dev/null +++ b/incubator/stash/1.1.0/ci/ct-values.yaml @@ -0,0 +1,15 @@ +env: + STASH_PORT: 9999 + STASH_STASH: "/media" + STASH_GENERATED: "/root/.stash/generated" + STASH_METADATA: "/root/.stash/metadata" + STASH_CACHE: "/root/.stash/cache" +persistence: + config: + enabled: true + type: emptyDir + mountPath: /root/.stash + media: + enabled: true + type: emptyDir + mountPath: /media diff --git a/incubator/stash/1.1.0/ix_values.yaml b/incubator/stash/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..d447043b538 --- /dev/null +++ b/incubator/stash/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: stashapp/stash + pullPolicy: IfNotPresent + tag: latest@sha256:020ef83cbcb739e7842bc8282696357f337c61bc85b68cfbc051ad3193d65a20 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/stash/1.1.0/questions.yaml b/incubator/stash/1.1.0/questions.yaml new file mode 100644 index 00000000000..7a3fc2bd63a --- /dev/null +++ b/incubator/stash/1.1.0/questions.yaml @@ -0,0 +1,672 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: STASH_PORT + label: "STASH_PORT" + schema: + type: string + default: "9999" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 9999 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9999 + editable: true + 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 + default: 36085 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/root/.stash" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/stash/1.1.0/templates/common.yaml b/incubator/stash/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/stash/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/stash/1.1.0/test_values.yaml b/incubator/stash/1.1.0/test_values.yaml new file mode 100644 index 00000000000..bee17c83061 --- /dev/null +++ b/incubator/stash/1.1.0/test_values.yaml @@ -0,0 +1,44 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: stashapp/stash + # -- image tag + tag: latest@sha256:020ef83cbcb739e7842bc8282696357f337c61bc85b68cfbc051ad3193d65a20 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See more environment variables in the [stashapp documentation](https://raw.githubusercontent.com/stashapp/stash/master/docker/production/docker-compose.yml) +# @default -- See below +env: + # -- Set the container port + STASH_PORT: 9999 + # STASH_STASH: + # STASH_GENERATED: + # STASH_METADATA: + # STASH_CACHE: + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 9999 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /root/.stash + + media: + enabled: false + mountPath: /media diff --git a/incubator/stash/1.1.0/values.yaml b/incubator/stash/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/thelounge/1.3.0/CONFIG.md b/incubator/thelounge/1.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/thelounge/1.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/thelounge/1.3.0/Chart.lock b/incubator/thelounge/1.3.0/Chart.lock new file mode 100644 index 00000000000..9edcd096a86 --- /dev/null +++ b/incubator/thelounge/1.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:49:27.003261269Z" diff --git a/incubator/thelounge/1.3.0/Chart.yaml b/incubator/thelounge/1.3.0/Chart.yaml new file mode 100644 index 00000000000..f01d2880553 --- /dev/null +++ b/incubator/thelounge/1.3.0/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +description: The Lounge, modern web IRC client designed for self-hosting +home: https://github.com/truecharts/apps/tree/master/charts/incubator/thelounge +icon: https://avatars.githubusercontent.com/u/14336958?s=200&v=4 +keywords: +- thelounge +- IRC +- The Lounge +- docker +- thelounge-docker +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: thelounge +sources: +- https://github.com/thelounge/thelounge +version: 1.3.0 diff --git a/incubator/thelounge/1.3.0/README.md b/incubator/thelounge/1.3.0/README.md new file mode 100644 index 00000000000..72a7aa3809d --- /dev/null +++ b/incubator/thelounge/1.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.2.9](https://img.shields.io/badge/Version-1.2.9-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +The Lounge, modern web IRC client designed for self-hosting + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `thelounge` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `thelounge` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/thelounge/1.3.0/app-readme.md b/incubator/thelounge/1.3.0/app-readme.md new file mode 100644 index 00000000000..3bea542e86c --- /dev/null +++ b/incubator/thelounge/1.3.0/app-readme.md @@ -0,0 +1 @@ +The Lounge, modern web IRC client designed for self-hosting diff --git a/incubator/thelounge/1.3.0/charts/common-6.5.0.tgz b/incubator/thelounge/1.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/thelounge/1.3.0/ix_values.yaml b/incubator/thelounge/1.3.0/ix_values.yaml new file mode 100644 index 00000000000..12e3b82367b --- /dev/null +++ b/incubator/thelounge/1.3.0/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: thelounge/thelounge + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: 4.2.0-alpine + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/thelounge/1.3.0/questions.yaml b/incubator/thelounge/1.3.0/questions.yaml new file mode 100644 index 00000000000..445b69dfed1 --- /dev/null +++ b/incubator/thelounge/1.3.0/questions.yaml @@ -0,0 +1,635 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: THELOUNGE_HOME + label: "THELOUNGE_HOME" + schema: + type: string + default: "/config" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 9000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9000 + editable: true + 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 + default: 36086 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/thelounge/1.3.0/templates/common.yaml b/incubator/thelounge/1.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/thelounge/1.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/thelounge/1.3.0/test_values.yaml b/incubator/thelounge/1.3.0/test_values.yaml new file mode 100644 index 00000000000..b92da5d94e9 --- /dev/null +++ b/incubator/thelounge/1.3.0/test_values.yaml @@ -0,0 +1,44 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: thelounge/thelounge + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: 4.2.0-alpine + +strategy: + type: Recreate + +# -- environment variables. See [image docs](https://hub.docker.com/r/thelounge/thelounge/) for more details. +# @default -- See below +env: + THELOUNGE_HOME: "/config" + +# -- Configures service settings for the chart. Normally this does not need to be modified. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 9000 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/thelounge/1.3.0/values.yaml b/incubator/thelounge/1.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/tvheadend/7.3.0/CONFIG.md b/incubator/tvheadend/7.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/tvheadend/7.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/tvheadend/7.3.0/Chart.lock b/incubator/tvheadend/7.3.0/Chart.lock new file mode 100644 index 00000000000..2ec1b5f970b --- /dev/null +++ b/incubator/tvheadend/7.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:49:28.827022871Z" diff --git a/incubator/tvheadend/7.3.0/Chart.yaml b/incubator/tvheadend/7.3.0/Chart.yaml new file mode 100644 index 00000000000..738d63f1d70 --- /dev/null +++ b/incubator/tvheadend/7.3.0/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: TVheadend - a TV streaming server and digital video recorder +home: https://github.com/truecharts/apps/tree/master/charts/incubator/tvheadend +icon: https://avatars.githubusercontent.com/u/1908588?s=200&v=4 +keywords: +- tvheadend +- tv +- streaming +- dvb +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: tvheadend +sources: +- https://github.com/tvheadend/tvheadend +type: application +version: 7.3.0 diff --git a/incubator/tvheadend/7.3.0/README.md b/incubator/tvheadend/7.3.0/README.md new file mode 100644 index 00000000000..32576a44bb4 --- /dev/null +++ b/incubator/tvheadend/7.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 7.2.9](https://img.shields.io/badge/Version-7.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +TVheadend - a TV streaming server and digital video recorder + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `tvheadend` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `tvheadend` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/tvheadend/7.3.0/app-readme.md b/incubator/tvheadend/7.3.0/app-readme.md new file mode 100644 index 00000000000..972a532e256 --- /dev/null +++ b/incubator/tvheadend/7.3.0/app-readme.md @@ -0,0 +1,3 @@ +TVheadend - a TV streaming server and digital video recorder +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +TVheadend - a TV streaming server and digital video recorder diff --git a/incubator/tvheadend/7.3.0/charts/common-6.5.0.tgz b/incubator/tvheadend/7.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/tvheadend/7.3.0/ix_values.yaml b/incubator/tvheadend/7.3.0/ix_values.yaml new file mode 100644 index 00000000000..9f7637469cc --- /dev/null +++ b/incubator/tvheadend/7.3.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/tvheadend + pullPolicy: IfNotPresent + tag: version-63784405 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/tvheadend/7.3.0/questions.yaml b/incubator/tvheadend/7.3.0/questions.yaml new file mode 100644 index 00000000000..ba189f736af --- /dev/null +++ b/incubator/tvheadend/7.3.0/questions.yaml @@ -0,0 +1,724 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 9981 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9981 + editable: true + 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 + default: 36042 + required: true + - variable: htsp + label: "HTSP Service" + description: "HTSP service" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: htsp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - 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: port + label: "Container Port" + schema: + type: int + default: 9982 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9982 + editable: true + 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 + default: 36043 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/tvheadend/7.3.0/templates/common.yaml b/incubator/tvheadend/7.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/tvheadend/7.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/tvheadend/7.3.0/test_values.yaml b/incubator/tvheadend/7.3.0/test_values.yaml new file mode 100644 index 00000000000..2835710b41e --- /dev/null +++ b/incubator/tvheadend/7.3.0/test_values.yaml @@ -0,0 +1,36 @@ +# Default values for tvheadend. + +image: + repository: linuxserver/tvheadend + pullPolicy: IfNotPresent + tag: version-63784405 + +strategy: + type: Recreate + +# See https://github.com/linuxserver/docker-tvheadend#parameters +env: {} + # PUID: 1000 + # PGID: 1000 + # TZ: Europe/London + # RUN_OPTS: + +service: + main: + ports: + main: + port: 9981 + htsp: + enabled: true + type: ClusterIP + ports: + htsp: + enabled: true + port: 9982 + protocol: TCP + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/tvheadend/7.3.0/values.yaml b/incubator/tvheadend/7.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/unifi/6.3.0/CONFIG.md b/incubator/unifi/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/unifi/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/unifi/6.3.0/Chart.lock b/incubator/unifi/6.3.0/Chart.lock new file mode 100644 index 00000000000..e8df9c49817 --- /dev/null +++ b/incubator/unifi/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:49:30.570057229Z" diff --git a/incubator/unifi/6.3.0/Chart.yaml b/incubator/unifi/6.3.0/Chart.yaml new file mode 100644 index 00000000000..780f6eb3170 --- /dev/null +++ b/incubator/unifi/6.3.0/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Ubiquiti Network's Unifi Controller +home: https://github.com/truecharts/apps/tree/master/charts/incubator/unifi +icon: https://dl.ubnt.com/press/logo-UniFi.png +keywords: +- ubiquiti +- unifi +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: unifi +sources: +- https://github.com/jacobalberty/unifi-docker +- https://unifi-network.ui.com +type: application +version: 6.3.0 diff --git a/incubator/unifi/6.3.0/README.md b/incubator/unifi/6.3.0/README.md new file mode 100644 index 00000000000..5da6326061a --- /dev/null +++ b/incubator/unifi/6.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Ubiquiti Network's Unifi Controller + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `unifi` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `unifi` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/unifi/6.3.0/app-readme.md b/incubator/unifi/6.3.0/app-readme.md new file mode 100644 index 00000000000..0e6732e4033 --- /dev/null +++ b/incubator/unifi/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Ubiquiti Network's Unifi Controller +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Ubiquiti Network's Unifi Controller diff --git a/incubator/unifi/6.3.0/charts/common-6.5.0.tgz b/incubator/unifi/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/unifi/6.3.0/ix_values.yaml b/incubator/unifi/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..c32ec8b42a3 --- /dev/null +++ b/incubator/unifi/6.3.0/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: jacobalberty/unifi + tag: v6.2.26 + pullPolicy: IfNotPresent + +envTpl: + # Permissions Settings + UNIFI_GID: "{{ .Values.env.PUID }}" + UNIFI_UID: "{{ .Values.env.PGID }}" +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/unifi/6.3.0/questions.yaml b/incubator/unifi/6.3.0/questions.yaml new file mode 100644 index 00000000000..2cccbbf6977 --- /dev/null +++ b/incubator/unifi/6.3.0/questions.yaml @@ -0,0 +1,823 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTPS" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8443 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8443 + editable: true + 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 + default: 36035 + required: true + - variable: comm + label: "Unifi Device Communication Service" + description: "Unifi Device Communication Service" + schema: + 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: "LoadBalancer" + 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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - 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: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + 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 + default: 36036 + required: true + - variable: stun + label: "STUN Device Communication Service" + description: "STUN Device Communication Service" + schema: + 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: "LoadBalancer" + 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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: udp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 3478 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3478 + editable: true + 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 + default: 36037 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/unifi" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/unifi/6.3.0/templates/common.yaml b/incubator/unifi/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/unifi/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/unifi/6.3.0/test_values.yaml b/incubator/unifi/6.3.0/test_values.yaml new file mode 100644 index 00000000000..d308cc86b98 --- /dev/null +++ b/incubator/unifi/6.3.0/test_values.yaml @@ -0,0 +1,48 @@ +# Default values for Unifi. + +image: + repository: jacobalberty/unifi + tag: v6.2.26 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +envTpl: + # Permissions Settings + UNIFI_GID: "{{ .Values.env.PUID }}" + UNIFI_UID: "{{ .Values.env.PGID }}" + +service: + main: + ports: + main: + protocol: HTTPS + port: 8443 + comm: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 8080 + protocol: TCP + stun: + enabled: true + type: ClusterIP + ports: + udp: + enabled: true + port: 3478 + protocol: UDP + +env: + # TZ: + PUID: "568" + PGID: "568" + +persistence: + config: + enabled: true + mountPath: "/unifi" + type: emptyDir diff --git a/incubator/unifi/6.3.0/values.yaml b/incubator/unifi/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/unpackerr/1.3.0/CONFIG.md b/incubator/unpackerr/1.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/unpackerr/1.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/unpackerr/1.3.0/Chart.lock b/incubator/unpackerr/1.3.0/Chart.lock new file mode 100644 index 00000000000..8a081622974 --- /dev/null +++ b/incubator/unpackerr/1.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:49:32.298901061Z" diff --git a/incubator/unpackerr/1.3.0/Chart.yaml b/incubator/unpackerr/1.3.0/Chart.yaml new file mode 100644 index 00000000000..16c5400daf2 --- /dev/null +++ b/incubator/unpackerr/1.3.0/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: This application runs as a daemon on your download host. It checks for + completed downloads and extracts them so Radarr, Lidarr, Sonarr, and Readarr may + import them +home: https://github.com/truecharts/apps/tree/master/charts/incubator/unpackrr +icon: https://raw.githubusercontent.com/wiki/davidnewhall/unpackerr/images/unpackerr-logo-text.png +keywords: +- unpackerr +- sonarr +- radarr +- lidarr +- readarr +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: unpackerr +sources: +- https://github.com/davidnewhall/unpackerr +- https://hub.docker.com/r/golift/unpackerr +type: application +version: 1.3.0 diff --git a/incubator/unpackerr/1.3.0/README.md b/incubator/unpackerr/1.3.0/README.md new file mode 100644 index 00000000000..cbc8c192e39 --- /dev/null +++ b/incubator/unpackerr/1.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.2.9](https://img.shields.io/badge/Version-1.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +This application runs as a daemon on your download host. It checks for completed downloads and extracts them so Radarr, Lidarr, Sonarr, and Readarr may import them + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `unpackerr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `unpackerr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/unpackerr/1.3.0/app-readme.md b/incubator/unpackerr/1.3.0/app-readme.md new file mode 100644 index 00000000000..92412a850ac --- /dev/null +++ b/incubator/unpackerr/1.3.0/app-readme.md @@ -0,0 +1,3 @@ +Smart PVR for newsgroup and bittorrent users +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +This application runs as a daemon on your download host. It checks for diff --git a/incubator/unpackerr/1.3.0/charts/common-6.5.0.tgz b/incubator/unpackerr/1.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/unpackerr/1.3.0/ix_values.yaml b/incubator/unpackerr/1.3.0/ix_values.yaml new file mode 100644 index 00000000000..f94e0877d86 --- /dev/null +++ b/incubator/unpackerr/1.3.0/ix_values.yaml @@ -0,0 +1,32 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: golift/unpackerr + pullPolicy: IfNotPresent + tag: 0.9.7 + +service: + main: + enabled: false + ports: + main: + enabled: false + +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/unpackerr/1.3.0/questions.yaml b/incubator/unpackerr/1.3.0/questions.yaml new file mode 100644 index 00000000000..485f36be159 --- /dev/null +++ b/incubator/unpackerr/1.3.0/questions.yaml @@ -0,0 +1,540 @@ +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: "Advanced" + description: "Advanced Configuration" + +questions: + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: downoads + label: "App downoads Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/downoads" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/unpackerr/1.3.0/templates/common.yaml b/incubator/unpackerr/1.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/unpackerr/1.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/unpackerr/1.3.0/test_values.yaml b/incubator/unpackerr/1.3.0/test_values.yaml new file mode 100644 index 00000000000..7e289d84f91 --- /dev/null +++ b/incubator/unpackerr/1.3.0/test_values.yaml @@ -0,0 +1,51 @@ +# Default values for Sonarr. + +image: + repository: golift/unpackerr + pullPolicy: IfNotPresent + tag: 0.9.7 + +strategy: + type: Recreate + +service: + main: + enabled: false + ports: + main: + enabled: false + +portal: + enabled: false + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + + +persistence: + downloads: + enabled: true + type: emptyDir + mountPath: /downloads + ## Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + # storageClass: "-" + # accessMode: ReadWriteOnce + # size: 1Gi + ## Do not delete the pvc upon helm uninstall + # skipuninstall: false + # existingClaim: "" diff --git a/incubator/unpackerr/1.3.0/values.yaml b/incubator/unpackerr/1.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/xteve/1.1.0/CONFIG.md b/incubator/xteve/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/xteve/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/xteve/1.1.0/Chart.lock b/incubator/xteve/1.1.0/Chart.lock new file mode 100644 index 00000000000..d1c21245667 --- /dev/null +++ b/incubator/xteve/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:49:34.019289869Z" diff --git a/incubator/xteve/1.1.0/Chart.yaml b/incubator/xteve/1.1.0/Chart.yaml new file mode 100644 index 00000000000..4666e7eee1f --- /dev/null +++ b/incubator/xteve/1.1.0/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: M3U Proxy for Plex DVR and Emby Live TV. +home: https://github.com/truechartsapps/tree/master/charts/incubator/xteve +icon: https://raw.githubusercontent.com/xteve-project/xTeVe/master/html/img/logo_b_880x200.jpg +keywords: +- xteve +- iptv +- plex +- emby +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: xteve +sources: +- https://github.com/xteve-project/xTeVe +- https://github.com/k8s-at-home/container-images +version: 1.1.0 diff --git a/incubator/xteve/1.1.0/README.md b/incubator/xteve/1.1.0/README.md new file mode 100644 index 00000000000..896c264f458 --- /dev/null +++ b/incubator/xteve/1.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +M3U Proxy for Plex DVR and Emby Live TV. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `xteve` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `xteve` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/xteve/1.1.0/app-readme.md b/incubator/xteve/1.1.0/app-readme.md new file mode 100644 index 00000000000..bce69529a15 --- /dev/null +++ b/incubator/xteve/1.1.0/app-readme.md @@ -0,0 +1 @@ +M3U Proxy for Plex DVR and Emby Live TV. diff --git a/incubator/xteve/1.1.0/charts/common-6.5.0.tgz b/incubator/xteve/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/incubator/xteve/1.1.0/ix_values.yaml b/incubator/xteve/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..ad5c311aa5b --- /dev/null +++ b/incubator/xteve/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/xteve + pullPolicy: IfNotPresent + tag: v2.2.0.200 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/xteve/1.1.0/questions.yaml b/incubator/xteve/1.1.0/questions.yaml new file mode 100644 index 00000000000..b210d0e7f3c --- /dev/null +++ b/incubator/xteve/1.1.0/questions.yaml @@ -0,0 +1,667 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 34400 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 34400 + editable: true + 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 + default: 36087 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/xteve/1.1.0/templates/common.yaml b/incubator/xteve/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/xteve/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/xteve/1.1.0/test_values.yaml b/incubator/xteve/1.1.0/test_values.yaml new file mode 100644 index 00000000000..16d4e2ce37e --- /dev/null +++ b/incubator/xteve/1.1.0/test_values.yaml @@ -0,0 +1,33 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/xteve + # -- image tag + tag: v2.2.0.200 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +service: + main: + ports: + main: + port: 34400 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false diff --git a/incubator/xteve/1.1.0/values.yaml b/incubator/xteve/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/non-free/resilio-sync/1.1.0/CONFIG.md b/non-free/resilio-sync/1.1.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/non-free/resilio-sync/1.1.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/non-free/resilio-sync/1.1.0/Chart.lock b/non-free/resilio-sync/1.1.0/Chart.lock new file mode 100644 index 00000000000..a38ed54dd60 --- /dev/null +++ b/non-free/resilio-sync/1.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +digest: sha256:3316b39ae975dc3dfaad55bc8a3cbe688c69874dbcabbed57d538a6b42416f9e +generated: "2021-07-03T10:49:51.492126364Z" diff --git a/non-free/resilio-sync/1.1.0/Chart.yaml b/non-free/resilio-sync/1.1.0/Chart.yaml new file mode 100644 index 00000000000..6487a98f711 --- /dev/null +++ b/non-free/resilio-sync/1.1.0/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.5.0 +description: Resilio Sync is a fast, reliable, and simple file sync and share solution, + powered by P2P technology +home: https://github.com/truechartsapps/tree/master/charts/incubator/resio-sync +icon: https://blog.resilio.com/wp-content/uploads/2016/06/SyncSymbol-260x260px.png +keywords: +- resilio +- sync +- btsync +- bittorrent +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: truecharts + url: https://truecharts.org +name: resilio-sync +sources: +- https://github.com/orgs/linuxserver/packages/container/package/resilio-sync +version: 1.1.0 diff --git a/non-free/resilio-sync/1.1.0/README.md b/non-free/resilio-sync/1.1.0/README.md new file mode 100644 index 00000000000..6006f37277c --- /dev/null +++ b/non-free/resilio-sync/1.1.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Resilio Sync is a fast, reliable, and simple file sync and share solution, powered by P2P technology + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `resilio-sync` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `resilio-sync` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/non-free/resilio-sync/1.1.0/app-readme.md b/non-free/resilio-sync/1.1.0/app-readme.md new file mode 100644 index 00000000000..2ba4d5f50a6 --- /dev/null +++ b/non-free/resilio-sync/1.1.0/app-readme.md @@ -0,0 +1 @@ +Resilio Sync is a fast, reliable, and simple file sync and share solution, diff --git a/non-free/resilio-sync/1.1.0/charts/common-6.5.0.tgz b/non-free/resilio-sync/1.1.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 zcmV)mK%T!JiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJciXnII12B7fBF>IOnPefXHl}_msHR3evY@DwmCaVy<(@m z=X7_)FbP?xDUu~YIj)=g+3&(D0T3W5TXxdcTwSR}0yBdFFf$ko22nPjXX)s01`85i z!+G+z)j#9$c)Yv4&Hg_gkL~}D_nvM2ZF76PHy&^8Y;W)WZM?a)y}R=_Fun&`8c$Uc zSp02#XIysU{vZ#`@eimdah6WNVru~NT>VV56b)ijMg`6Zd-F||M)WU`;PV0&*I=3z z;Iya^8$RV=md()w%m~TL$!K(e$*ejLqijARMTH_(W(4!R9FYQ{(Hxcp6(jMU55xhE zC?W|0E+BzL8FElniHayo2}%irT8;L0x5wkXot?oYy1vSaxSR}zphh+rN=k?9#b5{o zn#<}OsfK>}kNwSXb2l6h$6pTS5T^v<6cr2@nnRpS08Xdbf7O7)thg8ekV4vCjR62u zMKS?aK?UXV7nH>RRYtR{A}Adu==>a~7h#$xSl<^ZhUMnhUqAD};>AQO$aRh;vWbI* zY|n1E6OIS{`d`fd1xzYb-je`mpa0wAotw+T<&PX8`0KL`(+^BBtB`3&u?@GZ-`9qNqTSAg~srDXbE*4qzICw^@?l^x|C}Ln1nY!a5PHIYCZf z-={|?K?F5H)ZjU=BgP5}2H=Y{E9h9kCH*Gpr(>zmLC_ak^J^YknC9>Us8YCqIH6;W z)zW@11E#Es3l4z&WmVO>)~cJsg2)L2>R)PlyyZPgffQ(gsq6H!g`&5 z_>RASMPELc*NdY@NG0`e@u5v@*t9kU;k z!GM*Lb6pI%`5dP4TDh)7jObc68kznbh(Z(a)6WhNu(&8&D$~!b=Ado9=2<+*v-rT8 zlLOC`6vbcF(~g%sh+_c3cUggdqXZ=2IE%qSMY1x22`UCpz<)^!hePn6F)o<^`^Nx^ zGB{=IRDx{^lM*pD7Z-?3D5L8!CPeQXr*GAy22a?$p2H93yYW~-IXr&%j^G6U#u|Ez ziU_5IjsjZnd0p-`nrFpzYtcc8iUp3)K@??GN@~HMqXhf3zPgm=38bVVur{{t>FnriNsoDurx%IR$A( zK*@$mEQkWQWNKyuKn@6(-~y$H%9j{aB~C94od^h;=LsZ8*>pi5M#;O93n+>-&+>|v zVhoB3M8Fj$GX_bB!t1O8CFAFHICuj7i2%HUOvFJZwo9Z7O-eXQqvATJWSw8j8L`2e z!dOl_1Wl=!q(Xs8wI__P>GgRQUvmOr6rr+|eAdiDFvST92b@@?agGm8PJaCU?a>6x zuZKA-OKOFS=DvnF1t?wMB1@TQT)+a;@m+@CR4_@7c-q2~>y*F`Qb|t+Pr$)CIQ`!V zcz1e88L-Z=9ZkTOH#Z=BixLD&6uzNM|M>CC!4q((iVU6r_Mmj}O_9yjZvetD9H4Z; zTJVG#27)Hue8EvV1g1qcSDjgI0Q3RQbIP+P;77(OP;d(5_@ZXQJlo)w4=+sdbC}=? zCkZ%5ywDKFbDUB-PV+=D^Yq2*<5vf#FW&!f@ao-*2?!j`s!i~u^~9D zN|Mb%Uf`_2FS8Y6qnySNc?doE;_= zUEzO&i;~bO^Bu2yHqd}5na>a%aiPWJPoP&10G=ASamgz(@fLV6xoS~a9u5?tjC*=@ zX{|6R1QT%d=0x(P+z{ibDx}m;Y<9TqXgai$MAe#Rz4{lq6%*eFB0_sa{?%Q92UF1tU)=DoR{7b<1Kl zpoLZ}sTlt0rvgoX{&}rMI7C?*p`4T>S#Owf2IKUCeoU#*(Bwrq6a`05xPHOu#gNR9 ze7!#4YT$(be1+4?QY`MoR1|FItvW$b#b)GTmJ;-VC@b)on`iR7_^jD!J>kr$=BiD} zvM0O*Pf>IoCCCRz70``LJ|U?V26TaZC`*@ss_PK^4^_TGdjP6pQ4DY@H8eFeVL7C$ z9<#P?`)Vj)9Ah!Eqg!LDfjIFU7uh*dQ-zHH{-MXv;(ABc<=R9Ms=ZI}0;Q-dhXsN$ zW`C6g7Np9DIYnQN)-9`>D!g-)WLE=TKpCyC1SpU@=%!`dPymoLXe+uGwaX$gzz(=I zV)`wNbvU;R&*-N!Dz~Uiy~5>;z7l`7!J3O3gi^~yoOF6rW!dvIvu$aRjW zZJsiNk&AStWokmrHV3DN#{qlKy&?-x05PoFf`Zs8C79t8~pz#^pDfS<1^-1I(v6?e5P0D+Kzq_dM}4pDS%XY z)>{i{3@#9TroE=x9uJavOiE@kI#y#qskK)bjQK47cV5>@Z2n*|u3)RI{4T{kP{wkhXVxFpmNoZ~o7&=o9DDQ6xjAe!P!{mbR^ zl0hnSNXIYVLxmN|sLG3Al3WYOhitF21TfV!a=j&~!=zIK<~gF)CxuUc3)D3(wS!pK z$+}`Lut$^0@&`8aLdmnc9h1$ zsua3nia((EbzN1e)*+oYI31qD5=R=VwfXa>;JOBmJ8SR3e3O#Vl!S6*vmLYvNH1{u z!BdnZli5Vk zg?UXB1yI{4^iyq>)|4GXG7CXJl7L$LkBoQR_rOBAVrtV+wXcQhf`9CT&2V#jIBq~X zWowgT7N%%?)E0{kOj5uai$pG|3&eJKBUBFsipGM%H%WU#W@b}A$eK}Wss7VfC-!g& z!9O!H6Fb-}P=JaDKC);Jqk5a0o=eAuaSHP7)@TnN5>ktH|&|7`NQiqHx}*=r;xbM`nMMj87!))XkD= zj-)kZZkS80tA~Z0jsBC8^FEutCo}Y(SO3S^hA1jRHE78%hhK{6UFw+5D`IvBfB%|N z#1S&$c;FFu0>q}X)*)goiKjZ)I;@dZM={$X8PY`rhf05bpC;E0Xa17Q1dgwLm2g6` z0$w0+s6v*+(tL_93;=9ZR3a7!c{V)T0P%GS=QyG&gGUZiX5vzEEOu05;&J%D-<+In z7=C#L0u>GeU$m?%`4TDHh&4Q4 z*K6`j*cD7!^DxzU79%xHYX8u=*isW+#QQEr#oqAyQF5;h zR85$d6t5+8MOebly)CXk~0qK66flb9ff_UEF`H?_2dpoq;KWgie+V5xFiHvcY6g1XHOcYhN<{jnBe40|!KFL?6^6O`IG7PvnT> z7LEvW&ZYp?cE()9GQs@q++KEhoyiJLpz9=eZ8$zi0ytm!b;tpQu+rT4!A0 zZf}jXPdsLNem#`Y+x00Nk5Qx@GUek#JDYc=ISX(a;{}c@n9!cObwFcErtZLXl`8}sh7GX5g4XKz`ob&zlKPKca=9_YOj@bMrP=Q|GfmZ zEr!iDeWMwI`B1zYG9RyC^&4uQaifiLIm*(K6cDFm*)Vf{mI0?1L$u&-fDtT9e37#F zV5&PuPw2lKS5~YK=&uv;ON+MV!?*-+%JwF&HJU(CCAWxx??alzHiT(Bgek#8`DT3} z|8j(c6Gj%v60uKQu7EZMlhIMb9jy;EB$^}VUCFiLL4sk4)FC_}08mN_%-@a>iALPt zI0SQ;=TyeMJeH1XUPzuQS;;8_7{^0Fz>s8&*N8+zM#GR!XZGh1a>_^R1Faou9^!lg zg3YhD!p+_1;byow9`n(zDCH+Gh9HnG$0(Zz^4-Me?*kgg_*+MFmKHn_I{e zu(|d8HD>Q*&-SbFsZ%{TACdnXPC*&9fovpsBAxM`iI~p;fI6@l*XuFi~frKmGBjY97*6DQcFvooaZhW zndl)Ld^P&`ad2}pHalc0nh!wWzNKC&%hf%Kmh<|n4L2DL)V7m*1BPeJ&DM4_LS4}}@Y zVY#81H3VQ@lq!Is6OCrSiX{)wQA`2))m4^7j|X*nfk4)BlcpC8!S5i&X-tLmxJJf2 zx19)O9+NJ7b-BBs(`@+wv|}`iw&FCvOd(FdT3+CkOhND_BLIrzCN?o^UzF>CkJNR& z(`08id%i(6GrUn5&T{CW+FeHsv)<*!elsoatYD3Lwl7={a|e1_!UfH0y|=w#o)rWp zUV=Qe`05B1b6l3x=Jk=_WitA}Lpook1QkLA$W(9QV|E=Az zrT=%H?LB+c{}1sn{m*QE6|+Ny0%9u$s{YQC3Ne|ctOAvF31sKLpooajDOl7QUFd2+ z#RKa$gkSHQ>R>n=4)oN7ENkFmb8v~%cv4d^m?HvXNZ>?eTX9TUzUY(*T9h&spniNsFYwo^@uu;si74K>3TTHVC*EbjYvJfPou+6 zr$(hb=;Y2Wb#vpw=PJtqOQ#L*i8&fPB(aOrkSb>diibvQzHZbbL`%MMbB+AY>Ho5L%9#J4RZB!aV|o&QIcn| zqZ2iFpITo2*&c`fSN8p?41f;(|7?42$JYP5}eRHFc)nhmsDNrrvhu{JFwXLOVSphpV(D4KU z$FL!xjYb*ZK=3{5Uk)z-YcY-p2vql(_|`4hKCgIP9hjI!cTzF>VFNrRiPi-+3rSPN z<0%N$IWhgCXqV0n3UUodL+p#i@QXzN0+R4X#pnYt`P>*gj-GT>FmX0eGOTS7J1Mg4 zo<P1o3L{N zaPie8r|Rifi=L-KcDz(limosyV{RdyhReyPx@#Il@HrkD5cU1B#>Vi|0+n=8G}#A1 z(1-RWPK$ab^k%U97rL%129kyAb?anjSgjKT?OXDyvnApnu&l4wt6^TE>(bGL-@z0Y zC2;^Z0SvXV_WADCt^R4+fB7PM;P{_sd-nZ5+gqEPkM`d~Jk0;6+keOPX(JKg&4QTQ z?Log+kA=l((=A8E5tXGlX^knDu8 z#NF#)y+?eQDBLwvyN9jcIyzdNjK}0p8VOUh)soW?Gb1o3p?! zM-SJ)>N*NhD9s+N0ySL_$`7;rn$=y`)rY_H2YZCdhSzaMBUg%MTYH*8h9stw;U;5RcgZ zW0xTmDx?RHOuL}TuifQR&#_;pw(2vPj9sj>G-g%t=5ArnZf0-WlmiE4iC~k8At3=T~{l7AQ zmS&B~SC&mH2d~G!B0g(&l!W8*|LW;K3>(V2g^n4#Z9ZZHZGRuJY)oGtvDvy#AMx#6 z#Hxc$bbU>>y85!7zk%lYv$J#a!P+$_+q``za!7VL`&!1L?dqT!x=eH!Tv zlx?m)Sx~kW>3G%)&7ir@aK+%5|Mls&6|Dg}=KuDy ztw#LE-p*tE$Adh#i2v2DZ(nHuuyO3NGXhwn;!hX?+y;1s0_ii2;x&R#?-I)UeR_lv zbdRCD`dsJ{%UdyYCrd>1_6yJL3i%ClSP*^{M_a(ID&_6LcAz&87)dL%^qVE8dwT$G zW7_%RWF3*ZkD;@jp|di#mz5SvjU8(PZo&77WiwoLC27M(S8AGo0`oEdt=(g^_F8@FMX6pa(-uTh~{~*s& z`u~L(5i_Hqg21BhtD_*Q-uZZGWhyiQ?T{jL+ zJjLY+VHrCdb1#B9JjV$pxE|=CtYBuseQMvlE8>*oShqC0Rho6U7>f-+cFbL^YUOJO zcJs9E24J1|U#uS+WrODZzRhAFsMFU+MI6*;ZA2eixnetMlJu+wd%X-&0d=Bd=6(BQ z?(B~Fl07l+*9r4Z{?G5gdOs2ETwemGm*G-KIR?NweLFW^C@Iv%IoH5-!BPyN{nIv= zS`a!0pax&H*S51=xpZ9;q^=`m2)D(B)!}iK>1yk)oBEBNJvkZ_iRM)mMOG1(a9d_i zF9WgZ#OH{XR=xH&1y|_2L{U{BmHfIN8huDk8XaY9<|vy)QnHG4U)mt9wSz=p-+s-Z zH1EXLxZ|$UaNe-(C@Vb#N&Gv9R)Pt;DgZD@P`N$ByeML$wZb@qrNcOM+|GMR!%kBx2Nq3 z=LYZCHPOl8X$*b?lPo?A|u#5Z6bwk^t8C z`a<@bn_A}a%h>}CoLyAs0NbDp@GA+^*uH1IiwN)4@4Du&j*%FRU^lSaZvjZF`8g_h zb;jOC-KO1PQS_!8e_0Q#PE@W;F@4Xz`u#t4j{Ms@f;#*^J3G6Zw*PngG5+&mo?FC! z+5-dplAYJr*H-C3Tsg@zg^62bncdOh0dic+;N1V!PvRR(^R5PBl;60e+I7O3Z z;WOogZJ+^P-wYVzRxp3{xs#~+^h9BoXNUq>@NvHP| z6~@i*Db)h(&S7yUKO*|cXbIz~sxaB-Hw}AoGE$zYvaa=yUC43R){S_dUz6{GX=b!( ze@pQzn69r`VG$_qe>Y#ME7naI@_Tc3aLJ$Cv6jD3?Xg~kW{_Q_T64O<{T(FUp7O6N<>7=362 z5UjB*1@>E!q(FnhyqlAK5Ijw@7`?}NP`6PuZhQNg*6xgCQI@bO?DA~0{IULB`$WYV zeKlh51~*zhTGP!=-?*+1RUY<>!uE^HK|o)h=7}jHMGN=ATJ6oHg`Rr7(yY82hV{)Q z{RtYdp0CFSO3Rqh6Rj+;0P8GtinnVyv*Cy$;quibRXF_GlY= z(gWNAMIxuH68EGwAnJpFezztQzeM#-7BiP*ptn^LpwG!L6(y}jZdQOb9XxlO%P|{# zcY1mputv9+Ice;$!PS&V)Dg;Z3rq7I8qM&sbH=K$~_=HW4rY6 zd6=ig{$E)h@DBU`+18ew|9fY5`!WCbgFH*e|JM1zf2hx6-%B*GN*#XV4%M}H2X6Yr z>fX2`b-i0kjaXfCU2iP$pXQ5bx&5b`m4x=*)QQtro(NaTU>K~MEtAAHgIVR5R+Kgq z>ei@W&8#p2DJ-n+Vl_0X=DAvT4msNba7TtobUL51Lg6kiabBfji^3l$}dX*NRkv!UC_35FMcd__fNqc)+dz`q^JeBm&CZB=7X~pSZy^w4R zwp>IkGE+O`!90Ij=(^TBE+_n=_TSvy`Og1XUk5!Bih3+Soeg&lc(K%N4#BtP-;>Zf6gScPtGP#V|N3WLlb?NtWj zf5HT&5h?;B<;39;w7jIzO4GQv8+MaOyOk zFvI*UOfTfwA>Y@DZ+`fod56-_?5eKL@HL}EEHLX}%FgqPc3UqEb~!7w1LeMGCusi3 z#}zl6J}mLhT$NVgxHJdI%j0D;hBlg=SLX>XXKym{7Qy)XAdbb&i`=>G`D$>t9fX0L z>5GXoyS+M^VQ3(OWcte7+Zi+nyWFkYL*02_R1yczk@Hze+PdL)G7?PxT(?ba7o zL%;GxsEAK|-wP-F@v@f{Jq`Jv;PX+03Nm_6|2)tMP2)wtmOT~v8t~ZL{yDW)OVQyebKc26!b)%UfEHvsGNj-+OOH38=A+dH% z<*|Bias80JYjxU>Jd?KDVKw}e3ja;7OWkVF>biw>)6=*dcLPQsZ$#Z1M_vM#Usbrj z8m>b+Ea3v;gl8Cf3f4hDib{+GURP4~@AQlE-)R7X;c&>DHcMYk`qWO2aGSU>?wc@u za3m>JJQ+#KFcRw*cZ1p5IQkd5<_*>kDgF-5ceha*nR{v!;w8FngIM4NB&aXQn?J@m zhR5f2Plx_rMf%6i_^-_!`~K(Mt;hV25A(?NUxCpAu_JLKejX1`0UZE%iX%u^7)2zK zsiN4w;Im}3w&B%7mpOL*)~HCGS0y&F_qp z9>PwFYGi72RB!3~yg(&NiGo-QNqM4?um1F3E?HV%aLT)Z3w^rop-XYC8`>GK>59*e zl_1clqr*(;ewUJ}Ioic3uFRHam8JwgJ6_$AHA_roHAMkV0se4Ue=S@2R*!hs4!wG5 z?rYZxnsq#2O>N29>T}RwPhVGdMZd_gX8vu*NdEX z-Y9eietVC-XI*`Zv_Y|&m2%9n>Y>ibrc4us#3Z6~uSK{$8jYXxpK+-OpF+zhpQC!3GF! z0oxOz+Ls4QHvbcd$+r1#Bxt>Z0O;KRYux|4x3@Wdoc|B;u=#(GB-s`CS9Okrk4)VA zopC>CjMC6M^_^LKFKbZxmXr*a2oLp28s1RimorrZWW_C7hA+_eFkzk-SzcgjywrX_ zw#8=OUa(ZF^xVXCqj-31AVdyMFG4Di_)Q|Ff4fBU1u71+dCrnZ|L117`E}s%(sgn) zG>`HK3fNU+K}Y%#&aA^3iY^s1O2YA7FUO8L+56BsJl?NKMyluab`FXNr8;BJqlLMe zr%nEgn3p?y0K4S>xat4f*?Nrse~?GF|3tj+ zVy$#B6CP3^;X$5D`ObEEax3C_p(UViR`DH2YQmYr6kecsc+R(0)CsGTI)QIf%$|rA z+=a6ZHVmEgbzFO|-B;PH%MLE45i(mQcfKB_>!0~)lmC3^-23^j?d`3`{a?@ab{^&b zLp)4Qz4(yBG;YNI@dVC3@uUkDEmYtl$<86WoJkq%c4V3s>LG4v2zV_kro#bhAFQdE zYsY7~Y~Y`aSdMjXtXRD&Vd{a&J%vR=G{Qn0sM$VxQKb>sea8O8^OI^i#UI!?V5b#6 zIAka008|uAt0cJwzg958Q%n^_p0f@K2R|YXos}mP2ko2^oTCU7nL0>F8#ZZcT#@5?H{J!`h>O5hG}ap6n&Yie#2Rz5b=~8R z9|Mrp?Rs8(2H93B>stad-1}NQsOozW7;BgYRs^V^#9gL=z^tUDtNx;Ke7$c(sahiP zImoN^n~6ZoL~V#uc_?g0I=tC17juS}V%AxQa1?f~p>K;Jmn;#t?Ot>Y1DaR&0fuIYZeUop7bBT&o}1rMn7PP=2==I4_x;31T77=B#@wKl`z0A$S0zJ3-+)jl%4(U9zQ^m%GE<*TS;xv9)QiG_#>4j>i$fg$hj#_u5+Gso5+@KK_7c#G1aZ#>< zy4BHES{F)*)7i$$TV*UTuq1ejqU%WB8K{0P33&hjN*AosO?}|<5?ybIfIB^J5lRHt$CPEot5{BcT2+SyMCSxr-`|D3mT< z;gVPcu~*IGr?NC(nyFtLxr210xPyxp1nWY}=0FxJjNq8Nz{(s&czVqcjyQ;ER?u$8 zMV8V9mWnYA+J?J(9HMlgSCXAbyO4*UI=m&5eem?s`k*@e>B9V?O=-;H)a@&MbT3SO zFN&*qA|Y5pyDgi7Im}gJMF2H_ql{0sdc+*EdKdBzdD<+l5kH5ygsZubY!9C(z|%(s zdNVCf$s{468=_p$y1>$jVS(1|ciH4Q3y zt22iKtVT@7Isg3@O>1$wtP#}72|L=RHo{n<0e&!%6nL&RXUo!!&6u4UihfaB4NQ!k z<}GeFHyYEzTM%7j=ct3~(N_b&*RA}T($k_sZw^iXOQQ-dP>KpjPz=63eg|+m&3Gee zN!d{|FolS$tOyP{;c3*|SYM|L5N3WBkvmE;W%&7>u?pUc6J2A=%8wYH{E zP@*7-~=GCI?T2&X&h%S!V)NKb9OVJoSy( zw|j+Caj>DbVC>HxV(8RXE*U=Oj5kY?WnP5aq0}vRkO#8qsEA`GieO?At%%GMuqG*8 zXRG91Gp^gzv8^2A)>R6p#?yQJA0!xxq=wqhyUUF0$rfISWKr{P*5=Bmdvd)?@tNgFI{{#dE4DgHOh}7zSSt zbB`@GwGgdbX7giCqoL&&bR~4x*VFFQeV$B!W(q*i%=5>y+3{udQ}?z090uP3Jjin@ zR>V7Ad$_Ehf`^Wv5485EKxvE$zR4gBsFBVOjW`&kKHw0^{1o)!d&^`ek zqrs!goaj-#nIcR8mGIS_idW0vD>-DQwY@Pj@cNSPdh_mjQtsNxa7|~Qk!;sNkU4xD z)ij`n=DX{``)>KqoH6%#{`=Xpy@veX-FdwK?Li(c|5+c4EXZ{2pJW#}>L>MuuWon` zcRkxMR^=7n;UyYfN~E^gHEbD@_5JUa*r2kXjl3*2sB%JtZTO#3;6hvjTZABG!8SWN|Md(7+?Oa%u(dp&e-y8 z#hJT;Rv#NZJ8bMs)FiP;z@cL&NZoR*N(Be+PQMQth4ogjp77l*?80KjJbNHAwcbvy zv5jKAY&KrIWm)2AB#$@01Yq4mC%aepTSO*-tJmz((oW!)+R7_x&rvAuwry;t_yEYO zNoo+M{2m$)1TVK)8%UI&WYJ}NE8Hw?w2YY_f-G$q(2>|qo`k?0tS~u33A{c*QI^J~ z!74gcLPsIcPPzn74YsO4r?Uc;vn+|5u;DIN*bxP@Mnhb?GoF| z{ik&1e%Js{F+p?RHNLu`!t%n?!eN>*poT#*r*Dp_Qkm@6%hM5)9}LsF?NC6!f?$@F ztWr>i2?p$%VU9>Y8Q{RQFN#Shok6z^2DWC`;cx}dKN#+f`r`i1W2sLYmW4^`2V4@IUNH4xN@$j8?FwF(ATQ7q6#%Bd zERLuAK3!b0T?-MB)*y4g4Q0of>(N)>don}C6)q9rWU!nEpS+WDX%E&x z`)XCfcIBwSYXDWBTlpeO)%U1s7p%5~Be%AM`-P1WA>-xs!d!iva7VE#`ej{Q3g)@}Q@kN>yX!STc?7#8OGdutD*6!Y8{^tjIo`7RW2rAN& zngM(SfU6lw!Fh#~7^fE?htVaxKxH_10#0YtG~rwRB`9YoNx(&tor5_f(F~^-8=yc5 zBzS?CjMCo2G#)$wDY{^RUUcH3DgJ6(jbqd@;Ki(SPL6a*>W|K<6;Jta32L2`UF) zh2>Q~_$oYymxHfDGN*rM1-=-3_5Ti@fFEFiv#JCyk6x66FfX!SP(%hHju9O3;zjn$ zAY7DD7NgN0K}v}E|Mtbf(d!rCJiZSc?el+gXV>=sZf=bq@Be$4=ZVPcFc|#(Cv`#E zX80@||GYLMBrhkU5uRU!<%}g03vo6&hw%j(iNZrxc8JqyR?H!f*8TsNbq=? za(ICzUwsAsQ{ukBWLBMrQ8piuqCz~dX$14U9FYQ{(Hxcp6(i1}e+&jso`Ba7%TVOO z;CCQy`gk#?w#e_`U6Fv_2fu^ia5x0~fASCZzQzK62kbuv^es2y<|w7a)@j@(;Orm! zo8jheI3AAASW#}mP}KiI*Wh;`c14fGnwS1nMg?ZKdr*{&0{*Z3pYa#_HTWGIfBW(X z{0?wRVVv#kK0o8+{SJ=b`M$h+eQ@$G@H;5w?Qv(pc)S&;@6Pz`-+B1k@8ImGpB*KC z&^8hJmGu{6H?m|gDp9dO1v~ft)A(nT;NcKfWEON)+q9~sS&G^!Nr%Pn;5^Id$T(wH z@wC=hfZs(HITkndbVAW`Cm2v@!GcZ=`p1x0>4rw&g$d?a zxEF4>)|2VLwc989GeT5ep5L-2UGdOi!TxA+fah=%$({2Q6wW?n#U=eBaw5i!KNO=LqH)(?+I%iu?mYSJt*ImsHnx!xV1VD zz`E7Il9ihSi^}jG6_@3*9%>ef+=WXs*#MIBz*xbl&8=r!o4u>bpeBQc)5GK5$c@<}HD1L(zvr#EdT%~);G+wkz zdC*b`UZ50}B@5u|QC?igz*S6$_+=422)F9>Z$_4*l(Dz6M5PCjUY;KsU8dF@lxP!- zPm9JmD#|P!iPFO;!TkU>6e-)DbJye+Um3>PRoaIGvV4{IDs72j<1!Bz#|@k6&5P6b z2S=}8zHt-V1rw&i{B2#>aR}ColB5@v{IZr%+skuKR9BTHcp<9zc)>qwEz9B_0@;zV!dH@? z?vj?FJi_6n+$!F&IKzB!Na9C4mL0@}6vzrTZ~amhNC-lM6=0Rt`4UZ&dBgKBHC- z<`pPUa0K;_+Bcav$|D8rtef6q!l9zf1b%SbsjZrYg>BYVzFWNY^v(41#I*Ze^d*tY zxzeX(w=boS=fnlSmwUvz@}NI|tveii6VY|0g2y^3NdXDExONc!HcJwmUcAd=NHj}B zPZZ)DHqKaWN6Eo(sb_Fdk*v-l$1aoSna}5lz!(w;s*=+F(+nl^VVp%JSZszn`nH+2 zyOd_dRhGrSj8y57xMZgs@oMXzXtP+w|CXd2sWbNP>F@9&TMdr({oiL>&&Kxt@6OiF zWB%_4c|>rB+6BgQCfU|llvO~70ZuQ1!QlS{ZJVWR^w6GTUJU()o6@cf+Arb8e9*NKUrRJPAuh>}NHE5Ts zu2h{-u;5*Nq`zeuZPpl%<(tNr(V`pE)YQ}GSN$(!tI4HZTBqA0Rr zZQTT8oyx8qhOc3Yr-&yQ*Xfh*%kW!7*7Q4(HbBsv#3nfhWr+%Yng5%NyqM?Ydaa4l ztXb#7+W_zRO(b@OkgoC90&dj{dxhKhb>(0^Je=VqE>ODWK_I8ZWM4!2)A(lrUJRyS zePDM4i9&l??YH-f#t6;@n+U6yc$jVz+5#2;Mx=tt5hRdhe{alq`PAhEBW;{M1_3ej z-*13RbX^bp8lZzR6CYR!Dlpoa9<+IqOgiC=G0(9CSmWaY0FOn5BMTC-0! zEPCvTp#EAHQ@*dDJ}55AJ4k7-h^BDwD4!{aTL@=ZT$KA|f=~`{%C|yvvB{y<#qE;I z32BDxhQZj7Fg|voqvEE4@lj0w1;jL)79JT*$5Ok1X0>lEooVd{70ndkpH(i?w%wah zevvM2FO$6@`9-?0fb~HsKG){SwJuUvfFFxc6jxbT%;BJjgk)E6$oW4AK z|KiOLX8&&h>+}0>-hTf&R2QR!?24JUXv+Vfl60Sm= zL2vxad9%%39Dnou(Tn$Q4qm@lNoy3e4oanWG8ss%3`4aSQG%B}`$@b#^&+)65hc8cW zHCWq0zkF?jUJ~F(^JhmVHEF4Pt?@Xz(a{)Vrdi**cxEFo&MLc z)2XfGG1KYjY_-y9-CG;!FVaO%8@;wYU&EXmh?i)sF^ii*{W~o)$Zc zgDV6se#@Ff@*3t2Jff1!zrpMO#8Y+uY#a5?+I0OQ!|#A+-2!;Wz25-YrH-b)bM5E< zAN}NRlxi5i@QgQ$50Ex-AFTJH-`nYZQ1`{rvAlW>^Pfa7{0#OL#ucuiUZjf+6X7aX zP_zf`w*TN?Oo`BP{!sI~vDo4z*bwfs&~h!TIEV>gX8nc(@&p8dZYj|g^RI3@n_oO9 zjfs;Nhi_k;)|L(bS{s-WJt-<5c3sB*#k3>mR!_|+I%PxG5;Y?m9)nDx*iN`;zq z^;9JurPK=RvosbyowY#co~=$zqk*Xu1D4(If4@b?H_Zo%=hpr17S#1v-DotrZlk)_ zl12P9wb06hJBu;9qiFYf$tZAJY}?;?hoz+XQAT$4bgsGmX_ABq2bl9hLr>_Go%mGqC#CG&(XnrbtCKQX_s)cI zAb%+f;xkd1dd-K^m`sGX=u3WeloyV_i6(}h#y@vd^k_UeiZ?(5prFvuakoSw#=jql zoMalJ7RLj>)np%xZ(%rCh>iE2X5QJXps@XI??u8LjEMTkjecTV$qivKO!mQ|lN^Fa<`TSyqx9 zlG!kZ1m3PEWNyS(E>iG~0xEYS7?FAIp$jcmOqPZV?d5 z+T0rHMn+|U7Z>|zY>3HrSyNrNEWM~aV#14^C+c*fm$PcJL`$u???vk`cjB1WI(grT zG0xzbz0paYArgGFv2R|CCS#Vsh!$Ri#;2C{e;Ui#G@l3bC(i7Bj@XxrjY(HidN_}sBIXblZdSexJ?#+@08G3V8 z$d40oBio5DY{4c(zryWyl$a3gEwjd{BtI!?dF-RY44yEE_^kIkH0#csU46X0Yzc>o zqG{|Eh*U-DvEabHEg0v$mWjrxJK0gUTrbYuAqjNQ*wPQD1Qk;lp_`94`Wz90#~7^g zT|K4w!3%47oFIbM7_JTAY}I;W9e1e>I!0vwC=oA1FKy=aaNd7v>*w(??EhI-;NR#{ zK6#&K@q1X2tc>8DmjfO5Ka98bHtqZWcDA=4?f-{(J{SA{J2mucu5`_F^*mGV)MLHfkrs-?J;Tt(2Z7`E2}_Pk82OQy1?BdtXg`dN03xMMf@6(0!N=p z6SuhkWHM88Rozf{TwWd?zk5e;f`4O4B#%)Mp_IT2)JHz|lgK^{`@3VGkX3D%SdF*| zqPz+wV0YX+iK;c~HJWF|^*y(%1fqiP~;Xzg2nbRFK?WBC8X zH5IGP{@dyQ+uPi;^Z#z|J?8&?nCElx|A`A{R_*Vz!Ty!}d!p_A{CN#VHT`!@UON1B zD?XnoaC(m2f0vc*r#E@Tc#jZ(4s+A%0~7SM`n-;C+0*Iula_0XUl`;#py|o#(}xo7 zqM}?oNMjka>?FybXvs|)KM>kc*tpthpWo)hR1Lq%sdshbil+S$pPQ!j(ZM6`&GI zV)6SfT_vy$gX;Q>1|5Vgj^>Y!)|=;jsWH<=D4SI#muwOU$@%1K=h8CG=4S!aj20)E z+fM;}yp!L%F>KtRz3y+f9ZLz9H&op{e${Kx3KVTtt0=g_*?Ov0_Vao)-T@R#!m_#b zY`dR^H9Oo-f@7dg07dhtURS4HZ>u&}sxnujQt|@NVR6kA*koVnininyx|sAGl=G+u z4V$3x97dNYjg1+0Us*0R!Z*O(Na?|!TjT)gritH#Sk2E-anD@hDM403(QVcK>8q3b zN*jsd(^n_*RlEPn8x6KhV#yY3!0W#{eRb06F*+`?1&(i(k^2r>nIuXl(?9kd>$ld5 zrQ+H?|8wZ5?NNe^BjV|^&;!tPTmc{>_owqKF zf5c>Fr=DAS@uB4xeT7Rx)j0G0@^o~)%CoctGS6erI$g^gM-`RnYJao@aV63R-7@%O zi}pukp7&dUvL15=EBsZ~CBJ0nzBS2rS#~MbBmbS9TWgUatVlN0RDbI}FP(79tW7kk z?snS652)Mq*D9TO%DVC(jjf!(tG&fupz+_5EaQW$`S9nKEVq{tx06Y2lEqnPQ?O2^ zi0xHlY36M%&%DiBGjG#i-ck*_gYk#nFuRaR&l?e2n!rG=q zbfoa^Xhr?0PI-pNGFT5!5G<9#v-vToT{9lyBE727S;c+Z`Wi~csn zGPcALHpKF_!?HF*Ut8f0N5Z{^wHTRx!&$Xl)P(K${> z<&0|SVZ?OxEW1j<@GaQceLmUQeGUXe|D86!&~f)~`*LN^@o8s6<>`|=i%(Eg6_{Kf zW+_1*{40y*(Q1cr*Z>#8B+0Ih3%tMyx97Pk=}RV|BJQKIhxR+>~D3s_lf>Gh}}r*-8gfm@5dL)q5*UGFJ02G+YR z%_1id*ShQh_kZpEe{RJS?ge2NGu=H3pyU3BoxM$a|9@}q*<=3K2YEiD{eSaT%ozpt(0fZhYA%=nQ05 z#H`~2L2*&xNj06~58fNQyU=a`R}pHUeZN3Ofn&5kY^SY3)Elj``+|lQ5Y@a$!NoP> zGQz)##hNdoo{`0BN)c^F1;!Nsl&gIWR}HZ<-_|YW^9jicctJmvtGE)zf2LN$v*c|r zx0>QQz6l71j$1|8w^h!cQp4$(KNd-ji#$&vn4tgt=48df#-Quu@Zi;pAw}XR4SyJl zI>U&*8v3LW8K1VT>m}9^VzKbvUuf-Jq_ev zYGs$jJ(qDhgB)u%gMai-nZW!m#+*Muk`@En{aCFwocq2$24ey?4Z|l#5uRdxhPm~U zw?f{I@Ju%g1k7iDF>~NEymq^HTn&A*(Qzqv;ZMfzU-dL*1Ura`$W>Nceg>0*J*_h% z#ffunoKl0?eKX{&Zen94B%spQPO#swoqy-N)4|HbmVRmjCD@VmMnTcQsIidOk>LLk9W$0h@G z(5=E|C8wmHtVzIxF4xRLnt-}a;T%VLu9OA=XRQSIvXrQBgEJ3NmQ#qof1JoGn#gsu z2L-syY||r4+Gn`v&2p`-VxNoP)3tH`Fe~hw#2s^3+h2G|(7c|%3l(#Irod`m-igT^ z7|pC#Y;s5MmCtUk2)?@Q;ZEB?^jL@Ttemw>lfmk2D(JHNKcpCI zIc--TuVd38U>AxL$X;lJDERnEMY1WE|Ii|NQJ?EtMjorfa&6lm>WEf5FFfWMW3s?= z$1M(JFD_iCjaU_?A+$qo60uWtG^&fJL9^l7NNn6x_^%}*vnuC`7)c7~_ z3ePd|sgC->fBv`^J{%9r^xFij#bN;&rphZU6U#PdHTK0FydNF7#iyPWsE@s){7ecw z(PB8*^uG9S30+vbjlK^3{Y@{3ltG5 z%DY=6p#8-hm#%DJ%_L!}LmwTOj}FX72j=}cFpaZ5yzkpJ$HGxTm%KwZM6gVgTi8q<(quRj%b%Ln%PcgVQ^5?2FSDwM zP#G5J*NO=gDR^t^M8BWmlQAawC}uebbT3L=^cvmMsqy@hlkDcfBGn8ozD&5({0A zg9GkCe4G`;49mKMhrm0QdDl>uRt0k34J_^jmJRn@FsyFIXC1kU6G{eY@)9I_aI*ou z;UGhP^G+=bwP%9y%m0mASw#|I;3`O8p`wxf!(WnJjQ@Q6e5_C0UM=SUd~FwBo2{=) z^$;&w>xrtje+yz;y6O4YxN{iJ_0OIYVLgas%UwU2?1CnnN)Lsf`QcAZPMNd0k4u}$ zPgE4m#Xx~bRiqvZAAEMw`c|GLudLQ6p<_UL4y^L}GK-DEC45Jo8R`6sV!IZ z_XS@MYafz&3N3T?&9B0ai;QGZmfTT`c@>z1-#4wETh~Y^6A+vp9$PVwd4eNM=zGtR zQJ*-<1=M{Ga~W*kot_>qDf|>RR(E-HC(9`W1Kr7z_}(4eo|&|+8yo-f`AX_Xak*-7 zDLdaM&E%lDyDU3M(~PiNBvxRMd!?C%#R7VJ*`~p4ghkwgaO;C^mC~&*zLkkL17V|+ zZURz3G{u*pxS%||tjq2FTXcxT=8i<}@E_5u_v~F-Q=nOj1$@2uB*hDPNClM%9zjSYY zboS+e)}ra0geQ4{Q!-r(G}^u>L7EXT&8jpGHZ&%9c3fI@-GV2tXrNc;+zl#TrVE(h oSTNh{0`NuIMa@e0a~_|^=ka-b`ab_(00030|FX^SE&y@@000UWfB*mh literal 0 HcmV?d00001 diff --git a/non-free/resilio-sync/1.1.0/ix_values.yaml b/non-free/resilio-sync/1.1.0/ix_values.yaml new file mode 100644 index 00000000000..72df9483018 --- /dev/null +++ b/non-free/resilio-sync/1.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/linuxserver/resilio-sync + pullPolicy: IfNotPresent + tag: version-2.7.2.1375 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/non-free/resilio-sync/1.1.0/questions.yaml b/non-free/resilio-sync/1.1.0/questions.yaml new file mode 100644 index 00000000000..0679e008180 --- /dev/null +++ b/non-free/resilio-sync/1.1.0/questions.yaml @@ -0,0 +1,875 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8888 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8888 + editable: true + 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 + default: 36088 + required: true + - variable: bt-udp + label: "bt-udp Service" + description: "The bt-udp service" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: bt-udp + label: "bt-udp Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 55555 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 55555 + editable: true + 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 + default: 36089 + required: true + - variable: bt-tcp + label: "bt-tcp Service" + description: "The bt-tcp service" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: bt-tcp + label: "bt-tcp Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - 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: port + label: "Container Port" + schema: + type: int + default: 55555 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 55555 + editable: true + 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 + default: 36090 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/non-free/resilio-sync/1.1.0/templates/common.yaml b/non-free/resilio-sync/1.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/non-free/resilio-sync/1.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/non-free/resilio-sync/1.1.0/test_values.yaml b/non-free/resilio-sync/1.1.0/test_values.yaml new file mode 100644 index 00000000000..7e0d5117ab5 --- /dev/null +++ b/non-free/resilio-sync/1.1.0/test_values.yaml @@ -0,0 +1,72 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/linuxserver/resilio-sync + # -- image tag + tag: version-2.7.2.1375 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://docs.linuxserver.io/images/docker-resilio-sync#environment-variables-e) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1001" + # -- Specify the group ID the application will run as + PGID: "1001" + # -- Sets default UMASK + UMASK: # 022 + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8888 + bt-tcp: + enabled: false + type: ClusterIP + ports: + bt-tcp: + enabled: true + port: 55555 + protocol: TCP + targetPort: 55555 + bt-udp: + enabled: false + type: ClusterIP + ports: + bt-udp: + enabled: true + port: 55555 + protocol: UDP + targetPort: 55555 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /config + + media: + enabled: false + mountPath: /media + + downloads: + enabled: false + mountPath: /downloads + + sync: + enabled: false + mountPath: /sync diff --git a/non-free/resilio-sync/1.1.0/values.yaml b/non-free/resilio-sync/1.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/collabora-online/6.3.0/CONFIG.md b/stable/collabora-online/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/collabora-online/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/collabora-online/6.3.0/Chart.lock b/stable/collabora-online/6.3.0/Chart.lock new file mode 100644 index 00000000000..2edd410898b --- /dev/null +++ b/stable/collabora-online/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:04.692679212Z" diff --git a/stable/collabora-online/6.3.0/Chart.yaml b/stable/collabora-online/6.3.0/Chart.yaml new file mode 100644 index 00000000000..66f489fb1d0 --- /dev/null +++ b/stable/collabora-online/6.3.0/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: "Collabora Online Development Edition \u2013 an awesome, Online Office\ + \ suite image suitable for home use." +home: https://github.com/truecharts/apps/tree/master/charts/stable/collabora-online +icon: https://truecharts.org/_static/img/collabora-icon.png +keywords: +- collabora-online +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: stavros-k@users.noreply.github.com + name: stavros-k + url: truecharts.org +name: collabora-online +sources: +- https://hub.docker.com/r/collabora/code +- https://sdk.collaboraonline.com/contents.html +- https://github.com/CollaboraOnline/online/tree/master/kubernetes/helm +type: application +version: 6.3.0 diff --git a/stable/collabora-online/6.3.0/README.md b/stable/collabora-online/6.3.0/README.md new file mode 100644 index 00000000000..6a8df52b9b7 --- /dev/null +++ b/stable/collabora-online/6.3.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Collabora Online Development Edition – an awesome, Online Office suite image suitable for home use. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `collabora-online` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `collabora-online` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/collabora-online/6.3.0/app-readme.md b/stable/collabora-online/6.3.0/app-readme.md new file mode 100644 index 00000000000..f25a2567984 --- /dev/null +++ b/stable/collabora-online/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Collabora Online Development Edition – an awesome, Online Office suite image suitable for home use. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +"Collabora Online Development Edition \u2013 an awesome, Online Office\ diff --git a/stable/collabora-online/6.3.0/charts/common-6.5.0.tgz b/stable/collabora-online/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/collabora-online/6.3.0/ix_values.yaml b/stable/collabora-online/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..1dfa44fe108 --- /dev/null +++ b/stable/collabora-online/6.3.0/ix_values.yaml @@ -0,0 +1,14 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: collabora/code + tag: 6.4.9.3 + pullPolicy: IfNotPresent +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/collabora-online/6.3.0/questions.yaml b/stable/collabora-online/6.3.0/questions.yaml new file mode 100644 index 00000000000..1af9bfe3414 --- /dev/null +++ b/stable/collabora-online/6.3.0/questions.yaml @@ -0,0 +1,531 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" + path: "/loleaflet/dist/admin/admin.html" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: domain + label: "Domain(s) using collabora" + description: 'Use backslash "\" before dots ".". Use pipe "|" to separate multiple domains' + schema: + type: string + default: 'nextcloud\.domain\.tld|othernextcloud\.domain\.tld' + required: true + - variable: username + label: "Username for WebUI" + schema: + type: string + default: "admin" + required: true + - variable: password + label: "Password for WebUI" + schema: + type: string + private: true + default: "" + required: true + - variable: dictionaries + label: "Dictionaries to use, leave empty to use all" + schema: + type: string + default: "de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru" + - variable: extra_params + label: "Extra Parameters to add" + description: 'e.g. "–o:welcome.enable=false", See more on /etc/loolwsd/loowsd.xml. Separate params with space' + schema: + type: string + default: "-o:welcome.enable=false -o:user_interface.mode=notebookbar -o:ssl.termination=true -o:ssl.enable=false" + - variable: server_name + label: "Server Name" + description: "When this environment variable is set (is not “”), then its value will be used as server name in /etc/loolwsd/loolwsd.xml. Without this, CODE is not delivering a correct host for the websocket connection in case of a proxy in front of it." + schema: + type: string + default: 'collabora\.domain\.tld' + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 9980 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9980 + editable: true + 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 + default: 36004 + required: true + # Reverse Proxy + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/collabora-online/6.3.0/templates/common.yaml b/stable/collabora-online/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/collabora-online/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/collabora-online/6.3.0/test_values.yaml b/stable/collabora-online/6.3.0/test_values.yaml new file mode 100644 index 00000000000..30d2dcb0e54 --- /dev/null +++ b/stable/collabora-online/6.3.0/test_values.yaml @@ -0,0 +1,22 @@ +image: + repository: collabora/code + tag: 6.4.9.3 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +service: + main: + type: NodePort + ports: + main: + port: 9980 + +env: + domain: nextcloud\.domain\.tld + dictionaries: de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru + username: admin + password: changeme + extra_params: "-o:welcome.enable=false -o:user_interface.mode=notebookbar -o:ssl.termination=true -o:ssl.enable=false" + server_name: collabora\.domain\.tld diff --git a/stable/collabora-online/6.3.0/values.yaml b/stable/collabora-online/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/deepstack-cpu/4.3.0/CONFIG.md b/stable/deepstack-cpu/4.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/deepstack-cpu/4.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/deepstack-cpu/4.3.0/Chart.lock b/stable/deepstack-cpu/4.3.0/Chart.lock new file mode 100644 index 00000000000..c92d1653e1d --- /dev/null +++ b/stable/deepstack-cpu/4.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:07.114866116Z" diff --git a/stable/deepstack-cpu/4.3.0/Chart.yaml b/stable/deepstack-cpu/4.3.0/Chart.yaml new file mode 100644 index 00000000000..46e8428c2d5 --- /dev/null +++ b/stable/deepstack-cpu/4.3.0/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: DeepStack AI provides AI features including Face Recognition, Object + Detection, Scene Recognition and custom AI Models +home: https://github.com/truecharts/apps/tree/master/charts/stable/deepstack-cpu +icon: https://deepquest.sfo2.digitaloceanspaces.com/deepstackcc/static/img/deepstacklogo.png +keywords: +- AI +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: stavros-k@users.noreply.github.com + name: stavros-k + url: truecharts.org +name: deepstack-cpu +sources: +- https://github.com/johnolafenwa/DeepStack +- https://hub.docker.com/r/deepquestai/deepstack +- https://www.deepstack.cc/ +type: application +version: 4.3.0 diff --git a/stable/deepstack-cpu/4.3.0/README.md b/stable/deepstack-cpu/4.3.0/README.md new file mode 100644 index 00000000000..c3ce6a7052b --- /dev/null +++ b/stable/deepstack-cpu/4.3.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 4.2.9](https://img.shields.io/badge/Version-4.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +DeepStack AI provides AI features including Face Recognition, Object Detection, Scene Recognition and custom AI Models + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `deepstack-cpu` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `deepstack-cpu` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/deepstack-cpu/4.3.0/app-readme.md b/stable/deepstack-cpu/4.3.0/app-readme.md new file mode 100644 index 00000000000..26df7a8b5db --- /dev/null +++ b/stable/deepstack-cpu/4.3.0/app-readme.md @@ -0,0 +1,3 @@ +DeepStack AI provides AI features including Face Recognition, Object Detection, Scene Recognition and custom AI Models +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +DeepStack AI provides AI features including Face Recognition, Object diff --git a/stable/deepstack-cpu/4.3.0/charts/common-6.5.0.tgz b/stable/deepstack-cpu/4.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/deepstack-cpu/4.3.0/ix_values.yaml b/stable/deepstack-cpu/4.3.0/ix_values.yaml new file mode 100644 index 00000000000..4bff0fb6e80 --- /dev/null +++ b/stable/deepstack-cpu/4.3.0/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: deepquestai/deepstack + pullPolicy: IfNotPresent + tag: cpu-2021.02.1 + +envTpl: + # Permissions Settings + USER_ID: "{{ .Values.env.PUID }}" + GROUP_ID: "{{ .Values.env.PGID }}" +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/deepstack-cpu/4.3.0/questions.yaml b/stable/deepstack-cpu/4.3.0/questions.yaml new file mode 100644 index 00000000000..e2820280198 --- /dev/null +++ b/stable/deepstack-cpu/4.3.0/questions.yaml @@ -0,0 +1,681 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + # Portal + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + # Configure Enviroment Variables + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: VISION-FACE + label: "VISION-FACE" + description: "Enables Face Detection" + schema: + type: string + default: "False" + enum: + - value: "False" + description: "False" + - value: "True" + description: "True" + - variable: VISION-DETECTION + label: "VISION-DETECTION" + description: "Enables Object Detection" + schema: + type: string + default: "True" + enum: + - value: "False" + description: "False" + - value: "True" + description: "True" + - variable: VISION-SCENE + label: "VISION-SCENE" + description: "Enables Scene Detection" + schema: + type: string + default: "False" + enum: + - value: "False" + description: "False" + - value: "True" + description: "True" + - variable: MODE + label: "Mode" + description: "Sets the performance mode" + schema: + type: string + default: "Medium" + enum: + - value: "High" + description: "High" + - value: "Medium" + description: "Medium" + - value: "Low" + description: "Low" + - variable: MODELSTORE-DETECTION + label: "Custom Models Path" + description: "Change the path of the custom models (Optional)" + schema: + type: string + default: "/modelstore/detection" + required: true + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 5000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5000 + editable: true + 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 + default: 36005 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/datastore" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/deepstack-cpu/4.3.0/templates/common.yaml b/stable/deepstack-cpu/4.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/deepstack-cpu/4.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/deepstack-cpu/4.3.0/test_values.yaml b/stable/deepstack-cpu/4.3.0/test_values.yaml new file mode 100644 index 00000000000..939cd7e6ce4 --- /dev/null +++ b/stable/deepstack-cpu/4.3.0/test_values.yaml @@ -0,0 +1,39 @@ +# Default values for Jackett. + +image: + repository: deepquestai/deepstack + pullPolicy: IfNotPresent + tag: cpu-2021.02.1 + +strategy: + type: Recreate + +service: + main: + enabled: true + ports: + main: + port: 5000 + +envTpl: + # Permissions Settings + USER_ID: "{{ .Values.env.PUID }}" + GROUP_ID: "{{ .Values.env.PGID }}" + +env: + PUID: "568" + PGID: "568" + # TZ: UTC + VISION-FACE: "True" + VISION-DETECTION: "True" + VISION-SCENE: "True" + # Path to custom models (needs to be on documentation) + MODELSTORE-DETECTION: "/modelstore/detection" + # High|Medium|Low + MODE: "High" + +persistence: + config: + enabled: true + mountPath: "/datastore" + type: emptyDir diff --git a/stable/deepstack-cpu/4.3.0/values.yaml b/stable/deepstack-cpu/4.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/emby/6.3.0/CONFIG.md b/stable/emby/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/emby/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/emby/6.3.0/Chart.lock b/stable/emby/6.3.0/Chart.lock new file mode 100644 index 00000000000..60f4823250a --- /dev/null +++ b/stable/emby/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:08.880091623Z" diff --git a/stable/emby/6.3.0/Chart.yaml b/stable/emby/6.3.0/Chart.yaml new file mode 100644 index 00000000000..8703b73d242 --- /dev/null +++ b/stable/emby/6.3.0/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Emby Server is a home media server +home: https://github.com/truecharts/apps/master/stable/emby +icon: https://truecharts.org/_static/img/emby-icon.png +keywords: +- jellyfin +- plex +- emby +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: dan.sheridan@postman.org.uk + name: djs52 + url: truecharts.org +name: emby +sources: +- https://hub.docker.com/r/linuxserver/emby +- https://github.com/linuxserver/docker-emby.git +type: application +version: 6.3.0 diff --git a/stable/emby/6.3.0/README.md b/stable/emby/6.3.0/README.md new file mode 100644 index 00000000000..b5041e8fa99 --- /dev/null +++ b/stable/emby/6.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Emby Server is a home media server + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `emby` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `emby` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/emby/6.3.0/app-readme.md b/stable/emby/6.3.0/app-readme.md new file mode 100644 index 00000000000..14cf8a3a658 --- /dev/null +++ b/stable/emby/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Emby Server is a home media server +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Emby Server is a home media server diff --git a/stable/emby/6.3.0/charts/common-6.5.0.tgz b/stable/emby/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 zcmV)mK%T!JiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJciXnII12B7fBF>IOnPefXHl}_msHR3evY@DwmCaVy<(@m z=X7_)FbP?xDUu~YIj)=g+3&(D0T3W5TXxdcTwSR}0yBdFFf$ko22nPjXX)s01`85i z!+G+z)j#9$c)Yv4&Hg_gkL~}D_nvM2ZF76PHy&^8Y;W)WZM?a)y}R=_Fun&`8c$Uc zSp02#XIysU{vZ#`@eimdah6WNVru~NT>VV56b)ijMg`6Zd-F||M)WU`;PV0&*I=3z z;Iya^8$RV=md()w%m~TL$!K(e$*ejLqijARMTH_(W(4!R9FYQ{(Hxcp6(jMU55xhE zC?W|0E+BzL8FElniHayo2}%irT8;L0x5wkXot?oYy1vSaxSR}zphh+rN=k?9#b5{o zn#<}OsfK>}kNwSXb2l6h$6pTS5T^v<6cr2@nnRpS08Xdbf7O7)thg8ekV4vCjR62u zMKS?aK?UXV7nH>RRYtR{A}Adu==>a~7h#$xSl<^ZhUMnhUqAD};>AQO$aRh;vWbI* zY|n1E6OIS{`d`fd1xzYb-je`mpa0wAotw+T<&PX8`0KL`(+^BBtB`3&u?@GZ-`9qNqTSAg~srDXbE*4qzICw^@?l^x|C}Ln1nY!a5PHIYCZf z-={|?K?F5H)ZjU=BgP5}2H=Y{E9h9kCH*Gpr(>zmLC_ak^J^YknC9>Us8YCqIH6;W z)zW@11E#Es3l4z&WmVO>)~cJsg2)L2>R)PlyyZPgffQ(gsq6H!g`&5 z_>RASMPELc*NdY@NG0`e@u5v@*t9kU;k z!GM*Lb6pI%`5dP4TDh)7jObc68kznbh(Z(a)6WhNu(&8&D$~!b=Ado9=2<+*v-rT8 zlLOC`6vbcF(~g%sh+_c3cUggdqXZ=2IE%qSMY1x22`UCpz<)^!hePn6F)o<^`^Nx^ zGB{=IRDx{^lM*pD7Z-?3D5L8!CPeQXr*GAy22a?$p2H93yYW~-IXr&%j^G6U#u|Ez ziU_5IjsjZnd0p-`nrFpzYtcc8iUp3)K@??GN@~HMqXhf3zPgm=38bVVur{{t>FnriNsoDurx%IR$A( zK*@$mEQkWQWNKyuKn@6(-~y$H%9j{aB~C94od^h;=LsZ8*>pi5M#;O93n+>-&+>|v zVhoB3M8Fj$GX_bB!t1O8CFAFHICuj7i2%HUOvFJZwo9Z7O-eXQqvATJWSw8j8L`2e z!dOl_1Wl=!q(Xs8wI__P>GgRQUvmOr6rr+|eAdiDFvST92b@@?agGm8PJaCU?a>6x zuZKA-OKOFS=DvnF1t?wMB1@TQT)+a;@m+@CR4_@7c-q2~>y*F`Qb|t+Pr$)CIQ`!V zcz1e88L-Z=9ZkTOH#Z=BixLD&6uzNM|M>CC!4q((iVU6r_Mmj}O_9yjZvetD9H4Z; zTJVG#27)Hue8EvV1g1qcSDjgI0Q3RQbIP+P;77(OP;d(5_@ZXQJlo)w4=+sdbC}=? zCkZ%5ywDKFbDUB-PV+=D^Yq2*<5vf#FW&!f@ao-*2?!j`s!i~u^~9D zN|Mb%Uf`_2FS8Y6qnySNc?doE;_= zUEzO&i;~bO^Bu2yHqd}5na>a%aiPWJPoP&10G=ASamgz(@fLV6xoS~a9u5?tjC*=@ zX{|6R1QT%d=0x(P+z{ibDx}m;Y<9TqXgai$MAe#Rz4{lq6%*eFB0_sa{?%Q92UF1tU)=DoR{7b<1Kl zpoLZ}sTlt0rvgoX{&}rMI7C?*p`4T>S#Owf2IKUCeoU#*(Bwrq6a`05xPHOu#gNR9 ze7!#4YT$(be1+4?QY`MoR1|FItvW$b#b)GTmJ;-VC@b)on`iR7_^jD!J>kr$=BiD} zvM0O*Pf>IoCCCRz70``LJ|U?V26TaZC`*@ss_PK^4^_TGdjP6pQ4DY@H8eFeVL7C$ z9<#P?`)Vj)9Ah!Eqg!LDfjIFU7uh*dQ-zHH{-MXv;(ABc<=R9Ms=ZI}0;Q-dhXsN$ zW`C6g7Np9DIYnQN)-9`>D!g-)WLE=TKpCyC1SpU@=%!`dPymoLXe+uGwaX$gzz(=I zV)`wNbvU;R&*-N!Dz~Uiy~5>;z7l`7!J3O3gi^~yoOF6rW!dvIvu$aRjW zZJsiNk&AStWokmrHV3DN#{qlKy&?-x05PoFf`Zs8C79t8~pz#^pDfS<1^-1I(v6?e5P0D+Kzq_dM}4pDS%XY z)>{i{3@#9TroE=x9uJavOiE@kI#y#qskK)bjQK47cV5>@Z2n*|u3)RI{4T{kP{wkhXVxFpmNoZ~o7&=o9DDQ6xjAe!P!{mbR^ zl0hnSNXIYVLxmN|sLG3Al3WYOhitF21TfV!a=j&~!=zIK<~gF)CxuUc3)D3(wS!pK z$+}`Lut$^0@&`8aLdmnc9h1$ zsua3nia((EbzN1e)*+oYI31qD5=R=VwfXa>;JOBmJ8SR3e3O#Vl!S6*vmLYvNH1{u z!BdnZli5Vk zg?UXB1yI{4^iyq>)|4GXG7CXJl7L$LkBoQR_rOBAVrtV+wXcQhf`9CT&2V#jIBq~X zWowgT7N%%?)E0{kOj5uai$pG|3&eJKBUBFsipGM%H%WU#W@b}A$eK}Wss7VfC-!g& z!9O!H6Fb-}P=JaDKC);Jqk5a0o=eAuaSHP7)@TnN5>ktH|&|7`NQiqHx}*=r;xbM`nMMj87!))XkD= zj-)kZZkS80tA~Z0jsBC8^FEutCo}Y(SO3S^hA1jRHE78%hhK{6UFw+5D`IvBfB%|N z#1S&$c;FFu0>q}X)*)goiKjZ)I;@dZM={$X8PY`rhf05bpC;E0Xa17Q1dgwLm2g6` z0$w0+s6v*+(tL_93;=9ZR3a7!c{V)T0P%GS=QyG&gGUZiX5vzEEOu05;&J%D-<+In z7=C#L0u>GeU$m?%`4TDHh&4Q4 z*K6`j*cD7!^DxzU79%xHYX8u=*isW+#QQEr#oqAyQF5;h zR85$d6t5+8MOebly)CXk~0qK66flb9ff_UEF`H?_2dpoq;KWgie+V5xFiHvcY6g1XHOcYhN<{jnBe40|!KFL?6^6O`IG7PvnT> z7LEvW&ZYp?cE()9GQs@q++KEhoyiJLpz9=eZ8$zi0ytm!b;tpQu+rT4!A0 zZf}jXPdsLNem#`Y+x00Nk5Qx@GUek#JDYc=ISX(a;{}c@n9!cObwFcErtZLXl`8}sh7GX5g4XKz`ob&zlKPKca=9_YOj@bMrP=Q|GfmZ zEr!iDeWMwI`B1zYG9RyC^&4uQaifiLIm*(K6cDFm*)Vf{mI0?1L$u&-fDtT9e37#F zV5&PuPw2lKS5~YK=&uv;ON+MV!?*-+%JwF&HJU(CCAWxx??alzHiT(Bgek#8`DT3} z|8j(c6Gj%v60uKQu7EZMlhIMb9jy;EB$^}VUCFiLL4sk4)FC_}08mN_%-@a>iALPt zI0SQ;=TyeMJeH1XUPzuQS;;8_7{^0Fz>s8&*N8+zM#GR!XZGh1a>_^R1Faou9^!lg zg3YhD!p+_1;byow9`n(zDCH+Gh9HnG$0(Zz^4-Me?*kgg_*+MFmKHn_I{e zu(|d8HD>Q*&-SbFsZ%{TACdnXPC*&9fovpsBAxM`iI~p;fI6@l*XuFi~frKmGBjY97*6DQcFvooaZhW zndl)Ld^P&`ad2}pHalc0nh!wWzNKC&%hf%Kmh<|n4L2DL)V7m*1BPeJ&DM4_LS4}}@Y zVY#81H3VQ@lq!Is6OCrSiX{)wQA`2))m4^7j|X*nfk4)BlcpC8!S5i&X-tLmxJJf2 zx19)O9+NJ7b-BBs(`@+wv|}`iw&FCvOd(FdT3+CkOhND_BLIrzCN?o^UzF>CkJNR& z(`08id%i(6GrUn5&T{CW+FeHsv)<*!elsoatYD3Lwl7={a|e1_!UfH0y|=w#o)rWp zUV=Qe`05B1b6l3x=Jk=_WitA}Lpook1QkLA$W(9QV|E=Az zrT=%H?LB+c{}1sn{m*QE6|+Ny0%9u$s{YQC3Ne|ctOAvF31sKLpooajDOl7QUFd2+ z#RKa$gkSHQ>R>n=4)oN7ENkFmb8v~%cv4d^m?HvXNZ>?eTX9TUzUY(*T9h&spniNsFYwo^@uu;si74K>3TTHVC*EbjYvJfPou+6 zr$(hb=;Y2Wb#vpw=PJtqOQ#L*i8&fPB(aOrkSb>diibvQzHZbbL`%MMbB+AY>Ho5L%9#J4RZB!aV|o&QIcn| zqZ2iFpITo2*&c`fSN8p?41f;(|7?42$JYP5}eRHFc)nhmsDNrrvhu{JFwXLOVSphpV(D4KU z$FL!xjYb*ZK=3{5Uk)z-YcY-p2vql(_|`4hKCgIP9hjI!cTzF>VFNrRiPi-+3rSPN z<0%N$IWhgCXqV0n3UUodL+p#i@QXzN0+R4X#pnYt`P>*gj-GT>FmX0eGOTS7J1Mg4 zo<P1o3L{N zaPie8r|Rifi=L-KcDz(limosyV{RdyhReyPx@#Il@HrkD5cU1B#>Vi|0+n=8G}#A1 z(1-RWPK$ab^k%U97rL%129kyAb?anjSgjKT?OXDyvnApnu&l4wt6^TE>(bGL-@z0Y zC2;^Z0SvXV_WADCt^R4+fB7PM;P{_sd-nZ5+gqEPkM`d~Jk0;6+keOPX(JKg&4QTQ z?Log+kA=l((=A8E5tXGlX^knDu8 z#NF#)y+?eQDBLwvyN9jcIyzdNjK}0p8VOUh)soW?Gb1o3p?! zM-SJ)>N*NhD9s+N0ySL_$`7;rn$=y`)rY_H2YZCdhSzaMBUg%MTYH*8h9stw;U;5RcgZ zW0xTmDx?RHOuL}TuifQR&#_;pw(2vPj9sj>G-g%t=5ArnZf0-WlmiE4iC~k8At3=T~{l7AQ zmS&B~SC&mH2d~G!B0g(&l!W8*|LW;K3>(V2g^n4#Z9ZZHZGRuJY)oGtvDvy#AMx#6 z#Hxc$bbU>>y85!7zk%lYv$J#a!P+$_+q``za!7VL`&!1L?dqT!x=eH!Tv zlx?m)Sx~kW>3G%)&7ir@aK+%5|Mls&6|Dg}=KuDy ztw#LE-p*tE$Adh#i2v2DZ(nHuuyO3NGXhwn;!hX?+y;1s0_ii2;x&R#?-I)UeR_lv zbdRCD`dsJ{%UdyYCrd>1_6yJL3i%ClSP*^{M_a(ID&_6LcAz&87)dL%^qVE8dwT$G zW7_%RWF3*ZkD;@jp|di#mz5SvjU8(PZo&77WiwoLC27M(S8AGo0`oEdt=(g^_F8@FMX6pa(-uTh~{~*s& z`u~L(5i_Hqg21BhtD_*Q-uZZGWhyiQ?T{jL+ zJjLY+VHrCdb1#B9JjV$pxE|=CtYBuseQMvlE8>*oShqC0Rho6U7>f-+cFbL^YUOJO zcJs9E24J1|U#uS+WrODZzRhAFsMFU+MI6*;ZA2eixnetMlJu+wd%X-&0d=Bd=6(BQ z?(B~Fl07l+*9r4Z{?G5gdOs2ETwemGm*G-KIR?NweLFW^C@Iv%IoH5-!BPyN{nIv= zS`a!0pax&H*S51=xpZ9;q^=`m2)D(B)!}iK>1yk)oBEBNJvkZ_iRM)mMOG1(a9d_i zF9WgZ#OH{XR=xH&1y|_2L{U{BmHfIN8huDk8XaY9<|vy)QnHG4U)mt9wSz=p-+s-Z zH1EXLxZ|$UaNe-(C@Vb#N&Gv9R)Pt;DgZD@P`N$ByeML$wZb@qrNcOM+|GMR!%kBx2Nq3 z=LYZCHPOl8X$*b?lPo?A|u#5Z6bwk^t8C z`a<@bn_A}a%h>}CoLyAs0NbDp@GA+^*uH1IiwN)4@4Du&j*%FRU^lSaZvjZF`8g_h zb;jOC-KO1PQS_!8e_0Q#PE@W;F@4Xz`u#t4j{Ms@f;#*^J3G6Zw*PngG5+&mo?FC! z+5-dplAYJr*H-C3Tsg@zg^62bncdOh0dic+;N1V!PvRR(^R5PBl;60e+I7O3Z z;WOogZJ+^P-wYVzRxp3{xs#~+^h9BoXNUq>@NvHP| z6~@i*Db)h(&S7yUKO*|cXbIz~sxaB-Hw}AoGE$zYvaa=yUC43R){S_dUz6{GX=b!( ze@pQzn69r`VG$_qe>Y#ME7naI@_Tc3aLJ$Cv6jD3?Xg~kW{_Q_T64O<{T(FUp7O6N<>7=362 z5UjB*1@>E!q(FnhyqlAK5Ijw@7`?}NP`6PuZhQNg*6xgCQI@bO?DA~0{IULB`$WYV zeKlh51~*zhTGP!=-?*+1RUY<>!uE^HK|o)h=7}jHMGN=ATJ6oHg`Rr7(yY82hV{)Q z{RtYdp0CFSO3Rqh6Rj+;0P8GtinnVyv*Cy$;quibRXF_GlY= z(gWNAMIxuH68EGwAnJpFezztQzeM#-7BiP*ptn^LpwG!L6(y}jZdQOb9XxlO%P|{# zcY1mputv9+Ice;$!PS&V)Dg;Z3rq7I8qM&sbH=K$~_=HW4rY6 zd6=ig{$E)h@DBU`+18ew|9fY5`!WCbgFH*e|JM1zf2hx6-%B*GN*#XV4%M}H2X6Yr z>fX2`b-i0kjaXfCU2iP$pXQ5bx&5b`m4x=*)QQtro(NaTU>K~MEtAAHgIVR5R+Kgq z>ei@W&8#p2DJ-n+Vl_0X=DAvT4msNba7TtobUL51Lg6kiabBfji^3l$}dX*NRkv!UC_35FMcd__fNqc)+dz`q^JeBm&CZB=7X~pSZy^w4R zwp>IkGE+O`!90Ij=(^TBE+_n=_TSvy`Og1XUk5!Bih3+Soeg&lc(K%N4#BtP-;>Zf6gScPtGP#V|N3WLlb?NtWj zf5HT&5h?;B<;39;w7jIzO4GQv8+MaOyOk zFvI*UOfTfwA>Y@DZ+`fod56-_?5eKL@HL}EEHLX}%FgqPc3UqEb~!7w1LeMGCusi3 z#}zl6J}mLhT$NVgxHJdI%j0D;hBlg=SLX>XXKym{7Qy)XAdbb&i`=>G`D$>t9fX0L z>5GXoyS+M^VQ3(OWcte7+Zi+nyWFkYL*02_R1yczk@Hze+PdL)G7?PxT(?ba7o zL%;GxsEAK|-wP-F@v@f{Jq`Jv;PX+03Nm_6|2)tMP2)wtmOT~v8t~ZL{yDW)OVQyebKc26!b)%UfEHvsGNj-+OOH38=A+dH% z<*|Bias80JYjxU>Jd?KDVKw}e3ja;7OWkVF>biw>)6=*dcLPQsZ$#Z1M_vM#Usbrj z8m>b+Ea3v;gl8Cf3f4hDib{+GURP4~@AQlE-)R7X;c&>DHcMYk`qWO2aGSU>?wc@u za3m>JJQ+#KFcRw*cZ1p5IQkd5<_*>kDgF-5ceha*nR{v!;w8FngIM4NB&aXQn?J@m zhR5f2Plx_rMf%6i_^-_!`~K(Mt;hV25A(?NUxCpAu_JLKejX1`0UZE%iX%u^7)2zK zsiN4w;Im}3w&B%7mpOL*)~HCGS0y&F_qp z9>PwFYGi72RB!3~yg(&NiGo-QNqM4?um1F3E?HV%aLT)Z3w^rop-XYC8`>GK>59*e zl_1clqr*(;ewUJ}Ioic3uFRHam8JwgJ6_$AHA_roHAMkV0se4Ue=S@2R*!hs4!wG5 z?rYZxnsq#2O>N29>T}RwPhVGdMZd_gX8vu*NdEX z-Y9eietVC-XI*`Zv_Y|&m2%9n>Y>ibrc4us#3Z6~uSK{$8jYXxpK+-OpF+zhpQC!3GF! z0oxOz+Ls4QHvbcd$+r1#Bxt>Z0O;KRYux|4x3@Wdoc|B;u=#(GB-s`CS9Okrk4)VA zopC>CjMC6M^_^LKFKbZxmXr*a2oLp28s1RimorrZWW_C7hA+_eFkzk-SzcgjywrX_ zw#8=OUa(ZF^xVXCqj-31AVdyMFG4Di_)Q|Ff4fBU1u71+dCrnZ|L117`E}s%(sgn) zG>`HK3fNU+K}Y%#&aA^3iY^s1O2YA7FUO8L+56BsJl?NKMyluab`FXNr8;BJqlLMe zr%nEgn3p?y0K4S>xat4f*?Nrse~?GF|3tj+ zVy$#B6CP3^;X$5D`ObEEax3C_p(UViR`DH2YQmYr6kecsc+R(0)CsGTI)QIf%$|rA z+=a6ZHVmEgbzFO|-B;PH%MLE45i(mQcfKB_>!0~)lmC3^-23^j?d`3`{a?@ab{^&b zLp)4Qz4(yBG;YNI@dVC3@uUkDEmYtl$<86WoJkq%c4V3s>LG4v2zV_kro#bhAFQdE zYsY7~Y~Y`aSdMjXtXRD&Vd{a&J%vR=G{Qn0sM$VxQKb>sea8O8^OI^i#UI!?V5b#6 zIAka008|uAt0cJwzg958Q%n^_p0f@K2R|YXos}mP2ko2^oTCU7nL0>F8#ZZcT#@5?H{J!`h>O5hG}ap6n&Yie#2Rz5b=~8R z9|Mrp?Rs8(2H93B>stad-1}NQsOozW7;BgYRs^V^#9gL=z^tUDtNx;Ke7$c(sahiP zImoN^n~6ZoL~V#uc_?g0I=tC17juS}V%AxQa1?f~p>K;Jmn;#t?Ot>Y1DaR&0fuIYZeUop7bBT&o}1rMn7PP=2==I4_x;31T77=B#@wKl`z0A$S0zJ3-+)jl%4(U9zQ^m%GE<*TS;xv9)QiG_#>4j>i$fg$hj#_u5+Gso5+@KK_7c#G1aZ#>< zy4BHES{F)*)7i$$TV*UTuq1ejqU%WB8K{0P33&hjN*AosO?}|<5?ybIfIB^J5lRHt$CPEot5{BcT2+SyMCSxr-`|D3mT< z;gVPcu~*IGr?NC(nyFtLxr210xPyxp1nWY}=0FxJjNq8Nz{(s&czVqcjyQ;ER?u$8 zMV8V9mWnYA+J?J(9HMlgSCXAbyO4*UI=m&5eem?s`k*@e>B9V?O=-;H)a@&MbT3SO zFN&*qA|Y5pyDgi7Im}gJMF2H_ql{0sdc+*EdKdBzdD<+l5kH5ygsZubY!9C(z|%(s zdNVCf$s{468=_p$y1>$jVS(1|ciH4Q3y zt22iKtVT@7Isg3@O>1$wtP#}72|L=RHo{n<0e&!%6nL&RXUo!!&6u4UihfaB4NQ!k z<}GeFHyYEzTM%7j=ct3~(N_b&*RA}T($k_sZw^iXOQQ-dP>KpjPz=63eg|+m&3Gee zN!d{|FolS$tOyP{;c3*|SYM|L5N3WBkvmE;W%&7>u?pUc6J2A=%8wYH{E zP@*7-~=GCI?T2&X&h%S!V)NKb9OVJoSy( zw|j+Caj>DbVC>HxV(8RXE*U=Oj5kY?WnP5aq0}vRkO#8qsEA`GieO?At%%GMuqG*8 zXRG91Gp^gzv8^2A)>R6p#?yQJA0!xxq=wqhyUUF0$rfISWKr{P*5=Bmdvd)?@tNgFI{{#dE4DgHOh}7zSSt zbB`@GwGgdbX7giCqoL&&bR~4x*VFFQeV$B!W(q*i%=5>y+3{udQ}?z090uP3Jjin@ zR>V7Ad$_Ehf`^Wv5485EKxvE$zR4gBsFBVOjW`&kKHw0^{1o)!d&^`ek zqrs!goaj-#nIcR8mGIS_idW0vD>-DQwY@Pj@cNSPdh_mjQtsNxa7|~Qk!;sNkU4xD z)ij`n=DX{``)>KqoH6%#{`=Xpy@veX-FdwK?Li(c|5+c4EXZ{2pJW#}>L>MuuWon` zcRkxMR^=7n;UyYfN~E^gHEbD@_5JUa*r2kXjl3*2sB%JtZTO#3;6hvjTZABG!8SWN|Md(7+?Oa%u(dp&e-y8 z#hJT;Rv#NZJ8bMs)FiP;z@cL&NZoR*N(Be+PQMQth4ogjp77l*?80KjJbNHAwcbvy zv5jKAY&KrIWm)2AB#$@01Yq4mC%aepTSO*-tJmz((oW!)+R7_x&rvAuwry;t_yEYO zNoo+M{2m$)1TVK)8%UI&WYJ}NE8Hw?w2YY_f-G$q(2>|qo`k?0tS~u33A{c*QI^J~ z!74gcLPsIcPPzn74YsO4r?Uc;vn+|5u;DIN*bxP@Mnhb?GoF| z{ik&1e%Js{F+p?RHNLu`!t%n?!eN>*poT#*r*Dp_Qkm@6%hM5)9}LsF?NC6!f?$@F ztWr>i2?p$%VU9>Y8Q{RQFN#Shok6z^2DWC`;cx}dKN#+f`r`i1W2sLYmW4^`2V4@IUNH4xN@$j8?FwF(ATQ7q6#%Bd zERLuAK3!b0T?-MB)*y4g4Q0of>(N)>don}C6)q9rWU!nEpS+WDX%E&x z`)XCfcIBwSYXDWBTlpeO)%U1s7p%5~Be%AM`-P1WA>-xs!d!iva7VE#`ej{Q3g)@}Q@kN>yX!STc?7#8OGdutD*6!Y8{^tjIo`7RW2rAN& zngM(SfU6lw!Fh#~7^fE?htVaxKxH_10#0YtG~rwRB`9YoNx(&tor5_f(F~^-8=yc5 zBzS?CjMCo2G#)$wDY{^RUUcH3DgJ6(jbqd@;Ki(SPL6a*>W|K<6;Jta32L2`UF) zh2>Q~_$oYymxHfDGN*rM1-=-3_5Ti@fFEFiv#JCyk6x66FfX!SP(%hHju9O3;zjn$ zAY7DD7NgN0K}v}E|Mtbf(d!rCJiZSc?el+gXV>=sZf=bq@Be$4=ZVPcFc|#(Cv`#E zX80@||GYLMBrhkU5uRU!<%}g03vo6&hw%j(iNZrxc8JqyR?H!f*8TsNbq=? za(ICzUwsAsQ{ukBWLBMrQ8piuqCz~dX$14U9FYQ{(Hxcp6(i1}e+&jso`Ba7%TVOO z;CCQy`gk#?w#e_`U6Fv_2fu^ia5x0~fASCZzQzK62kbuv^es2y<|w7a)@j@(;Orm! zo8jheI3AAASW#}mP}KiI*Wh;`c14fGnwS1nMg?ZKdr*{&0{*Z3pYa#_HTWGIfBW(X z{0?wRVVv#kK0o8+{SJ=b`M$h+eQ@$G@H;5w?Qv(pc)S&;@6Pz`-+B1k@8ImGpB*KC z&^8hJmGu{6H?m|gDp9dO1v~ft)A(nT;NcKfWEON)+q9~sS&G^!Nr%Pn;5^Id$T(wH z@wC=hfZs(HITkndbVAW`Cm2v@!GcZ=`p1x0>4rw&g$d?a zxEF4>)|2VLwc989GeT5ep5L-2UGdOi!TxA+fah=%$({2Q6wW?n#U=eBaw5i!KNO=LqH)(?+I%iu?mYSJt*ImsHnx!xV1VD zz`E7Il9ihSi^}jG6_@3*9%>ef+=WXs*#MIBz*xbl&8=r!o4u>bpeBQc)5GK5$c@<}HD1L(zvr#EdT%~);G+wkz zdC*b`UZ50}B@5u|QC?igz*S6$_+=422)F9>Z$_4*l(Dz6M5PCjUY;KsU8dF@lxP!- zPm9JmD#|P!iPFO;!TkU>6e-)DbJye+Um3>PRoaIGvV4{IDs72j<1!Bz#|@k6&5P6b z2S=}8zHt-V1rw&i{B2#>aR}ColB5@v{IZr%+skuKR9BTHcp<9zc)>qwEz9B_0@;zV!dH@? z?vj?FJi_6n+$!F&IKzB!Na9C4mL0@}6vzrTZ~amhNC-lM6=0Rt`4UZ&dBgKBHC- z<`pPUa0K;_+Bcav$|D8rtef6q!l9zf1b%SbsjZrYg>BYVzFWNY^v(41#I*Ze^d*tY zxzeX(w=boS=fnlSmwUvz@}NI|tveii6VY|0g2y^3NdXDExONc!HcJwmUcAd=NHj}B zPZZ)DHqKaWN6Eo(sb_Fdk*v-l$1aoSna}5lz!(w;s*=+F(+nl^VVp%JSZszn`nH+2 zyOd_dRhGrSj8y57xMZgs@oMXzXtP+w|CXd2sWbNP>F@9&TMdr({oiL>&&Kxt@6OiF zWB%_4c|>rB+6BgQCfU|llvO~70ZuQ1!QlS{ZJVWR^w6GTUJU()o6@cf+Arb8e9*NKUrRJPAuh>}NHE5Ts zu2h{-u;5*Nq`zeuZPpl%<(tNr(V`pE)YQ}GSN$(!tI4HZTBqA0Rr zZQTT8oyx8qhOc3Yr-&yQ*Xfh*%kW!7*7Q4(HbBsv#3nfhWr+%Yng5%NyqM?Ydaa4l ztXb#7+W_zRO(b@OkgoC90&dj{dxhKhb>(0^Je=VqE>ODWK_I8ZWM4!2)A(lrUJRyS zePDM4i9&l??YH-f#t6;@n+U6yc$jVz+5#2;Mx=tt5hRdhe{alq`PAhEBW;{M1_3ej z-*13RbX^bp8lZzR6CYR!Dlpoa9<+IqOgiC=G0(9CSmWaY0FOn5BMTC-0! zEPCvTp#EAHQ@*dDJ}55AJ4k7-h^BDwD4!{aTL@=ZT$KA|f=~`{%C|yvvB{y<#qE;I z32BDxhQZj7Fg|voqvEE4@lj0w1;jL)79JT*$5Ok1X0>lEooVd{70ndkpH(i?w%wah zevvM2FO$6@`9-?0fb~HsKG){SwJuUvfFFxc6jxbT%;BJjgk)E6$oW4AK z|KiOLX8&&h>+}0>-hTf&R2QR!?24JUXv+Vfl60Sm= zL2vxad9%%39Dnou(Tn$Q4qm@lNoy3e4oanWG8ss%3`4aSQG%B}`$@b#^&+)65hc8cW zHCWq0zkF?jUJ~F(^JhmVHEF4Pt?@Xz(a{)Vrdi**cxEFo&MLc z)2XfGG1KYjY_-y9-CG;!FVaO%8@;wYU&EXmh?i)sF^ii*{W~o)$Zc zgDV6se#@Ff@*3t2Jff1!zrpMO#8Y+uY#a5?+I0OQ!|#A+-2!;Wz25-YrH-b)bM5E< zAN}NRlxi5i@QgQ$50Ex-AFTJH-`nYZQ1`{rvAlW>^Pfa7{0#OL#ucuiUZjf+6X7aX zP_zf`w*TN?Oo`BP{!sI~vDo4z*bwfs&~h!TIEV>gX8nc(@&p8dZYj|g^RI3@n_oO9 zjfs;Nhi_k;)|L(bS{s-WJt-<5c3sB*#k3>mR!_|+I%PxG5;Y?m9)nDx*iN`;zq z^;9JurPK=RvosbyowY#co~=$zqk*Xu1D4(If4@b?H_Zo%=hpr17S#1v-DotrZlk)_ zl12P9wb06hJBu;9qiFYf$tZAJY}?;?hoz+XQAT$4bgsGmX_ABq2bl9hLr>_Go%mGqC#CG&(XnrbtCKQX_s)cI zAb%+f;xkd1dd-K^m`sGX=u3WeloyV_i6(}h#y@vd^k_UeiZ?(5prFvuakoSw#=jql zoMalJ7RLj>)np%xZ(%rCh>iE2X5QJXps@XI??u8LjEMTkjecTV$qivKO!mQ|lN^Fa<`TSyqx9 zlG!kZ1m3PEWNyS(E>iG~0xEYS7?FAIp$jcmOqPZV?d5 z+T0rHMn+|U7Z>|zY>3HrSyNrNEWM~aV#14^C+c*fm$PcJL`$u???vk`cjB1WI(grT zG0xzbz0paYArgGFv2R|CCS#Vsh!$Ri#;2C{e;Ui#G@l3bC(i7Bj@XxrjY(HidN_}sBIXblZdSexJ?#+@08G3V8 z$d40oBio5DY{4c(zryWyl$a3gEwjd{BtI!?dF-RY44yEE_^kIkH0#csU46X0Yzc>o zqG{|Eh*U-DvEabHEg0v$mWjrxJK0gUTrbYuAqjNQ*wPQD1Qk;lp_`94`Wz90#~7^g zT|K4w!3%47oFIbM7_JTAY}I;W9e1e>I!0vwC=oA1FKy=aaNd7v>*w(??EhI-;NR#{ zK6#&K@q1X2tc>8DmjfO5Ka98bHtqZWcDA=4?f-{(J{SA{J2mucu5`_F^*mGV)MLHfkrs-?J;Tt(2Z7`E2}_Pk82OQy1?BdtXg`dN03xMMf@6(0!N=p z6SuhkWHM88Rozf{TwWd?zk5e;f`4O4B#%)Mp_IT2)JHz|lgK^{`@3VGkX3D%SdF*| zqPz+wV0YX+iK;c~HJWF|^*y(%1fqiP~;Xzg2nbRFK?WBC8X zH5IGP{@dyQ+uPi;^Z#z|J?8&?nCElx|A`A{R_*Vz!Ty!}d!p_A{CN#VHT`!@UON1B zD?XnoaC(m2f0vc*r#E@Tc#jZ(4s+A%0~7SM`n-;C+0*Iula_0XUl`;#py|o#(}xo7 zqM}?oNMjka>?FybXvs|)KM>kc*tpthpWo)hR1Lq%sdshbil+S$pPQ!j(ZM6`&GI zV)6SfT_vy$gX;Q>1|5Vgj^>Y!)|=;jsWH<=D4SI#muwOU$@%1K=h8CG=4S!aj20)E z+fM;}yp!L%F>KtRz3y+f9ZLz9H&op{e${Kx3KVTtt0=g_*?Ov0_Vao)-T@R#!m_#b zY`dR^H9Oo-f@7dg07dhtURS4HZ>u&}sxnujQt|@NVR6kA*koVnininyx|sAGl=G+u z4V$3x97dNYjg1+0Us*0R!Z*O(Na?|!TjT)gritH#Sk2E-anD@hDM403(QVcK>8q3b zN*jsd(^n_*RlEPn8x6KhV#yY3!0W#{eRb06F*+`?1&(i(k^2r>nIuXl(?9kd>$ld5 zrQ+H?|8wZ5?NNe^BjV|^&;!tPTmc{>_owqKF zf5c>Fr=DAS@uB4xeT7Rx)j0G0@^o~)%CoctGS6erI$g^gM-`RnYJao@aV63R-7@%O zi}pukp7&dUvL15=EBsZ~CBJ0nzBS2rS#~MbBmbS9TWgUatVlN0RDbI}FP(79tW7kk z?snS652)Mq*D9TO%DVC(jjf!(tG&fupz+_5EaQW$`S9nKEVq{tx06Y2lEqnPQ?O2^ zi0xHlY36M%&%DiBGjG#i-ck*_gYk#nFuRaR&l?e2n!rG=q zbfoa^Xhr?0PI-pNGFT5!5G<9#v-vToT{9lyBE727S;c+Z`Wi~csn zGPcALHpKF_!?HF*Ut8f0N5Z{^wHTRx!&$Xl)P(K${> z<&0|SVZ?OxEW1j<@GaQceLmUQeGUXe|D86!&~f)~`*LN^@o8s6<>`|=i%(Eg6_{Kf zW+_1*{40y*(Q1cr*Z>#8B+0Ih3%tMyx97Pk=}RV|BJQKIhxR+>~D3s_lf>Gh}}r*-8gfm@5dL)q5*UGFJ02G+YR z%_1id*ShQh_kZpEe{RJS?ge2NGu=H3pyU3BoxM$a|9@}q*<=3K2YEiD{eSaT%ozpt(0fZhYA%=nQ05 z#H`~2L2*&xNj06~58fNQyU=a`R}pHUeZN3Ofn&5kY^SY3)Elj``+|lQ5Y@a$!NoP> zGQz)##hNdoo{`0BN)c^F1;!Nsl&gIWR}HZ<-_|YW^9jicctJmvtGE)zf2LN$v*c|r zx0>QQz6l71j$1|8w^h!cQp4$(KNd-ji#$&vn4tgt=48df#-Quu@Zi;pAw}XR4SyJl zI>U&*8v3LW8K1VT>m}9^VzKbvUuf-Jq_ev zYGs$jJ(qDhgB)u%gMai-nZW!m#+*Muk`@En{aCFwocq2$24ey?4Z|l#5uRdxhPm~U zw?f{I@Ju%g1k7iDF>~NEymq^HTn&A*(Qzqv;ZMfzU-dL*1Ura`$W>Nceg>0*J*_h% z#ffunoKl0?eKX{&Zen94B%spQPO#swoqy-N)4|HbmVRmjCD@VmMnTcQsIidOk>LLk9W$0h@G z(5=E|C8wmHtVzIxF4xRLnt-}a;T%VLu9OA=XRQSIvXrQBgEJ3NmQ#qof1JoGn#gsu z2L-syY||r4+Gn`v&2p`-VxNoP)3tH`Fe~hw#2s^3+h2G|(7c|%3l(#Irod`m-igT^ z7|pC#Y;s5MmCtUk2)?@Q;ZEB?^jL@Ttemw>lfmk2D(JHNKcpCI zIc--TuVd38U>AxL$X;lJDERnEMY1WE|Ii|NQJ?EtMjorfa&6lm>WEf5FFfWMW3s?= z$1M(JFD_iCjaU_?A+$qo60uWtG^&fJL9^l7NNn6x_^%}*vnuC`7)c7~_ z3ePd|sgC->fBv`^J{%9r^xFij#bN;&rphZU6U#PdHTK0FydNF7#iyPWsE@s){7ecw z(PB8*^uG9S30+vbjlK^3{Y@{3ltG5 z%DY=6p#8-hm#%DJ%_L!}LmwTOj}FX72j=}cFpaZ5yzkpJ$HGxTm%KwZM6gVgTi8q<(quRj%b%Ln%PcgVQ^5?2FSDwM zP#G5J*NO=gDR^t^M8BWmlQAawC}uebbT3L=^cvmMsqy@hlkDcfBGn8ozD&5({0A zg9GkCe4G`;49mKMhrm0QdDl>uRt0k34J_^jmJRn@FsyFIXC1kU6G{eY@)9I_aI*ou z;UGhP^G+=bwP%9y%m0mASw#|I;3`O8p`wxf!(WnJjQ@Q6e5_C0UM=SUd~FwBo2{=) z^$;&w>xrtje+yz;y6O4YxN{iJ_0OIYVLgas%UwU2?1CnnN)Lsf`QcAZPMNd0k4u}$ zPgE4m#Xx~bRiqvZAAEMw`c|GLudLQ6p<_UL4y^L}GK-DEC45Jo8R`6sV!IZ z_XS@MYafz&3N3T?&9B0ai;QGZmfTT`c@>z1-#4wETh~Y^6A+vp9$PVwd4eNM=zGtR zQJ*-<1=M{Ga~W*kot_>qDf|>RR(E-HC(9`W1Kr7z_}(4eo|&|+8yo-f`AX_Xak*-7 zDLdaM&E%lDyDU3M(~PiNBvxRMd!?C%#R7VJ*`~p4ghkwgaO;C^mC~&*zLkkL17V|+ zZURz3G{u*pxS%||tjq2FTXcxT=8i<}@E_5u_v~F-Q=nOj1$@2uB*hDPNClM%9zjSYY zboS+e)}ra0geQ4{Q!-r(G}^u>L7EXT&8jpGHZ&%9c3fI@-GV2tXrNc;+zl#TrVE(h oSTNh{0`NuIMa@e0a~_|^=ka-b`ab_(00030|FX^SE&y@@000UWfB*mh literal 0 HcmV?d00001 diff --git a/stable/emby/6.3.0/ix_values.yaml b/stable/emby/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..055f931cb08 --- /dev/null +++ b/stable/emby/6.3.0/ix_values.yaml @@ -0,0 +1,22 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/emby + pullPolicy: IfNotPresent + tag: v4.6.1.0 + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/emby/6.3.0/questions.yaml b/stable/emby/6.3.0/questions.yaml new file mode 100644 index 00000000000..1b0ea528e0d --- /dev/null +++ b/stable/emby/6.3.0/questions.yaml @@ -0,0 +1,676 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8096 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8096 + editable: true + 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 + default: 36006 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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 + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/emby/6.3.0/templates/common.yaml b/stable/emby/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/emby/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/emby/6.3.0/test_values.yaml b/stable/emby/6.3.0/test_values.yaml new file mode 100644 index 00000000000..d8b77253374 --- /dev/null +++ b/stable/emby/6.3.0/test_values.yaml @@ -0,0 +1,29 @@ +# Default values for emby. + +image: + repository: ghcr.io/k8s-at-home/emby + pullPolicy: IfNotPresent + tag: v4.6.1.0 + +strategy: + type: Recreate + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] + +service: + main: + ports: + main: + port: 8096 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/emby/6.3.0/values.yaml b/stable/emby/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/esphome/6.3.0/CONFIG.md b/stable/esphome/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/esphome/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/esphome/6.3.0/Chart.lock b/stable/esphome/6.3.0/Chart.lock new file mode 100644 index 00000000000..7ebb699460f --- /dev/null +++ b/stable/esphome/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:10.627808597Z" diff --git a/stable/esphome/6.3.0/Chart.yaml b/stable/esphome/6.3.0/Chart.yaml new file mode 100644 index 00000000000..b56ec1aa922 --- /dev/null +++ b/stable/esphome/6.3.0/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +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://github.com/truecharts/apps/tree/master/charts/stable/esphome +icon: https://esphome.io/_images/logo.svg +keywords: +- esphome +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: 35702532+tprelog@users.noreply.github.com + name: tprelog + url: truecharts.org +name: esphome +sources: +- https://github.com/esphome/esphome +- https://hub.docker.com/u/esphome +type: application +version: 6.3.0 diff --git a/stable/esphome/6.3.0/README.md b/stable/esphome/6.3.0/README.md new file mode 100644 index 00000000000..83dcd05cf68 --- /dev/null +++ b/stable/esphome/6.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-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 are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `esphome` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `esphome` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/esphome/6.3.0/app-readme.md b/stable/esphome/6.3.0/app-readme.md new file mode 100644 index 00000000000..1854a47b15a --- /dev/null +++ b/stable/esphome/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +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 please visit https://truecharts.org +ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful diff --git a/stable/esphome/6.3.0/charts/common-6.5.0.tgz b/stable/esphome/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/esphome/6.3.0/ix_values.yaml b/stable/esphome/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..3cc119e32b6 --- /dev/null +++ b/stable/esphome/6.3.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: esphome/esphome + pullPolicy: IfNotPresent + tag: 1.19.4 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/esphome/6.3.0/questions.yaml b/stable/esphome/6.3.0/questions.yaml new file mode 100644 index 00000000000..38ad82fa93d --- /dev/null +++ b/stable/esphome/6.3.0/questions.yaml @@ -0,0 +1,771 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 6052 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 6052 + editable: true + 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 + default: 36007 + required: true + # Configure app volumes + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: platformio + label: "Platformio Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/.platformio" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/esphome/6.3.0/templates/common.yaml b/stable/esphome/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/esphome/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/esphome/6.3.0/test_values.yaml b/stable/esphome/6.3.0/test_values.yaml new file mode 100644 index 00000000000..107c8e192e4 --- /dev/null +++ b/stable/esphome/6.3.0/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for esphome. + +image: + repository: esphome/esphome + pullPolicy: IfNotPresent + tag: 1.19.4 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 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" + type: emptyDir diff --git a/stable/esphome/6.3.0/values.yaml b/stable/esphome/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/handbrake/6.3.0/CONFIG.md b/stable/handbrake/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/handbrake/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/handbrake/6.3.0/Chart.lock b/stable/handbrake/6.3.0/Chart.lock new file mode 100644 index 00000000000..771312a919c --- /dev/null +++ b/stable/handbrake/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:12.50192193Z" diff --git a/stable/handbrake/6.3.0/Chart.yaml b/stable/handbrake/6.3.0/Chart.yaml new file mode 100644 index 00000000000..c2c1ad2b891 --- /dev/null +++ b/stable/handbrake/6.3.0/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: HandBrake is a tool for converting video from nearly any format to a + selection of modern, widely supported codecs. +home: https://github.com/truecharts/apps/tree/master/charts/stable/handbrake +icon: https://handbrake.fr/img/logo.png +keywords: +- handbrake +- encode +- media +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: stavros-k@users.noreply.github.com + name: stavros-k + url: truecharts.org +name: handbrake +sources: +- https://github.com/jlesage/docker-handbrake +- https://hub.docker.com/r/jlesage/handbrake/ +- https://handbrake.fr/ +type: application +version: 6.3.0 diff --git a/stable/handbrake/6.3.0/README.md b/stable/handbrake/6.3.0/README.md new file mode 100644 index 00000000000..2ed66e2f47f --- /dev/null +++ b/stable/handbrake/6.3.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +HandBrake is a tool for converting video from nearly any format to a selection of modern, widely supported codecs. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `handbrake` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `handbrake` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/handbrake/6.3.0/app-readme.md b/stable/handbrake/6.3.0/app-readme.md new file mode 100644 index 00000000000..483e45f40d0 --- /dev/null +++ b/stable/handbrake/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +HandBrake is a tool for converting video from nearly any format to a selection of modern, widely supported codecs. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +HandBrake is a tool for converting video from nearly any format to a diff --git a/stable/handbrake/6.3.0/charts/common-6.5.0.tgz b/stable/handbrake/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/handbrake/6.3.0/ix_values.yaml b/stable/handbrake/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..a47a4681e9c --- /dev/null +++ b/stable/handbrake/6.3.0/ix_values.yaml @@ -0,0 +1,20 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: jlesage/handbrake + tag: v1.23.2 + pullPolicy: IfNotPresent + +#All values here are set as the docker defaults. +envTpl: + # Permissions Settings + USER_ID: "{{ .Values.env.PUID }}" + GROUP_ID: "{{ .Values.env.PGID }}" +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/handbrake/6.3.0/questions.yaml b/stable/handbrake/6.3.0/questions.yaml new file mode 100644 index 00000000000..4ba47af86fc --- /dev/null +++ b/stable/handbrake/6.3.0/questions.yaml @@ -0,0 +1,837 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + # Portal + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: gui + label: "GUI Settings" + description: "Always read description before changing a value here. Also refer to README" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: DISPLAY_WIDTH + label: "DISPLAY_WIDTH" + description: "Width (in pixels) of the application's window." + schema: + type: string + default: "1280" + required: true + - variable: DISPLAY_HEIGHT + label: "DISPLAY_HEIGHT" + description: "Height (in pixels) of the application's window." + schema: + type: string + default: "768" + required: true + - variable: SECURE_CONNECTION + label: "SECURE_CONNECTION" + description: "When set to 1, an encrypted connection is used to access the application's GUI (either via a web browser or VNC client). See the Security section for more details." + schema: + type: string + default: "0" + required: true + - variable: VNC_PASSWORD + label: "VNC_PASSWORD" + description: "Password needed to connect to the application's GUI. See the VNC Password section for more details." + schema: + private: true + type: string + default: "" + - variable: autoconv + label: "Automated Conversion Settings" + description: "Always read description before changing a value here. Also refer to README" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: AUTOMATED_CONVERSION_PRESET + label: "AUTOMATED_CONVERSION_PRESET" + description: "HandBrake preset used by the automatic video converter. Identification of a preset must follow the format /" + schema: + type: string + default: "General/Very Fast 1080p30" + required: true + - variable: AUTOMATED_CONVERSION_FORMAT + label: "AUTOMATED_CONVERSION_FORMAT" + description: "Video container format used by the automatic video converter for output files. This is typically the video filename extension." + schema: + type: string + default: "mp4" + required: true + - variable: AUTOMATED_CONVERSION_KEEP_SOURCE + label: "AUTOMATED_CONVERSION_KEEP_SOURCE" + description: "When set to 0, a video that has been successfully converted is removed from the watch folder." + schema: + type: string + default: "1" + required: true + - variable: AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION + label: "AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION" + description: "When set to ignore, a non-video file found in the watch folder is ignored. If set to copy, a non-video file is copied as-is to the output folder." + schema: + type: string + default: "ignore" + required: true + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 5800 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5800 + editable: true + 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 + default: 36002 + required: true + - variable: vnc + label: "VNC Service" + description: "VNC Service" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: vnc + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - 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: port + label: "Container Port" + schema: + type: int + default: 5900 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5900 + editable: true + 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 + default: 36003 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + 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" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/handbrake/6.3.0/templates/common.yaml b/stable/handbrake/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/handbrake/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/handbrake/6.3.0/test_values.yaml b/stable/handbrake/6.3.0/test_values.yaml new file mode 100644 index 00000000000..9443c18f116 --- /dev/null +++ b/stable/handbrake/6.3.0/test_values.yaml @@ -0,0 +1,51 @@ +image: + repository: jlesage/handbrake + tag: v1.23.2 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 5800 + vnc: + enabled: true + type: ClusterIP + ports: + vnc: + enabled: true + port: 5900 + protocol: "TCP" + +# All values here are set as the docker defaults. +envTpl: + # Permissions Settings + USER_ID: "{{ .Values.env.PUID }}" + GROUP_ID: "{{ .Values.env.PGID }}" + +env: + # Permissions Settings + PUID: "568" + PGID: "568" + # General Settings + KEEP_APP_RUNNING: "0" + CLEAN_TMP_DIR: "1" + # GUI Settings + DISPLAY_WIDTH: "1280" + DISPLAY_HEIGHT: "768" + SECURE_CONNECTION: "0" + VNC_PASSWORD: + # Automated Conversion Preset + AUTOMATED_CONVERSION_PRESET: "General/Very Fast 1080p30" + AUTOMATED_CONVERSION_FORMAT: "mp4" + AUTOMATED_CONVERSION_KEEP_SOURCE: "1" + AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION: "ignore" + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/handbrake/6.3.0/values.yaml b/stable/handbrake/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/home-assistant/6.3.0/CONFIG.md b/stable/home-assistant/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/home-assistant/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/home-assistant/6.3.0/Chart.lock b/stable/home-assistant/6.3.0/Chart.lock new file mode 100644 index 00000000000..31dc9f48b4b --- /dev/null +++ b/stable/home-assistant/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:14.280021486Z" diff --git a/stable/home-assistant/6.3.0/Chart.yaml b/stable/home-assistant/6.3.0/Chart.yaml new file mode 100644 index 00000000000..ec4190d8e9a --- /dev/null +++ b/stable/home-assistant/6.3.0/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: home-assistant App for TrueNAS SCALE +home: https://github.com/truecharts/apps/tree/master/charts/stable/home-assistant +icon: https://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/Home_Assistant_Logo.svg/519px-Home_Assistant_Logo.svg.png +keywords: +- home-assistant +- hass +- homeassistant +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: 35702532+tprelog@users.noreply.github.com + name: tprelog + url: truecharts.org +name: home-assistant +sources: +- https://github.com/home-assistant/home-assistant +- https://github.com/cdr/code-server +type: application +version: 6.3.0 diff --git a/stable/home-assistant/6.3.0/README.md b/stable/home-assistant/6.3.0/README.md new file mode 100644 index 00000000000..a53c99cc9bd --- /dev/null +++ b/stable/home-assistant/6.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +home-assistant App for TrueNAS SCALE + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `home-assistant` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `home-assistant` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/home-assistant/6.3.0/app-readme.md b/stable/home-assistant/6.3.0/app-readme.md new file mode 100644 index 00000000000..822d932e2e4 --- /dev/null +++ b/stable/home-assistant/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +home-assistant App for TrueNAS SCALE +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +home-assistant App for TrueNAS SCALE diff --git a/stable/home-assistant/6.3.0/charts/common-6.5.0.tgz b/stable/home-assistant/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/home-assistant/6.3.0/ix_values.yaml b/stable/home-assistant/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..963ea5c4458 --- /dev/null +++ b/stable/home-assistant/6.3.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: homeassistant/home-assistant + pullPolicy: IfNotPresent + tag: 2021.6.6 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/home-assistant/6.3.0/questions.yaml b/stable/home-assistant/6.3.0/questions.yaml new file mode 100644 index 00000000000..2d80029e161 --- /dev/null +++ b/stable/home-assistant/6.3.0/questions.yaml @@ -0,0 +1,683 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: git + group: "Container Configuration" + label: "Home-Assistant Git Settings" + schema: + type: dict + attrs: + - variable: deployKey + label: "Git deploy key" + schema: + type: string + default: "" + - variable: deployKeyBase64 + label: "Git KeyBase64 deploy key" + schema: + type: string + default: "" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8123 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8123 + editable: true + 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 + default: 36008 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + 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" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/home-assistant/6.3.0/templates/common.yaml b/stable/home-assistant/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/home-assistant/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/home-assistant/6.3.0/templates/secret.yaml b/stable/home-assistant/6.3.0/templates/secret.yaml new file mode 100644 index 00000000000..19f769cf59b --- /dev/null +++ b/stable/home-assistant/6.3.0/templates/secret.yaml @@ -0,0 +1,15 @@ +{{- if or .Values.git.deployKey .Values.git.deployKeyBase64 }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ template "common.names.fullname" . }}-deploykey + labels: + {{- include "common.labels" . | nindent 4 }} +type: Opaque +data: + {{- if .Values.git.deployKey }} + id_rsa: {{ .Values.git.deployKey | b64enc | quote }} + {{- else }} + id_rsa: {{ .Values.git.deployKeyBase64 | quote }} + {{- end }} +{{- end }} diff --git a/stable/home-assistant/6.3.0/test_values.yaml b/stable/home-assistant/6.3.0/test_values.yaml new file mode 100644 index 00000000000..5aaa9a6d3a5 --- /dev/null +++ b/stable/home-assistant/6.3.0/test_values.yaml @@ -0,0 +1,83 @@ +# Default values for Home Assistant + +image: + repository: homeassistant/home-assistant + pullPolicy: IfNotPresent + tag: 2021.6.6 + +strategy: + type: Recreate + +env: {} + # TZ: + +service: + main: + ports: + main: + port: 8123 + +# # Enable devices to be discoverable +# hostNetwork: true + +# # When hostNetwork is true set dnsPolicy to ClusterFirstWithHostNet +# dnsPolicy: ClusterFirstWithHostNet + +# # Enable passing thru a USB device to Home Assistant +# securityContext: +# privileged: true + +# Allow access a Git repository by passing in a private SSH key +git: + # Raw SSH private key + deployKey: "" + # Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence. + deployKeyBase64: "" + +# Enable a prometheus-operator servicemonitor +prometheus: + serviceMonitor: + enabled: false + # interval: 1m + # additionalLabels: {} + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir + + +# # Path to your Z-Wave / Zigbee device in the container +# additionalVolumeMounts: +# - name: zwave-usb +# mountPath: /dev/serial/by-id/usb-0658_0200-if00 + +# # Path to your Z-Wave / Zigbee device on the host +# additionalVolumes: +# - name: zwave-usb +# hostPath: +# path: /dev/serial/by-id/usb-0658_0200-if00 + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: false + postgresqlUsername: home-assistant + postgresqlPassword: home-assistant-pass + postgresqlDatabase: home-assistant + persistence: + enabled: false + # storageClass: "" + +# Enable influxdb +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/influxdb +influxdb: + enabled: false + architecture: standalone + database: home_assistant + authEnabled: false + persistence: + enabled: false + # storageClass: "" + # size: 8Gi diff --git a/stable/home-assistant/6.3.0/values.yaml b/stable/home-assistant/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/jackett/6.3.0/CONFIG.md b/stable/jackett/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/jackett/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/jackett/6.3.0/Chart.lock b/stable/jackett/6.3.0/Chart.lock new file mode 100644 index 00000000000..3448e496035 --- /dev/null +++ b/stable/jackett/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:16.061950157Z" diff --git a/stable/jackett/6.3.0/Chart.yaml b/stable/jackett/6.3.0/Chart.yaml new file mode 100644 index 00000000000..9c748c6963b --- /dev/null +++ b/stable/jackett/6.3.0/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: API Support for your favorite torrent trackers. +home: https://github.com/truecharts/apps/tree/master/charts/stable/jackett +icon: https://truecharts.org/_static/img/jackett-icon.png +keywords: +- jackett +- torrent +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: jackett +sources: +- https://github.com/Jackett/Jackett +type: application +version: 6.3.0 diff --git a/stable/jackett/6.3.0/README.md b/stable/jackett/6.3.0/README.md new file mode 100644 index 00000000000..2d414e707d9 --- /dev/null +++ b/stable/jackett/6.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +API Support for your favorite torrent trackers. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `jackett` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `jackett` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/jackett/6.3.0/app-readme.md b/stable/jackett/6.3.0/app-readme.md new file mode 100644 index 00000000000..7e8f54afb7e --- /dev/null +++ b/stable/jackett/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +API Support for your favorite torrent trackers. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +API Support for your favorite torrent trackers. diff --git a/stable/jackett/6.3.0/charts/common-6.5.0.tgz b/stable/jackett/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 zcmV)mK%T!JiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJciXnII12B7fBF>IOnPefXHl}_msHR3evY@DwmCaVy<(@m z=X7_)FbP?xDUu~YIj)=g+3&(D0T3W5TXxdcTwSR}0yBdFFf$ko22nPjXX)s01`85i z!+G+z)j#9$c)Yv4&Hg_gkL~}D_nvM2ZF76PHy&^8Y;W)WZM?a)y}R=_Fun&`8c$Uc zSp02#XIysU{vZ#`@eimdah6WNVru~NT>VV56b)ijMg`6Zd-F||M)WU`;PV0&*I=3z z;Iya^8$RV=md()w%m~TL$!K(e$*ejLqijARMTH_(W(4!R9FYQ{(Hxcp6(jMU55xhE zC?W|0E+BzL8FElniHayo2}%irT8;L0x5wkXot?oYy1vSaxSR}zphh+rN=k?9#b5{o zn#<}OsfK>}kNwSXb2l6h$6pTS5T^v<6cr2@nnRpS08Xdbf7O7)thg8ekV4vCjR62u zMKS?aK?UXV7nH>RRYtR{A}Adu==>a~7h#$xSl<^ZhUMnhUqAD};>AQO$aRh;vWbI* zY|n1E6OIS{`d`fd1xzYb-je`mpa0wAotw+T<&PX8`0KL`(+^BBtB`3&u?@GZ-`9qNqTSAg~srDXbE*4qzICw^@?l^x|C}Ln1nY!a5PHIYCZf z-={|?K?F5H)ZjU=BgP5}2H=Y{E9h9kCH*Gpr(>zmLC_ak^J^YknC9>Us8YCqIH6;W z)zW@11E#Es3l4z&WmVO>)~cJsg2)L2>R)PlyyZPgffQ(gsq6H!g`&5 z_>RASMPELc*NdY@NG0`e@u5v@*t9kU;k z!GM*Lb6pI%`5dP4TDh)7jObc68kznbh(Z(a)6WhNu(&8&D$~!b=Ado9=2<+*v-rT8 zlLOC`6vbcF(~g%sh+_c3cUggdqXZ=2IE%qSMY1x22`UCpz<)^!hePn6F)o<^`^Nx^ zGB{=IRDx{^lM*pD7Z-?3D5L8!CPeQXr*GAy22a?$p2H93yYW~-IXr&%j^G6U#u|Ez ziU_5IjsjZnd0p-`nrFpzYtcc8iUp3)K@??GN@~HMqXhf3zPgm=38bVVur{{t>FnriNsoDurx%IR$A( zK*@$mEQkWQWNKyuKn@6(-~y$H%9j{aB~C94od^h;=LsZ8*>pi5M#;O93n+>-&+>|v zVhoB3M8Fj$GX_bB!t1O8CFAFHICuj7i2%HUOvFJZwo9Z7O-eXQqvATJWSw8j8L`2e z!dOl_1Wl=!q(Xs8wI__P>GgRQUvmOr6rr+|eAdiDFvST92b@@?agGm8PJaCU?a>6x zuZKA-OKOFS=DvnF1t?wMB1@TQT)+a;@m+@CR4_@7c-q2~>y*F`Qb|t+Pr$)CIQ`!V zcz1e88L-Z=9ZkTOH#Z=BixLD&6uzNM|M>CC!4q((iVU6r_Mmj}O_9yjZvetD9H4Z; zTJVG#27)Hue8EvV1g1qcSDjgI0Q3RQbIP+P;77(OP;d(5_@ZXQJlo)w4=+sdbC}=? zCkZ%5ywDKFbDUB-PV+=D^Yq2*<5vf#FW&!f@ao-*2?!j`s!i~u^~9D zN|Mb%Uf`_2FS8Y6qnySNc?doE;_= zUEzO&i;~bO^Bu2yHqd}5na>a%aiPWJPoP&10G=ASamgz(@fLV6xoS~a9u5?tjC*=@ zX{|6R1QT%d=0x(P+z{ibDx}m;Y<9TqXgai$MAe#Rz4{lq6%*eFB0_sa{?%Q92UF1tU)=DoR{7b<1Kl zpoLZ}sTlt0rvgoX{&}rMI7C?*p`4T>S#Owf2IKUCeoU#*(Bwrq6a`05xPHOu#gNR9 ze7!#4YT$(be1+4?QY`MoR1|FItvW$b#b)GTmJ;-VC@b)on`iR7_^jD!J>kr$=BiD} zvM0O*Pf>IoCCCRz70``LJ|U?V26TaZC`*@ss_PK^4^_TGdjP6pQ4DY@H8eFeVL7C$ z9<#P?`)Vj)9Ah!Eqg!LDfjIFU7uh*dQ-zHH{-MXv;(ABc<=R9Ms=ZI}0;Q-dhXsN$ zW`C6g7Np9DIYnQN)-9`>D!g-)WLE=TKpCyC1SpU@=%!`dPymoLXe+uGwaX$gzz(=I zV)`wNbvU;R&*-N!Dz~Uiy~5>;z7l`7!J3O3gi^~yoOF6rW!dvIvu$aRjW zZJsiNk&AStWokmrHV3DN#{qlKy&?-x05PoFf`Zs8C79t8~pz#^pDfS<1^-1I(v6?e5P0D+Kzq_dM}4pDS%XY z)>{i{3@#9TroE=x9uJavOiE@kI#y#qskK)bjQK47cV5>@Z2n*|u3)RI{4T{kP{wkhXVxFpmNoZ~o7&=o9DDQ6xjAe!P!{mbR^ zl0hnSNXIYVLxmN|sLG3Al3WYOhitF21TfV!a=j&~!=zIK<~gF)CxuUc3)D3(wS!pK z$+}`Lut$^0@&`8aLdmnc9h1$ zsua3nia((EbzN1e)*+oYI31qD5=R=VwfXa>;JOBmJ8SR3e3O#Vl!S6*vmLYvNH1{u z!BdnZli5Vk zg?UXB1yI{4^iyq>)|4GXG7CXJl7L$LkBoQR_rOBAVrtV+wXcQhf`9CT&2V#jIBq~X zWowgT7N%%?)E0{kOj5uai$pG|3&eJKBUBFsipGM%H%WU#W@b}A$eK}Wss7VfC-!g& z!9O!H6Fb-}P=JaDKC);Jqk5a0o=eAuaSHP7)@TnN5>ktH|&|7`NQiqHx}*=r;xbM`nMMj87!))XkD= zj-)kZZkS80tA~Z0jsBC8^FEutCo}Y(SO3S^hA1jRHE78%hhK{6UFw+5D`IvBfB%|N z#1S&$c;FFu0>q}X)*)goiKjZ)I;@dZM={$X8PY`rhf05bpC;E0Xa17Q1dgwLm2g6` z0$w0+s6v*+(tL_93;=9ZR3a7!c{V)T0P%GS=QyG&gGUZiX5vzEEOu05;&J%D-<+In z7=C#L0u>GeU$m?%`4TDHh&4Q4 z*K6`j*cD7!^DxzU79%xHYX8u=*isW+#QQEr#oqAyQF5;h zR85$d6t5+8MOebly)CXk~0qK66flb9ff_UEF`H?_2dpoq;KWgie+V5xFiHvcY6g1XHOcYhN<{jnBe40|!KFL?6^6O`IG7PvnT> z7LEvW&ZYp?cE()9GQs@q++KEhoyiJLpz9=eZ8$zi0ytm!b;tpQu+rT4!A0 zZf}jXPdsLNem#`Y+x00Nk5Qx@GUek#JDYc=ISX(a;{}c@n9!cObwFcErtZLXl`8}sh7GX5g4XKz`ob&zlKPKca=9_YOj@bMrP=Q|GfmZ zEr!iDeWMwI`B1zYG9RyC^&4uQaifiLIm*(K6cDFm*)Vf{mI0?1L$u&-fDtT9e37#F zV5&PuPw2lKS5~YK=&uv;ON+MV!?*-+%JwF&HJU(CCAWxx??alzHiT(Bgek#8`DT3} z|8j(c6Gj%v60uKQu7EZMlhIMb9jy;EB$^}VUCFiLL4sk4)FC_}08mN_%-@a>iALPt zI0SQ;=TyeMJeH1XUPzuQS;;8_7{^0Fz>s8&*N8+zM#GR!XZGh1a>_^R1Faou9^!lg zg3YhD!p+_1;byow9`n(zDCH+Gh9HnG$0(Zz^4-Me?*kgg_*+MFmKHn_I{e zu(|d8HD>Q*&-SbFsZ%{TACdnXPC*&9fovpsBAxM`iI~p;fI6@l*XuFi~frKmGBjY97*6DQcFvooaZhW zndl)Ld^P&`ad2}pHalc0nh!wWzNKC&%hf%Kmh<|n4L2DL)V7m*1BPeJ&DM4_LS4}}@Y zVY#81H3VQ@lq!Is6OCrSiX{)wQA`2))m4^7j|X*nfk4)BlcpC8!S5i&X-tLmxJJf2 zx19)O9+NJ7b-BBs(`@+wv|}`iw&FCvOd(FdT3+CkOhND_BLIrzCN?o^UzF>CkJNR& z(`08id%i(6GrUn5&T{CW+FeHsv)<*!elsoatYD3Lwl7={a|e1_!UfH0y|=w#o)rWp zUV=Qe`05B1b6l3x=Jk=_WitA}Lpook1QkLA$W(9QV|E=Az zrT=%H?LB+c{}1sn{m*QE6|+Ny0%9u$s{YQC3Ne|ctOAvF31sKLpooajDOl7QUFd2+ z#RKa$gkSHQ>R>n=4)oN7ENkFmb8v~%cv4d^m?HvXNZ>?eTX9TUzUY(*T9h&spniNsFYwo^@uu;si74K>3TTHVC*EbjYvJfPou+6 zr$(hb=;Y2Wb#vpw=PJtqOQ#L*i8&fPB(aOrkSb>diibvQzHZbbL`%MMbB+AY>Ho5L%9#J4RZB!aV|o&QIcn| zqZ2iFpITo2*&c`fSN8p?41f;(|7?42$JYP5}eRHFc)nhmsDNrrvhu{JFwXLOVSphpV(D4KU z$FL!xjYb*ZK=3{5Uk)z-YcY-p2vql(_|`4hKCgIP9hjI!cTzF>VFNrRiPi-+3rSPN z<0%N$IWhgCXqV0n3UUodL+p#i@QXzN0+R4X#pnYt`P>*gj-GT>FmX0eGOTS7J1Mg4 zo<P1o3L{N zaPie8r|Rifi=L-KcDz(limosyV{RdyhReyPx@#Il@HrkD5cU1B#>Vi|0+n=8G}#A1 z(1-RWPK$ab^k%U97rL%129kyAb?anjSgjKT?OXDyvnApnu&l4wt6^TE>(bGL-@z0Y zC2;^Z0SvXV_WADCt^R4+fB7PM;P{_sd-nZ5+gqEPkM`d~Jk0;6+keOPX(JKg&4QTQ z?Log+kA=l((=A8E5tXGlX^knDu8 z#NF#)y+?eQDBLwvyN9jcIyzdNjK}0p8VOUh)soW?Gb1o3p?! zM-SJ)>N*NhD9s+N0ySL_$`7;rn$=y`)rY_H2YZCdhSzaMBUg%MTYH*8h9stw;U;5RcgZ zW0xTmDx?RHOuL}TuifQR&#_;pw(2vPj9sj>G-g%t=5ArnZf0-WlmiE4iC~k8At3=T~{l7AQ zmS&B~SC&mH2d~G!B0g(&l!W8*|LW;K3>(V2g^n4#Z9ZZHZGRuJY)oGtvDvy#AMx#6 z#Hxc$bbU>>y85!7zk%lYv$J#a!P+$_+q``za!7VL`&!1L?dqT!x=eH!Tv zlx?m)Sx~kW>3G%)&7ir@aK+%5|Mls&6|Dg}=KuDy ztw#LE-p*tE$Adh#i2v2DZ(nHuuyO3NGXhwn;!hX?+y;1s0_ii2;x&R#?-I)UeR_lv zbdRCD`dsJ{%UdyYCrd>1_6yJL3i%ClSP*^{M_a(ID&_6LcAz&87)dL%^qVE8dwT$G zW7_%RWF3*ZkD;@jp|di#mz5SvjU8(PZo&77WiwoLC27M(S8AGo0`oEdt=(g^_F8@FMX6pa(-uTh~{~*s& z`u~L(5i_Hqg21BhtD_*Q-uZZGWhyiQ?T{jL+ zJjLY+VHrCdb1#B9JjV$pxE|=CtYBuseQMvlE8>*oShqC0Rho6U7>f-+cFbL^YUOJO zcJs9E24J1|U#uS+WrODZzRhAFsMFU+MI6*;ZA2eixnetMlJu+wd%X-&0d=Bd=6(BQ z?(B~Fl07l+*9r4Z{?G5gdOs2ETwemGm*G-KIR?NweLFW^C@Iv%IoH5-!BPyN{nIv= zS`a!0pax&H*S51=xpZ9;q^=`m2)D(B)!}iK>1yk)oBEBNJvkZ_iRM)mMOG1(a9d_i zF9WgZ#OH{XR=xH&1y|_2L{U{BmHfIN8huDk8XaY9<|vy)QnHG4U)mt9wSz=p-+s-Z zH1EXLxZ|$UaNe-(C@Vb#N&Gv9R)Pt;DgZD@P`N$ByeML$wZb@qrNcOM+|GMR!%kBx2Nq3 z=LYZCHPOl8X$*b?lPo?A|u#5Z6bwk^t8C z`a<@bn_A}a%h>}CoLyAs0NbDp@GA+^*uH1IiwN)4@4Du&j*%FRU^lSaZvjZF`8g_h zb;jOC-KO1PQS_!8e_0Q#PE@W;F@4Xz`u#t4j{Ms@f;#*^J3G6Zw*PngG5+&mo?FC! z+5-dplAYJr*H-C3Tsg@zg^62bncdOh0dic+;N1V!PvRR(^R5PBl;60e+I7O3Z z;WOogZJ+^P-wYVzRxp3{xs#~+^h9BoXNUq>@NvHP| z6~@i*Db)h(&S7yUKO*|cXbIz~sxaB-Hw}AoGE$zYvaa=yUC43R){S_dUz6{GX=b!( ze@pQzn69r`VG$_qe>Y#ME7naI@_Tc3aLJ$Cv6jD3?Xg~kW{_Q_T64O<{T(FUp7O6N<>7=362 z5UjB*1@>E!q(FnhyqlAK5Ijw@7`?}NP`6PuZhQNg*6xgCQI@bO?DA~0{IULB`$WYV zeKlh51~*zhTGP!=-?*+1RUY<>!uE^HK|o)h=7}jHMGN=ATJ6oHg`Rr7(yY82hV{)Q z{RtYdp0CFSO3Rqh6Rj+;0P8GtinnVyv*Cy$;quibRXF_GlY= z(gWNAMIxuH68EGwAnJpFezztQzeM#-7BiP*ptn^LpwG!L6(y}jZdQOb9XxlO%P|{# zcY1mputv9+Ice;$!PS&V)Dg;Z3rq7I8qM&sbH=K$~_=HW4rY6 zd6=ig{$E)h@DBU`+18ew|9fY5`!WCbgFH*e|JM1zf2hx6-%B*GN*#XV4%M}H2X6Yr z>fX2`b-i0kjaXfCU2iP$pXQ5bx&5b`m4x=*)QQtro(NaTU>K~MEtAAHgIVR5R+Kgq z>ei@W&8#p2DJ-n+Vl_0X=DAvT4msNba7TtobUL51Lg6kiabBfji^3l$}dX*NRkv!UC_35FMcd__fNqc)+dz`q^JeBm&CZB=7X~pSZy^w4R zwp>IkGE+O`!90Ij=(^TBE+_n=_TSvy`Og1XUk5!Bih3+Soeg&lc(K%N4#BtP-;>Zf6gScPtGP#V|N3WLlb?NtWj zf5HT&5h?;B<;39;w7jIzO4GQv8+MaOyOk zFvI*UOfTfwA>Y@DZ+`fod56-_?5eKL@HL}EEHLX}%FgqPc3UqEb~!7w1LeMGCusi3 z#}zl6J}mLhT$NVgxHJdI%j0D;hBlg=SLX>XXKym{7Qy)XAdbb&i`=>G`D$>t9fX0L z>5GXoyS+M^VQ3(OWcte7+Zi+nyWFkYL*02_R1yczk@Hze+PdL)G7?PxT(?ba7o zL%;GxsEAK|-wP-F@v@f{Jq`Jv;PX+03Nm_6|2)tMP2)wtmOT~v8t~ZL{yDW)OVQyebKc26!b)%UfEHvsGNj-+OOH38=A+dH% z<*|Bias80JYjxU>Jd?KDVKw}e3ja;7OWkVF>biw>)6=*dcLPQsZ$#Z1M_vM#Usbrj z8m>b+Ea3v;gl8Cf3f4hDib{+GURP4~@AQlE-)R7X;c&>DHcMYk`qWO2aGSU>?wc@u za3m>JJQ+#KFcRw*cZ1p5IQkd5<_*>kDgF-5ceha*nR{v!;w8FngIM4NB&aXQn?J@m zhR5f2Plx_rMf%6i_^-_!`~K(Mt;hV25A(?NUxCpAu_JLKejX1`0UZE%iX%u^7)2zK zsiN4w;Im}3w&B%7mpOL*)~HCGS0y&F_qp z9>PwFYGi72RB!3~yg(&NiGo-QNqM4?um1F3E?HV%aLT)Z3w^rop-XYC8`>GK>59*e zl_1clqr*(;ewUJ}Ioic3uFRHam8JwgJ6_$AHA_roHAMkV0se4Ue=S@2R*!hs4!wG5 z?rYZxnsq#2O>N29>T}RwPhVGdMZd_gX8vu*NdEX z-Y9eietVC-XI*`Zv_Y|&m2%9n>Y>ibrc4us#3Z6~uSK{$8jYXxpK+-OpF+zhpQC!3GF! z0oxOz+Ls4QHvbcd$+r1#Bxt>Z0O;KRYux|4x3@Wdoc|B;u=#(GB-s`CS9Okrk4)VA zopC>CjMC6M^_^LKFKbZxmXr*a2oLp28s1RimorrZWW_C7hA+_eFkzk-SzcgjywrX_ zw#8=OUa(ZF^xVXCqj-31AVdyMFG4Di_)Q|Ff4fBU1u71+dCrnZ|L117`E}s%(sgn) zG>`HK3fNU+K}Y%#&aA^3iY^s1O2YA7FUO8L+56BsJl?NKMyluab`FXNr8;BJqlLMe zr%nEgn3p?y0K4S>xat4f*?Nrse~?GF|3tj+ zVy$#B6CP3^;X$5D`ObEEax3C_p(UViR`DH2YQmYr6kecsc+R(0)CsGTI)QIf%$|rA z+=a6ZHVmEgbzFO|-B;PH%MLE45i(mQcfKB_>!0~)lmC3^-23^j?d`3`{a?@ab{^&b zLp)4Qz4(yBG;YNI@dVC3@uUkDEmYtl$<86WoJkq%c4V3s>LG4v2zV_kro#bhAFQdE zYsY7~Y~Y`aSdMjXtXRD&Vd{a&J%vR=G{Qn0sM$VxQKb>sea8O8^OI^i#UI!?V5b#6 zIAka008|uAt0cJwzg958Q%n^_p0f@K2R|YXos}mP2ko2^oTCU7nL0>F8#ZZcT#@5?H{J!`h>O5hG}ap6n&Yie#2Rz5b=~8R z9|Mrp?Rs8(2H93B>stad-1}NQsOozW7;BgYRs^V^#9gL=z^tUDtNx;Ke7$c(sahiP zImoN^n~6ZoL~V#uc_?g0I=tC17juS}V%AxQa1?f~p>K;Jmn;#t?Ot>Y1DaR&0fuIYZeUop7bBT&o}1rMn7PP=2==I4_x;31T77=B#@wKl`z0A$S0zJ3-+)jl%4(U9zQ^m%GE<*TS;xv9)QiG_#>4j>i$fg$hj#_u5+Gso5+@KK_7c#G1aZ#>< zy4BHES{F)*)7i$$TV*UTuq1ejqU%WB8K{0P33&hjN*AosO?}|<5?ybIfIB^J5lRHt$CPEot5{BcT2+SyMCSxr-`|D3mT< z;gVPcu~*IGr?NC(nyFtLxr210xPyxp1nWY}=0FxJjNq8Nz{(s&czVqcjyQ;ER?u$8 zMV8V9mWnYA+J?J(9HMlgSCXAbyO4*UI=m&5eem?s`k*@e>B9V?O=-;H)a@&MbT3SO zFN&*qA|Y5pyDgi7Im}gJMF2H_ql{0sdc+*EdKdBzdD<+l5kH5ygsZubY!9C(z|%(s zdNVCf$s{468=_p$y1>$jVS(1|ciH4Q3y zt22iKtVT@7Isg3@O>1$wtP#}72|L=RHo{n<0e&!%6nL&RXUo!!&6u4UihfaB4NQ!k z<}GeFHyYEzTM%7j=ct3~(N_b&*RA}T($k_sZw^iXOQQ-dP>KpjPz=63eg|+m&3Gee zN!d{|FolS$tOyP{;c3*|SYM|L5N3WBkvmE;W%&7>u?pUc6J2A=%8wYH{E zP@*7-~=GCI?T2&X&h%S!V)NKb9OVJoSy( zw|j+Caj>DbVC>HxV(8RXE*U=Oj5kY?WnP5aq0}vRkO#8qsEA`GieO?At%%GMuqG*8 zXRG91Gp^gzv8^2A)>R6p#?yQJA0!xxq=wqhyUUF0$rfISWKr{P*5=Bmdvd)?@tNgFI{{#dE4DgHOh}7zSSt zbB`@GwGgdbX7giCqoL&&bR~4x*VFFQeV$B!W(q*i%=5>y+3{udQ}?z090uP3Jjin@ zR>V7Ad$_Ehf`^Wv5485EKxvE$zR4gBsFBVOjW`&kKHw0^{1o)!d&^`ek zqrs!goaj-#nIcR8mGIS_idW0vD>-DQwY@Pj@cNSPdh_mjQtsNxa7|~Qk!;sNkU4xD z)ij`n=DX{``)>KqoH6%#{`=Xpy@veX-FdwK?Li(c|5+c4EXZ{2pJW#}>L>MuuWon` zcRkxMR^=7n;UyYfN~E^gHEbD@_5JUa*r2kXjl3*2sB%JtZTO#3;6hvjTZABG!8SWN|Md(7+?Oa%u(dp&e-y8 z#hJT;Rv#NZJ8bMs)FiP;z@cL&NZoR*N(Be+PQMQth4ogjp77l*?80KjJbNHAwcbvy zv5jKAY&KrIWm)2AB#$@01Yq4mC%aepTSO*-tJmz((oW!)+R7_x&rvAuwry;t_yEYO zNoo+M{2m$)1TVK)8%UI&WYJ}NE8Hw?w2YY_f-G$q(2>|qo`k?0tS~u33A{c*QI^J~ z!74gcLPsIcPPzn74YsO4r?Uc;vn+|5u;DIN*bxP@Mnhb?GoF| z{ik&1e%Js{F+p?RHNLu`!t%n?!eN>*poT#*r*Dp_Qkm@6%hM5)9}LsF?NC6!f?$@F ztWr>i2?p$%VU9>Y8Q{RQFN#Shok6z^2DWC`;cx}dKN#+f`r`i1W2sLYmW4^`2V4@IUNH4xN@$j8?FwF(ATQ7q6#%Bd zERLuAK3!b0T?-MB)*y4g4Q0of>(N)>don}C6)q9rWU!nEpS+WDX%E&x z`)XCfcIBwSYXDWBTlpeO)%U1s7p%5~Be%AM`-P1WA>-xs!d!iva7VE#`ej{Q3g)@}Q@kN>yX!STc?7#8OGdutD*6!Y8{^tjIo`7RW2rAN& zngM(SfU6lw!Fh#~7^fE?htVaxKxH_10#0YtG~rwRB`9YoNx(&tor5_f(F~^-8=yc5 zBzS?CjMCo2G#)$wDY{^RUUcH3DgJ6(jbqd@;Ki(SPL6a*>W|K<6;Jta32L2`UF) zh2>Q~_$oYymxHfDGN*rM1-=-3_5Ti@fFEFiv#JCyk6x66FfX!SP(%hHju9O3;zjn$ zAY7DD7NgN0K}v}E|Mtbf(d!rCJiZSc?el+gXV>=sZf=bq@Be$4=ZVPcFc|#(Cv`#E zX80@||GYLMBrhkU5uRU!<%}g03vo6&hw%j(iNZrxc8JqyR?H!f*8TsNbq=? za(ICzUwsAsQ{ukBWLBMrQ8piuqCz~dX$14U9FYQ{(Hxcp6(i1}e+&jso`Ba7%TVOO z;CCQy`gk#?w#e_`U6Fv_2fu^ia5x0~fASCZzQzK62kbuv^es2y<|w7a)@j@(;Orm! zo8jheI3AAASW#}mP}KiI*Wh;`c14fGnwS1nMg?ZKdr*{&0{*Z3pYa#_HTWGIfBW(X z{0?wRVVv#kK0o8+{SJ=b`M$h+eQ@$G@H;5w?Qv(pc)S&;@6Pz`-+B1k@8ImGpB*KC z&^8hJmGu{6H?m|gDp9dO1v~ft)A(nT;NcKfWEON)+q9~sS&G^!Nr%Pn;5^Id$T(wH z@wC=hfZs(HITkndbVAW`Cm2v@!GcZ=`p1x0>4rw&g$d?a zxEF4>)|2VLwc989GeT5ep5L-2UGdOi!TxA+fah=%$({2Q6wW?n#U=eBaw5i!KNO=LqH)(?+I%iu?mYSJt*ImsHnx!xV1VD zz`E7Il9ihSi^}jG6_@3*9%>ef+=WXs*#MIBz*xbl&8=r!o4u>bpeBQc)5GK5$c@<}HD1L(zvr#EdT%~);G+wkz zdC*b`UZ50}B@5u|QC?igz*S6$_+=422)F9>Z$_4*l(Dz6M5PCjUY;KsU8dF@lxP!- zPm9JmD#|P!iPFO;!TkU>6e-)DbJye+Um3>PRoaIGvV4{IDs72j<1!Bz#|@k6&5P6b z2S=}8zHt-V1rw&i{B2#>aR}ColB5@v{IZr%+skuKR9BTHcp<9zc)>qwEz9B_0@;zV!dH@? z?vj?FJi_6n+$!F&IKzB!Na9C4mL0@}6vzrTZ~amhNC-lM6=0Rt`4UZ&dBgKBHC- z<`pPUa0K;_+Bcav$|D8rtef6q!l9zf1b%SbsjZrYg>BYVzFWNY^v(41#I*Ze^d*tY zxzeX(w=boS=fnlSmwUvz@}NI|tveii6VY|0g2y^3NdXDExONc!HcJwmUcAd=NHj}B zPZZ)DHqKaWN6Eo(sb_Fdk*v-l$1aoSna}5lz!(w;s*=+F(+nl^VVp%JSZszn`nH+2 zyOd_dRhGrSj8y57xMZgs@oMXzXtP+w|CXd2sWbNP>F@9&TMdr({oiL>&&Kxt@6OiF zWB%_4c|>rB+6BgQCfU|llvO~70ZuQ1!QlS{ZJVWR^w6GTUJU()o6@cf+Arb8e9*NKUrRJPAuh>}NHE5Ts zu2h{-u;5*Nq`zeuZPpl%<(tNr(V`pE)YQ}GSN$(!tI4HZTBqA0Rr zZQTT8oyx8qhOc3Yr-&yQ*Xfh*%kW!7*7Q4(HbBsv#3nfhWr+%Yng5%NyqM?Ydaa4l ztXb#7+W_zRO(b@OkgoC90&dj{dxhKhb>(0^Je=VqE>ODWK_I8ZWM4!2)A(lrUJRyS zePDM4i9&l??YH-f#t6;@n+U6yc$jVz+5#2;Mx=tt5hRdhe{alq`PAhEBW;{M1_3ej z-*13RbX^bp8lZzR6CYR!Dlpoa9<+IqOgiC=G0(9CSmWaY0FOn5BMTC-0! zEPCvTp#EAHQ@*dDJ}55AJ4k7-h^BDwD4!{aTL@=ZT$KA|f=~`{%C|yvvB{y<#qE;I z32BDxhQZj7Fg|voqvEE4@lj0w1;jL)79JT*$5Ok1X0>lEooVd{70ndkpH(i?w%wah zevvM2FO$6@`9-?0fb~HsKG){SwJuUvfFFxc6jxbT%;BJjgk)E6$oW4AK z|KiOLX8&&h>+}0>-hTf&R2QR!?24JUXv+Vfl60Sm= zL2vxad9%%39Dnou(Tn$Q4qm@lNoy3e4oanWG8ss%3`4aSQG%B}`$@b#^&+)65hc8cW zHCWq0zkF?jUJ~F(^JhmVHEF4Pt?@Xz(a{)Vrdi**cxEFo&MLc z)2XfGG1KYjY_-y9-CG;!FVaO%8@;wYU&EXmh?i)sF^ii*{W~o)$Zc zgDV6se#@Ff@*3t2Jff1!zrpMO#8Y+uY#a5?+I0OQ!|#A+-2!;Wz25-YrH-b)bM5E< zAN}NRlxi5i@QgQ$50Ex-AFTJH-`nYZQ1`{rvAlW>^Pfa7{0#OL#ucuiUZjf+6X7aX zP_zf`w*TN?Oo`BP{!sI~vDo4z*bwfs&~h!TIEV>gX8nc(@&p8dZYj|g^RI3@n_oO9 zjfs;Nhi_k;)|L(bS{s-WJt-<5c3sB*#k3>mR!_|+I%PxG5;Y?m9)nDx*iN`;zq z^;9JurPK=RvosbyowY#co~=$zqk*Xu1D4(If4@b?H_Zo%=hpr17S#1v-DotrZlk)_ zl12P9wb06hJBu;9qiFYf$tZAJY}?;?hoz+XQAT$4bgsGmX_ABq2bl9hLr>_Go%mGqC#CG&(XnrbtCKQX_s)cI zAb%+f;xkd1dd-K^m`sGX=u3WeloyV_i6(}h#y@vd^k_UeiZ?(5prFvuakoSw#=jql zoMalJ7RLj>)np%xZ(%rCh>iE2X5QJXps@XI??u8LjEMTkjecTV$qivKO!mQ|lN^Fa<`TSyqx9 zlG!kZ1m3PEWNyS(E>iG~0xEYS7?FAIp$jcmOqPZV?d5 z+T0rHMn+|U7Z>|zY>3HrSyNrNEWM~aV#14^C+c*fm$PcJL`$u???vk`cjB1WI(grT zG0xzbz0paYArgGFv2R|CCS#Vsh!$Ri#;2C{e;Ui#G@l3bC(i7Bj@XxrjY(HidN_}sBIXblZdSexJ?#+@08G3V8 z$d40oBio5DY{4c(zryWyl$a3gEwjd{BtI!?dF-RY44yEE_^kIkH0#csU46X0Yzc>o zqG{|Eh*U-DvEabHEg0v$mWjrxJK0gUTrbYuAqjNQ*wPQD1Qk;lp_`94`Wz90#~7^g zT|K4w!3%47oFIbM7_JTAY}I;W9e1e>I!0vwC=oA1FKy=aaNd7v>*w(??EhI-;NR#{ zK6#&K@q1X2tc>8DmjfO5Ka98bHtqZWcDA=4?f-{(J{SA{J2mucu5`_F^*mGV)MLHfkrs-?J;Tt(2Z7`E2}_Pk82OQy1?BdtXg`dN03xMMf@6(0!N=p z6SuhkWHM88Rozf{TwWd?zk5e;f`4O4B#%)Mp_IT2)JHz|lgK^{`@3VGkX3D%SdF*| zqPz+wV0YX+iK;c~HJWF|^*y(%1fqiP~;Xzg2nbRFK?WBC8X zH5IGP{@dyQ+uPi;^Z#z|J?8&?nCElx|A`A{R_*Vz!Ty!}d!p_A{CN#VHT`!@UON1B zD?XnoaC(m2f0vc*r#E@Tc#jZ(4s+A%0~7SM`n-;C+0*Iula_0XUl`;#py|o#(}xo7 zqM}?oNMjka>?FybXvs|)KM>kc*tpthpWo)hR1Lq%sdshbil+S$pPQ!j(ZM6`&GI zV)6SfT_vy$gX;Q>1|5Vgj^>Y!)|=;jsWH<=D4SI#muwOU$@%1K=h8CG=4S!aj20)E z+fM;}yp!L%F>KtRz3y+f9ZLz9H&op{e${Kx3KVTtt0=g_*?Ov0_Vao)-T@R#!m_#b zY`dR^H9Oo-f@7dg07dhtURS4HZ>u&}sxnujQt|@NVR6kA*koVnininyx|sAGl=G+u z4V$3x97dNYjg1+0Us*0R!Z*O(Na?|!TjT)gritH#Sk2E-anD@hDM403(QVcK>8q3b zN*jsd(^n_*RlEPn8x6KhV#yY3!0W#{eRb06F*+`?1&(i(k^2r>nIuXl(?9kd>$ld5 zrQ+H?|8wZ5?NNe^BjV|^&;!tPTmc{>_owqKF zf5c>Fr=DAS@uB4xeT7Rx)j0G0@^o~)%CoctGS6erI$g^gM-`RnYJao@aV63R-7@%O zi}pukp7&dUvL15=EBsZ~CBJ0nzBS2rS#~MbBmbS9TWgUatVlN0RDbI}FP(79tW7kk z?snS652)Mq*D9TO%DVC(jjf!(tG&fupz+_5EaQW$`S9nKEVq{tx06Y2lEqnPQ?O2^ zi0xHlY36M%&%DiBGjG#i-ck*_gYk#nFuRaR&l?e2n!rG=q zbfoa^Xhr?0PI-pNGFT5!5G<9#v-vToT{9lyBE727S;c+Z`Wi~csn zGPcALHpKF_!?HF*Ut8f0N5Z{^wHTRx!&$Xl)P(K${> z<&0|SVZ?OxEW1j<@GaQceLmUQeGUXe|D86!&~f)~`*LN^@o8s6<>`|=i%(Eg6_{Kf zW+_1*{40y*(Q1cr*Z>#8B+0Ih3%tMyx97Pk=}RV|BJQKIhxR+>~D3s_lf>Gh}}r*-8gfm@5dL)q5*UGFJ02G+YR z%_1id*ShQh_kZpEe{RJS?ge2NGu=H3pyU3BoxM$a|9@}q*<=3K2YEiD{eSaT%ozpt(0fZhYA%=nQ05 z#H`~2L2*&xNj06~58fNQyU=a`R}pHUeZN3Ofn&5kY^SY3)Elj``+|lQ5Y@a$!NoP> zGQz)##hNdoo{`0BN)c^F1;!Nsl&gIWR}HZ<-_|YW^9jicctJmvtGE)zf2LN$v*c|r zx0>QQz6l71j$1|8w^h!cQp4$(KNd-ji#$&vn4tgt=48df#-Quu@Zi;pAw}XR4SyJl zI>U&*8v3LW8K1VT>m}9^VzKbvUuf-Jq_ev zYGs$jJ(qDhgB)u%gMai-nZW!m#+*Muk`@En{aCFwocq2$24ey?4Z|l#5uRdxhPm~U zw?f{I@Ju%g1k7iDF>~NEymq^HTn&A*(Qzqv;ZMfzU-dL*1Ura`$W>Nceg>0*J*_h% z#ffunoKl0?eKX{&Zen94B%spQPO#swoqy-N)4|HbmVRmjCD@VmMnTcQsIidOk>LLk9W$0h@G z(5=E|C8wmHtVzIxF4xRLnt-}a;T%VLu9OA=XRQSIvXrQBgEJ3NmQ#qof1JoGn#gsu z2L-syY||r4+Gn`v&2p`-VxNoP)3tH`Fe~hw#2s^3+h2G|(7c|%3l(#Irod`m-igT^ z7|pC#Y;s5MmCtUk2)?@Q;ZEB?^jL@Ttemw>lfmk2D(JHNKcpCI zIc--TuVd38U>AxL$X;lJDERnEMY1WE|Ii|NQJ?EtMjorfa&6lm>WEf5FFfWMW3s?= z$1M(JFD_iCjaU_?A+$qo60uWtG^&fJL9^l7NNn6x_^%}*vnuC`7)c7~_ z3ePd|sgC->fBv`^J{%9r^xFij#bN;&rphZU6U#PdHTK0FydNF7#iyPWsE@s){7ecw z(PB8*^uG9S30+vbjlK^3{Y@{3ltG5 z%DY=6p#8-hm#%DJ%_L!}LmwTOj}FX72j=}cFpaZ5yzkpJ$HGxTm%KwZM6gVgTi8q<(quRj%b%Ln%PcgVQ^5?2FSDwM zP#G5J*NO=gDR^t^M8BWmlQAawC}uebbT3L=^cvmMsqy@hlkDcfBGn8ozD&5({0A zg9GkCe4G`;49mKMhrm0QdDl>uRt0k34J_^jmJRn@FsyFIXC1kU6G{eY@)9I_aI*ou z;UGhP^G+=bwP%9y%m0mASw#|I;3`O8p`wxf!(WnJjQ@Q6e5_C0UM=SUd~FwBo2{=) z^$;&w>xrtje+yz;y6O4YxN{iJ_0OIYVLgas%UwU2?1CnnN)Lsf`QcAZPMNd0k4u}$ zPgE4m#Xx~bRiqvZAAEMw`c|GLudLQ6p<_UL4y^L}GK-DEC45Jo8R`6sV!IZ z_XS@MYafz&3N3T?&9B0ai;QGZmfTT`c@>z1-#4wETh~Y^6A+vp9$PVwd4eNM=zGtR zQJ*-<1=M{Ga~W*kot_>qDf|>RR(E-HC(9`W1Kr7z_}(4eo|&|+8yo-f`AX_Xak*-7 zDLdaM&E%lDyDU3M(~PiNBvxRMd!?C%#R7VJ*`~p4ghkwgaO;C^mC~&*zLkkL17V|+ zZURz3G{u*pxS%||tjq2FTXcxT=8i<}@E_5u_v~F-Q=nOj1$@2uB*hDPNClM%9zjSYY zboS+e)}ra0geQ4{Q!-r(G}^u>L7EXT&8jpGHZ&%9c3fI@-GV2tXrNc;+zl#TrVE(h oSTNh{0`NuIMa@e0a~_|^=ka-b`ab_(00030|FX^SE&y@@000UWfB*mh literal 0 HcmV?d00001 diff --git a/stable/jackett/6.3.0/ix_values.yaml b/stable/jackett/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..d9b37eac49a --- /dev/null +++ b/stable/jackett/6.3.0/ix_values.yaml @@ -0,0 +1,25 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/jackett + pullPolicy: IfNotPresent + tag: v0.18.386 + +probes: + liveness: + path: "/UI/Login" + + readiness: + path: "/UI/Login" + + startup: + path: "/UI/Login" + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/jackett/6.3.0/questions.yaml b/stable/jackett/6.3.0/questions.yaml new file mode 100644 index 00000000000..9d45ccd2554 --- /dev/null +++ b/stable/jackett/6.3.0/questions.yaml @@ -0,0 +1,667 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 9117 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9117 + editable: true + 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 + default: 36009 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/jackett/6.3.0/templates/common.yaml b/stable/jackett/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/jackett/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/jackett/6.3.0/test_values.yaml b/stable/jackett/6.3.0/test_values.yaml new file mode 100644 index 00000000000..30bacce5332 --- /dev/null +++ b/stable/jackett/6.3.0/test_values.yaml @@ -0,0 +1,39 @@ +# Default values for Jackett. + +image: + repository: ghcr.io/k8s-at-home/jackett + pullPolicy: IfNotPresent + tag: v0.18.386 + +strategy: + type: Recreate + + +service: + main: + enabled: true + ports: + main: + port: 9117 + +probes: + liveness: + path: "/UI/Login" + + readiness: + path: "/UI/Login" + + startup: + path: "/UI/Login" + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/jackett/6.3.0/values.yaml b/stable/jackett/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/jellyfin/6.3.0/CONFIG.md b/stable/jellyfin/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/jellyfin/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/jellyfin/6.3.0/Chart.lock b/stable/jellyfin/6.3.0/Chart.lock new file mode 100644 index 00000000000..b3ca7d439cf --- /dev/null +++ b/stable/jellyfin/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:17.832408514Z" diff --git a/stable/jellyfin/6.3.0/Chart.yaml b/stable/jellyfin/6.3.0/Chart.yaml new file mode 100644 index 00000000000..73849d5b03d --- /dev/null +++ b/stable/jellyfin/6.3.0/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Jellyfin is a Free Software Media System +home: https://github.com/truecharts/apps/tree/master/charts/stable/jellyfin +icon: https://truecharts.org/_static/img/jellyfin-icon.png +keywords: +- jellyfin +- plex +- emby +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: jellyfin +sources: +- https://github.com/jellyfin/jellyfin +type: application +version: 6.3.0 diff --git a/stable/jellyfin/6.3.0/README.md b/stable/jellyfin/6.3.0/README.md new file mode 100644 index 00000000000..768064ee647 --- /dev/null +++ b/stable/jellyfin/6.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Jellyfin is a Free Software Media System + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `jellyfin` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `jellyfin` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/jellyfin/6.3.0/app-readme.md b/stable/jellyfin/6.3.0/app-readme.md new file mode 100644 index 00000000000..64d3430474f --- /dev/null +++ b/stable/jellyfin/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Jellyfin is a Free Software Media System +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Jellyfin is a Free Software Media System diff --git a/stable/jellyfin/6.3.0/charts/common-6.5.0.tgz b/stable/jellyfin/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 zcmV)mK%T!JiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJciXnII12B7fBF>IOnPefXHl}_msHR3evY@DwmCaVy<(@m z=X7_)FbP?xDUu~YIj)=g+3&(D0T3W5TXxdcTwSR}0yBdFFf$ko22nPjXX)s01`85i z!+G+z)j#9$c)Yv4&Hg_gkL~}D_nvM2ZF76PHy&^8Y;W)WZM?a)y}R=_Fun&`8c$Uc zSp02#XIysU{vZ#`@eimdah6WNVru~NT>VV56b)ijMg`6Zd-F||M)WU`;PV0&*I=3z z;Iya^8$RV=md()w%m~TL$!K(e$*ejLqijARMTH_(W(4!R9FYQ{(Hxcp6(jMU55xhE zC?W|0E+BzL8FElniHayo2}%irT8;L0x5wkXot?oYy1vSaxSR}zphh+rN=k?9#b5{o zn#<}OsfK>}kNwSXb2l6h$6pTS5T^v<6cr2@nnRpS08Xdbf7O7)thg8ekV4vCjR62u zMKS?aK?UXV7nH>RRYtR{A}Adu==>a~7h#$xSl<^ZhUMnhUqAD};>AQO$aRh;vWbI* zY|n1E6OIS{`d`fd1xzYb-je`mpa0wAotw+T<&PX8`0KL`(+^BBtB`3&u?@GZ-`9qNqTSAg~srDXbE*4qzICw^@?l^x|C}Ln1nY!a5PHIYCZf z-={|?K?F5H)ZjU=BgP5}2H=Y{E9h9kCH*Gpr(>zmLC_ak^J^YknC9>Us8YCqIH6;W z)zW@11E#Es3l4z&WmVO>)~cJsg2)L2>R)PlyyZPgffQ(gsq6H!g`&5 z_>RASMPELc*NdY@NG0`e@u5v@*t9kU;k z!GM*Lb6pI%`5dP4TDh)7jObc68kznbh(Z(a)6WhNu(&8&D$~!b=Ado9=2<+*v-rT8 zlLOC`6vbcF(~g%sh+_c3cUggdqXZ=2IE%qSMY1x22`UCpz<)^!hePn6F)o<^`^Nx^ zGB{=IRDx{^lM*pD7Z-?3D5L8!CPeQXr*GAy22a?$p2H93yYW~-IXr&%j^G6U#u|Ez ziU_5IjsjZnd0p-`nrFpzYtcc8iUp3)K@??GN@~HMqXhf3zPgm=38bVVur{{t>FnriNsoDurx%IR$A( zK*@$mEQkWQWNKyuKn@6(-~y$H%9j{aB~C94od^h;=LsZ8*>pi5M#;O93n+>-&+>|v zVhoB3M8Fj$GX_bB!t1O8CFAFHICuj7i2%HUOvFJZwo9Z7O-eXQqvATJWSw8j8L`2e z!dOl_1Wl=!q(Xs8wI__P>GgRQUvmOr6rr+|eAdiDFvST92b@@?agGm8PJaCU?a>6x zuZKA-OKOFS=DvnF1t?wMB1@TQT)+a;@m+@CR4_@7c-q2~>y*F`Qb|t+Pr$)CIQ`!V zcz1e88L-Z=9ZkTOH#Z=BixLD&6uzNM|M>CC!4q((iVU6r_Mmj}O_9yjZvetD9H4Z; zTJVG#27)Hue8EvV1g1qcSDjgI0Q3RQbIP+P;77(OP;d(5_@ZXQJlo)w4=+sdbC}=? zCkZ%5ywDKFbDUB-PV+=D^Yq2*<5vf#FW&!f@ao-*2?!j`s!i~u^~9D zN|Mb%Uf`_2FS8Y6qnySNc?doE;_= zUEzO&i;~bO^Bu2yHqd}5na>a%aiPWJPoP&10G=ASamgz(@fLV6xoS~a9u5?tjC*=@ zX{|6R1QT%d=0x(P+z{ibDx}m;Y<9TqXgai$MAe#Rz4{lq6%*eFB0_sa{?%Q92UF1tU)=DoR{7b<1Kl zpoLZ}sTlt0rvgoX{&}rMI7C?*p`4T>S#Owf2IKUCeoU#*(Bwrq6a`05xPHOu#gNR9 ze7!#4YT$(be1+4?QY`MoR1|FItvW$b#b)GTmJ;-VC@b)on`iR7_^jD!J>kr$=BiD} zvM0O*Pf>IoCCCRz70``LJ|U?V26TaZC`*@ss_PK^4^_TGdjP6pQ4DY@H8eFeVL7C$ z9<#P?`)Vj)9Ah!Eqg!LDfjIFU7uh*dQ-zHH{-MXv;(ABc<=R9Ms=ZI}0;Q-dhXsN$ zW`C6g7Np9DIYnQN)-9`>D!g-)WLE=TKpCyC1SpU@=%!`dPymoLXe+uGwaX$gzz(=I zV)`wNbvU;R&*-N!Dz~Uiy~5>;z7l`7!J3O3gi^~yoOF6rW!dvIvu$aRjW zZJsiNk&AStWokmrHV3DN#{qlKy&?-x05PoFf`Zs8C79t8~pz#^pDfS<1^-1I(v6?e5P0D+Kzq_dM}4pDS%XY z)>{i{3@#9TroE=x9uJavOiE@kI#y#qskK)bjQK47cV5>@Z2n*|u3)RI{4T{kP{wkhXVxFpmNoZ~o7&=o9DDQ6xjAe!P!{mbR^ zl0hnSNXIYVLxmN|sLG3Al3WYOhitF21TfV!a=j&~!=zIK<~gF)CxuUc3)D3(wS!pK z$+}`Lut$^0@&`8aLdmnc9h1$ zsua3nia((EbzN1e)*+oYI31qD5=R=VwfXa>;JOBmJ8SR3e3O#Vl!S6*vmLYvNH1{u z!BdnZli5Vk zg?UXB1yI{4^iyq>)|4GXG7CXJl7L$LkBoQR_rOBAVrtV+wXcQhf`9CT&2V#jIBq~X zWowgT7N%%?)E0{kOj5uai$pG|3&eJKBUBFsipGM%H%WU#W@b}A$eK}Wss7VfC-!g& z!9O!H6Fb-}P=JaDKC);Jqk5a0o=eAuaSHP7)@TnN5>ktH|&|7`NQiqHx}*=r;xbM`nMMj87!))XkD= zj-)kZZkS80tA~Z0jsBC8^FEutCo}Y(SO3S^hA1jRHE78%hhK{6UFw+5D`IvBfB%|N z#1S&$c;FFu0>q}X)*)goiKjZ)I;@dZM={$X8PY`rhf05bpC;E0Xa17Q1dgwLm2g6` z0$w0+s6v*+(tL_93;=9ZR3a7!c{V)T0P%GS=QyG&gGUZiX5vzEEOu05;&J%D-<+In z7=C#L0u>GeU$m?%`4TDHh&4Q4 z*K6`j*cD7!^DxzU79%xHYX8u=*isW+#QQEr#oqAyQF5;h zR85$d6t5+8MOebly)CXk~0qK66flb9ff_UEF`H?_2dpoq;KWgie+V5xFiHvcY6g1XHOcYhN<{jnBe40|!KFL?6^6O`IG7PvnT> z7LEvW&ZYp?cE()9GQs@q++KEhoyiJLpz9=eZ8$zi0ytm!b;tpQu+rT4!A0 zZf}jXPdsLNem#`Y+x00Nk5Qx@GUek#JDYc=ISX(a;{}c@n9!cObwFcErtZLXl`8}sh7GX5g4XKz`ob&zlKPKca=9_YOj@bMrP=Q|GfmZ zEr!iDeWMwI`B1zYG9RyC^&4uQaifiLIm*(K6cDFm*)Vf{mI0?1L$u&-fDtT9e37#F zV5&PuPw2lKS5~YK=&uv;ON+MV!?*-+%JwF&HJU(CCAWxx??alzHiT(Bgek#8`DT3} z|8j(c6Gj%v60uKQu7EZMlhIMb9jy;EB$^}VUCFiLL4sk4)FC_}08mN_%-@a>iALPt zI0SQ;=TyeMJeH1XUPzuQS;;8_7{^0Fz>s8&*N8+zM#GR!XZGh1a>_^R1Faou9^!lg zg3YhD!p+_1;byow9`n(zDCH+Gh9HnG$0(Zz^4-Me?*kgg_*+MFmKHn_I{e zu(|d8HD>Q*&-SbFsZ%{TACdnXPC*&9fovpsBAxM`iI~p;fI6@l*XuFi~frKmGBjY97*6DQcFvooaZhW zndl)Ld^P&`ad2}pHalc0nh!wWzNKC&%hf%Kmh<|n4L2DL)V7m*1BPeJ&DM4_LS4}}@Y zVY#81H3VQ@lq!Is6OCrSiX{)wQA`2))m4^7j|X*nfk4)BlcpC8!S5i&X-tLmxJJf2 zx19)O9+NJ7b-BBs(`@+wv|}`iw&FCvOd(FdT3+CkOhND_BLIrzCN?o^UzF>CkJNR& z(`08id%i(6GrUn5&T{CW+FeHsv)<*!elsoatYD3Lwl7={a|e1_!UfH0y|=w#o)rWp zUV=Qe`05B1b6l3x=Jk=_WitA}Lpook1QkLA$W(9QV|E=Az zrT=%H?LB+c{}1sn{m*QE6|+Ny0%9u$s{YQC3Ne|ctOAvF31sKLpooajDOl7QUFd2+ z#RKa$gkSHQ>R>n=4)oN7ENkFmb8v~%cv4d^m?HvXNZ>?eTX9TUzUY(*T9h&spniNsFYwo^@uu;si74K>3TTHVC*EbjYvJfPou+6 zr$(hb=;Y2Wb#vpw=PJtqOQ#L*i8&fPB(aOrkSb>diibvQzHZbbL`%MMbB+AY>Ho5L%9#J4RZB!aV|o&QIcn| zqZ2iFpITo2*&c`fSN8p?41f;(|7?42$JYP5}eRHFc)nhmsDNrrvhu{JFwXLOVSphpV(D4KU z$FL!xjYb*ZK=3{5Uk)z-YcY-p2vql(_|`4hKCgIP9hjI!cTzF>VFNrRiPi-+3rSPN z<0%N$IWhgCXqV0n3UUodL+p#i@QXzN0+R4X#pnYt`P>*gj-GT>FmX0eGOTS7J1Mg4 zo<P1o3L{N zaPie8r|Rifi=L-KcDz(limosyV{RdyhReyPx@#Il@HrkD5cU1B#>Vi|0+n=8G}#A1 z(1-RWPK$ab^k%U97rL%129kyAb?anjSgjKT?OXDyvnApnu&l4wt6^TE>(bGL-@z0Y zC2;^Z0SvXV_WADCt^R4+fB7PM;P{_sd-nZ5+gqEPkM`d~Jk0;6+keOPX(JKg&4QTQ z?Log+kA=l((=A8E5tXGlX^knDu8 z#NF#)y+?eQDBLwvyN9jcIyzdNjK}0p8VOUh)soW?Gb1o3p?! zM-SJ)>N*NhD9s+N0ySL_$`7;rn$=y`)rY_H2YZCdhSzaMBUg%MTYH*8h9stw;U;5RcgZ zW0xTmDx?RHOuL}TuifQR&#_;pw(2vPj9sj>G-g%t=5ArnZf0-WlmiE4iC~k8At3=T~{l7AQ zmS&B~SC&mH2d~G!B0g(&l!W8*|LW;K3>(V2g^n4#Z9ZZHZGRuJY)oGtvDvy#AMx#6 z#Hxc$bbU>>y85!7zk%lYv$J#a!P+$_+q``za!7VL`&!1L?dqT!x=eH!Tv zlx?m)Sx~kW>3G%)&7ir@aK+%5|Mls&6|Dg}=KuDy ztw#LE-p*tE$Adh#i2v2DZ(nHuuyO3NGXhwn;!hX?+y;1s0_ii2;x&R#?-I)UeR_lv zbdRCD`dsJ{%UdyYCrd>1_6yJL3i%ClSP*^{M_a(ID&_6LcAz&87)dL%^qVE8dwT$G zW7_%RWF3*ZkD;@jp|di#mz5SvjU8(PZo&77WiwoLC27M(S8AGo0`oEdt=(g^_F8@FMX6pa(-uTh~{~*s& z`u~L(5i_Hqg21BhtD_*Q-uZZGWhyiQ?T{jL+ zJjLY+VHrCdb1#B9JjV$pxE|=CtYBuseQMvlE8>*oShqC0Rho6U7>f-+cFbL^YUOJO zcJs9E24J1|U#uS+WrODZzRhAFsMFU+MI6*;ZA2eixnetMlJu+wd%X-&0d=Bd=6(BQ z?(B~Fl07l+*9r4Z{?G5gdOs2ETwemGm*G-KIR?NweLFW^C@Iv%IoH5-!BPyN{nIv= zS`a!0pax&H*S51=xpZ9;q^=`m2)D(B)!}iK>1yk)oBEBNJvkZ_iRM)mMOG1(a9d_i zF9WgZ#OH{XR=xH&1y|_2L{U{BmHfIN8huDk8XaY9<|vy)QnHG4U)mt9wSz=p-+s-Z zH1EXLxZ|$UaNe-(C@Vb#N&Gv9R)Pt;DgZD@P`N$ByeML$wZb@qrNcOM+|GMR!%kBx2Nq3 z=LYZCHPOl8X$*b?lPo?A|u#5Z6bwk^t8C z`a<@bn_A}a%h>}CoLyAs0NbDp@GA+^*uH1IiwN)4@4Du&j*%FRU^lSaZvjZF`8g_h zb;jOC-KO1PQS_!8e_0Q#PE@W;F@4Xz`u#t4j{Ms@f;#*^J3G6Zw*PngG5+&mo?FC! z+5-dplAYJr*H-C3Tsg@zg^62bncdOh0dic+;N1V!PvRR(^R5PBl;60e+I7O3Z z;WOogZJ+^P-wYVzRxp3{xs#~+^h9BoXNUq>@NvHP| z6~@i*Db)h(&S7yUKO*|cXbIz~sxaB-Hw}AoGE$zYvaa=yUC43R){S_dUz6{GX=b!( ze@pQzn69r`VG$_qe>Y#ME7naI@_Tc3aLJ$Cv6jD3?Xg~kW{_Q_T64O<{T(FUp7O6N<>7=362 z5UjB*1@>E!q(FnhyqlAK5Ijw@7`?}NP`6PuZhQNg*6xgCQI@bO?DA~0{IULB`$WYV zeKlh51~*zhTGP!=-?*+1RUY<>!uE^HK|o)h=7}jHMGN=ATJ6oHg`Rr7(yY82hV{)Q z{RtYdp0CFSO3Rqh6Rj+;0P8GtinnVyv*Cy$;quibRXF_GlY= z(gWNAMIxuH68EGwAnJpFezztQzeM#-7BiP*ptn^LpwG!L6(y}jZdQOb9XxlO%P|{# zcY1mputv9+Ice;$!PS&V)Dg;Z3rq7I8qM&sbH=K$~_=HW4rY6 zd6=ig{$E)h@DBU`+18ew|9fY5`!WCbgFH*e|JM1zf2hx6-%B*GN*#XV4%M}H2X6Yr z>fX2`b-i0kjaXfCU2iP$pXQ5bx&5b`m4x=*)QQtro(NaTU>K~MEtAAHgIVR5R+Kgq z>ei@W&8#p2DJ-n+Vl_0X=DAvT4msNba7TtobUL51Lg6kiabBfji^3l$}dX*NRkv!UC_35FMcd__fNqc)+dz`q^JeBm&CZB=7X~pSZy^w4R zwp>IkGE+O`!90Ij=(^TBE+_n=_TSvy`Og1XUk5!Bih3+Soeg&lc(K%N4#BtP-;>Zf6gScPtGP#V|N3WLlb?NtWj zf5HT&5h?;B<;39;w7jIzO4GQv8+MaOyOk zFvI*UOfTfwA>Y@DZ+`fod56-_?5eKL@HL}EEHLX}%FgqPc3UqEb~!7w1LeMGCusi3 z#}zl6J}mLhT$NVgxHJdI%j0D;hBlg=SLX>XXKym{7Qy)XAdbb&i`=>G`D$>t9fX0L z>5GXoyS+M^VQ3(OWcte7+Zi+nyWFkYL*02_R1yczk@Hze+PdL)G7?PxT(?ba7o zL%;GxsEAK|-wP-F@v@f{Jq`Jv;PX+03Nm_6|2)tMP2)wtmOT~v8t~ZL{yDW)OVQyebKc26!b)%UfEHvsGNj-+OOH38=A+dH% z<*|Bias80JYjxU>Jd?KDVKw}e3ja;7OWkVF>biw>)6=*dcLPQsZ$#Z1M_vM#Usbrj z8m>b+Ea3v;gl8Cf3f4hDib{+GURP4~@AQlE-)R7X;c&>DHcMYk`qWO2aGSU>?wc@u za3m>JJQ+#KFcRw*cZ1p5IQkd5<_*>kDgF-5ceha*nR{v!;w8FngIM4NB&aXQn?J@m zhR5f2Plx_rMf%6i_^-_!`~K(Mt;hV25A(?NUxCpAu_JLKejX1`0UZE%iX%u^7)2zK zsiN4w;Im}3w&B%7mpOL*)~HCGS0y&F_qp z9>PwFYGi72RB!3~yg(&NiGo-QNqM4?um1F3E?HV%aLT)Z3w^rop-XYC8`>GK>59*e zl_1clqr*(;ewUJ}Ioic3uFRHam8JwgJ6_$AHA_roHAMkV0se4Ue=S@2R*!hs4!wG5 z?rYZxnsq#2O>N29>T}RwPhVGdMZd_gX8vu*NdEX z-Y9eietVC-XI*`Zv_Y|&m2%9n>Y>ibrc4us#3Z6~uSK{$8jYXxpK+-OpF+zhpQC!3GF! z0oxOz+Ls4QHvbcd$+r1#Bxt>Z0O;KRYux|4x3@Wdoc|B;u=#(GB-s`CS9Okrk4)VA zopC>CjMC6M^_^LKFKbZxmXr*a2oLp28s1RimorrZWW_C7hA+_eFkzk-SzcgjywrX_ zw#8=OUa(ZF^xVXCqj-31AVdyMFG4Di_)Q|Ff4fBU1u71+dCrnZ|L117`E}s%(sgn) zG>`HK3fNU+K}Y%#&aA^3iY^s1O2YA7FUO8L+56BsJl?NKMyluab`FXNr8;BJqlLMe zr%nEgn3p?y0K4S>xat4f*?Nrse~?GF|3tj+ zVy$#B6CP3^;X$5D`ObEEax3C_p(UViR`DH2YQmYr6kecsc+R(0)CsGTI)QIf%$|rA z+=a6ZHVmEgbzFO|-B;PH%MLE45i(mQcfKB_>!0~)lmC3^-23^j?d`3`{a?@ab{^&b zLp)4Qz4(yBG;YNI@dVC3@uUkDEmYtl$<86WoJkq%c4V3s>LG4v2zV_kro#bhAFQdE zYsY7~Y~Y`aSdMjXtXRD&Vd{a&J%vR=G{Qn0sM$VxQKb>sea8O8^OI^i#UI!?V5b#6 zIAka008|uAt0cJwzg958Q%n^_p0f@K2R|YXos}mP2ko2^oTCU7nL0>F8#ZZcT#@5?H{J!`h>O5hG}ap6n&Yie#2Rz5b=~8R z9|Mrp?Rs8(2H93B>stad-1}NQsOozW7;BgYRs^V^#9gL=z^tUDtNx;Ke7$c(sahiP zImoN^n~6ZoL~V#uc_?g0I=tC17juS}V%AxQa1?f~p>K;Jmn;#t?Ot>Y1DaR&0fuIYZeUop7bBT&o}1rMn7PP=2==I4_x;31T77=B#@wKl`z0A$S0zJ3-+)jl%4(U9zQ^m%GE<*TS;xv9)QiG_#>4j>i$fg$hj#_u5+Gso5+@KK_7c#G1aZ#>< zy4BHES{F)*)7i$$TV*UTuq1ejqU%WB8K{0P33&hjN*AosO?}|<5?ybIfIB^J5lRHt$CPEot5{BcT2+SyMCSxr-`|D3mT< z;gVPcu~*IGr?NC(nyFtLxr210xPyxp1nWY}=0FxJjNq8Nz{(s&czVqcjyQ;ER?u$8 zMV8V9mWnYA+J?J(9HMlgSCXAbyO4*UI=m&5eem?s`k*@e>B9V?O=-;H)a@&MbT3SO zFN&*qA|Y5pyDgi7Im}gJMF2H_ql{0sdc+*EdKdBzdD<+l5kH5ygsZubY!9C(z|%(s zdNVCf$s{468=_p$y1>$jVS(1|ciH4Q3y zt22iKtVT@7Isg3@O>1$wtP#}72|L=RHo{n<0e&!%6nL&RXUo!!&6u4UihfaB4NQ!k z<}GeFHyYEzTM%7j=ct3~(N_b&*RA}T($k_sZw^iXOQQ-dP>KpjPz=63eg|+m&3Gee zN!d{|FolS$tOyP{;c3*|SYM|L5N3WBkvmE;W%&7>u?pUc6J2A=%8wYH{E zP@*7-~=GCI?T2&X&h%S!V)NKb9OVJoSy( zw|j+Caj>DbVC>HxV(8RXE*U=Oj5kY?WnP5aq0}vRkO#8qsEA`GieO?At%%GMuqG*8 zXRG91Gp^gzv8^2A)>R6p#?yQJA0!xxq=wqhyUUF0$rfISWKr{P*5=Bmdvd)?@tNgFI{{#dE4DgHOh}7zSSt zbB`@GwGgdbX7giCqoL&&bR~4x*VFFQeV$B!W(q*i%=5>y+3{udQ}?z090uP3Jjin@ zR>V7Ad$_Ehf`^Wv5485EKxvE$zR4gBsFBVOjW`&kKHw0^{1o)!d&^`ek zqrs!goaj-#nIcR8mGIS_idW0vD>-DQwY@Pj@cNSPdh_mjQtsNxa7|~Qk!;sNkU4xD z)ij`n=DX{``)>KqoH6%#{`=Xpy@veX-FdwK?Li(c|5+c4EXZ{2pJW#}>L>MuuWon` zcRkxMR^=7n;UyYfN~E^gHEbD@_5JUa*r2kXjl3*2sB%JtZTO#3;6hvjTZABG!8SWN|Md(7+?Oa%u(dp&e-y8 z#hJT;Rv#NZJ8bMs)FiP;z@cL&NZoR*N(Be+PQMQth4ogjp77l*?80KjJbNHAwcbvy zv5jKAY&KrIWm)2AB#$@01Yq4mC%aepTSO*-tJmz((oW!)+R7_x&rvAuwry;t_yEYO zNoo+M{2m$)1TVK)8%UI&WYJ}NE8Hw?w2YY_f-G$q(2>|qo`k?0tS~u33A{c*QI^J~ z!74gcLPsIcPPzn74YsO4r?Uc;vn+|5u;DIN*bxP@Mnhb?GoF| z{ik&1e%Js{F+p?RHNLu`!t%n?!eN>*poT#*r*Dp_Qkm@6%hM5)9}LsF?NC6!f?$@F ztWr>i2?p$%VU9>Y8Q{RQFN#Shok6z^2DWC`;cx}dKN#+f`r`i1W2sLYmW4^`2V4@IUNH4xN@$j8?FwF(ATQ7q6#%Bd zERLuAK3!b0T?-MB)*y4g4Q0of>(N)>don}C6)q9rWU!nEpS+WDX%E&x z`)XCfcIBwSYXDWBTlpeO)%U1s7p%5~Be%AM`-P1WA>-xs!d!iva7VE#`ej{Q3g)@}Q@kN>yX!STc?7#8OGdutD*6!Y8{^tjIo`7RW2rAN& zngM(SfU6lw!Fh#~7^fE?htVaxKxH_10#0YtG~rwRB`9YoNx(&tor5_f(F~^-8=yc5 zBzS?CjMCo2G#)$wDY{^RUUcH3DgJ6(jbqd@;Ki(SPL6a*>W|K<6;Jta32L2`UF) zh2>Q~_$oYymxHfDGN*rM1-=-3_5Ti@fFEFiv#JCyk6x66FfX!SP(%hHju9O3;zjn$ zAY7DD7NgN0K}v}E|Mtbf(d!rCJiZSc?el+gXV>=sZf=bq@Be$4=ZVPcFc|#(Cv`#E zX80@||GYLMBrhkU5uRU!<%}g03vo6&hw%j(iNZrxc8JqyR?H!f*8TsNbq=? za(ICzUwsAsQ{ukBWLBMrQ8piuqCz~dX$14U9FYQ{(Hxcp6(i1}e+&jso`Ba7%TVOO z;CCQy`gk#?w#e_`U6Fv_2fu^ia5x0~fASCZzQzK62kbuv^es2y<|w7a)@j@(;Orm! zo8jheI3AAASW#}mP}KiI*Wh;`c14fGnwS1nMg?ZKdr*{&0{*Z3pYa#_HTWGIfBW(X z{0?wRVVv#kK0o8+{SJ=b`M$h+eQ@$G@H;5w?Qv(pc)S&;@6Pz`-+B1k@8ImGpB*KC z&^8hJmGu{6H?m|gDp9dO1v~ft)A(nT;NcKfWEON)+q9~sS&G^!Nr%Pn;5^Id$T(wH z@wC=hfZs(HITkndbVAW`Cm2v@!GcZ=`p1x0>4rw&g$d?a zxEF4>)|2VLwc989GeT5ep5L-2UGdOi!TxA+fah=%$({2Q6wW?n#U=eBaw5i!KNO=LqH)(?+I%iu?mYSJt*ImsHnx!xV1VD zz`E7Il9ihSi^}jG6_@3*9%>ef+=WXs*#MIBz*xbl&8=r!o4u>bpeBQc)5GK5$c@<}HD1L(zvr#EdT%~);G+wkz zdC*b`UZ50}B@5u|QC?igz*S6$_+=422)F9>Z$_4*l(Dz6M5PCjUY;KsU8dF@lxP!- zPm9JmD#|P!iPFO;!TkU>6e-)DbJye+Um3>PRoaIGvV4{IDs72j<1!Bz#|@k6&5P6b z2S=}8zHt-V1rw&i{B2#>aR}ColB5@v{IZr%+skuKR9BTHcp<9zc)>qwEz9B_0@;zV!dH@? z?vj?FJi_6n+$!F&IKzB!Na9C4mL0@}6vzrTZ~amhNC-lM6=0Rt`4UZ&dBgKBHC- z<`pPUa0K;_+Bcav$|D8rtef6q!l9zf1b%SbsjZrYg>BYVzFWNY^v(41#I*Ze^d*tY zxzeX(w=boS=fnlSmwUvz@}NI|tveii6VY|0g2y^3NdXDExONc!HcJwmUcAd=NHj}B zPZZ)DHqKaWN6Eo(sb_Fdk*v-l$1aoSna}5lz!(w;s*=+F(+nl^VVp%JSZszn`nH+2 zyOd_dRhGrSj8y57xMZgs@oMXzXtP+w|CXd2sWbNP>F@9&TMdr({oiL>&&Kxt@6OiF zWB%_4c|>rB+6BgQCfU|llvO~70ZuQ1!QlS{ZJVWR^w6GTUJU()o6@cf+Arb8e9*NKUrRJPAuh>}NHE5Ts zu2h{-u;5*Nq`zeuZPpl%<(tNr(V`pE)YQ}GSN$(!tI4HZTBqA0Rr zZQTT8oyx8qhOc3Yr-&yQ*Xfh*%kW!7*7Q4(HbBsv#3nfhWr+%Yng5%NyqM?Ydaa4l ztXb#7+W_zRO(b@OkgoC90&dj{dxhKhb>(0^Je=VqE>ODWK_I8ZWM4!2)A(lrUJRyS zePDM4i9&l??YH-f#t6;@n+U6yc$jVz+5#2;Mx=tt5hRdhe{alq`PAhEBW;{M1_3ej z-*13RbX^bp8lZzR6CYR!Dlpoa9<+IqOgiC=G0(9CSmWaY0FOn5BMTC-0! zEPCvTp#EAHQ@*dDJ}55AJ4k7-h^BDwD4!{aTL@=ZT$KA|f=~`{%C|yvvB{y<#qE;I z32BDxhQZj7Fg|voqvEE4@lj0w1;jL)79JT*$5Ok1X0>lEooVd{70ndkpH(i?w%wah zevvM2FO$6@`9-?0fb~HsKG){SwJuUvfFFxc6jxbT%;BJjgk)E6$oW4AK z|KiOLX8&&h>+}0>-hTf&R2QR!?24JUXv+Vfl60Sm= zL2vxad9%%39Dnou(Tn$Q4qm@lNoy3e4oanWG8ss%3`4aSQG%B}`$@b#^&+)65hc8cW zHCWq0zkF?jUJ~F(^JhmVHEF4Pt?@Xz(a{)Vrdi**cxEFo&MLc z)2XfGG1KYjY_-y9-CG;!FVaO%8@;wYU&EXmh?i)sF^ii*{W~o)$Zc zgDV6se#@Ff@*3t2Jff1!zrpMO#8Y+uY#a5?+I0OQ!|#A+-2!;Wz25-YrH-b)bM5E< zAN}NRlxi5i@QgQ$50Ex-AFTJH-`nYZQ1`{rvAlW>^Pfa7{0#OL#ucuiUZjf+6X7aX zP_zf`w*TN?Oo`BP{!sI~vDo4z*bwfs&~h!TIEV>gX8nc(@&p8dZYj|g^RI3@n_oO9 zjfs;Nhi_k;)|L(bS{s-WJt-<5c3sB*#k3>mR!_|+I%PxG5;Y?m9)nDx*iN`;zq z^;9JurPK=RvosbyowY#co~=$zqk*Xu1D4(If4@b?H_Zo%=hpr17S#1v-DotrZlk)_ zl12P9wb06hJBu;9qiFYf$tZAJY}?;?hoz+XQAT$4bgsGmX_ABq2bl9hLr>_Go%mGqC#CG&(XnrbtCKQX_s)cI zAb%+f;xkd1dd-K^m`sGX=u3WeloyV_i6(}h#y@vd^k_UeiZ?(5prFvuakoSw#=jql zoMalJ7RLj>)np%xZ(%rCh>iE2X5QJXps@XI??u8LjEMTkjecTV$qivKO!mQ|lN^Fa<`TSyqx9 zlG!kZ1m3PEWNyS(E>iG~0xEYS7?FAIp$jcmOqPZV?d5 z+T0rHMn+|U7Z>|zY>3HrSyNrNEWM~aV#14^C+c*fm$PcJL`$u???vk`cjB1WI(grT zG0xzbz0paYArgGFv2R|CCS#Vsh!$Ri#;2C{e;Ui#G@l3bC(i7Bj@XxrjY(HidN_}sBIXblZdSexJ?#+@08G3V8 z$d40oBio5DY{4c(zryWyl$a3gEwjd{BtI!?dF-RY44yEE_^kIkH0#csU46X0Yzc>o zqG{|Eh*U-DvEabHEg0v$mWjrxJK0gUTrbYuAqjNQ*wPQD1Qk;lp_`94`Wz90#~7^g zT|K4w!3%47oFIbM7_JTAY}I;W9e1e>I!0vwC=oA1FKy=aaNd7v>*w(??EhI-;NR#{ zK6#&K@q1X2tc>8DmjfO5Ka98bHtqZWcDA=4?f-{(J{SA{J2mucu5`_F^*mGV)MLHfkrs-?J;Tt(2Z7`E2}_Pk82OQy1?BdtXg`dN03xMMf@6(0!N=p z6SuhkWHM88Rozf{TwWd?zk5e;f`4O4B#%)Mp_IT2)JHz|lgK^{`@3VGkX3D%SdF*| zqPz+wV0YX+iK;c~HJWF|^*y(%1fqiP~;Xzg2nbRFK?WBC8X zH5IGP{@dyQ+uPi;^Z#z|J?8&?nCElx|A`A{R_*Vz!Ty!}d!p_A{CN#VHT`!@UON1B zD?XnoaC(m2f0vc*r#E@Tc#jZ(4s+A%0~7SM`n-;C+0*Iula_0XUl`;#py|o#(}xo7 zqM}?oNMjka>?FybXvs|)KM>kc*tpthpWo)hR1Lq%sdshbil+S$pPQ!j(ZM6`&GI zV)6SfT_vy$gX;Q>1|5Vgj^>Y!)|=;jsWH<=D4SI#muwOU$@%1K=h8CG=4S!aj20)E z+fM;}yp!L%F>KtRz3y+f9ZLz9H&op{e${Kx3KVTtt0=g_*?Ov0_Vao)-T@R#!m_#b zY`dR^H9Oo-f@7dg07dhtURS4HZ>u&}sxnujQt|@NVR6kA*koVnininyx|sAGl=G+u z4V$3x97dNYjg1+0Us*0R!Z*O(Na?|!TjT)gritH#Sk2E-anD@hDM403(QVcK>8q3b zN*jsd(^n_*RlEPn8x6KhV#yY3!0W#{eRb06F*+`?1&(i(k^2r>nIuXl(?9kd>$ld5 zrQ+H?|8wZ5?NNe^BjV|^&;!tPTmc{>_owqKF zf5c>Fr=DAS@uB4xeT7Rx)j0G0@^o~)%CoctGS6erI$g^gM-`RnYJao@aV63R-7@%O zi}pukp7&dUvL15=EBsZ~CBJ0nzBS2rS#~MbBmbS9TWgUatVlN0RDbI}FP(79tW7kk z?snS652)Mq*D9TO%DVC(jjf!(tG&fupz+_5EaQW$`S9nKEVq{tx06Y2lEqnPQ?O2^ zi0xHlY36M%&%DiBGjG#i-ck*_gYk#nFuRaR&l?e2n!rG=q zbfoa^Xhr?0PI-pNGFT5!5G<9#v-vToT{9lyBE727S;c+Z`Wi~csn zGPcALHpKF_!?HF*Ut8f0N5Z{^wHTRx!&$Xl)P(K${> z<&0|SVZ?OxEW1j<@GaQceLmUQeGUXe|D86!&~f)~`*LN^@o8s6<>`|=i%(Eg6_{Kf zW+_1*{40y*(Q1cr*Z>#8B+0Ih3%tMyx97Pk=}RV|BJQKIhxR+>~D3s_lf>Gh}}r*-8gfm@5dL)q5*UGFJ02G+YR z%_1id*ShQh_kZpEe{RJS?ge2NGu=H3pyU3BoxM$a|9@}q*<=3K2YEiD{eSaT%ozpt(0fZhYA%=nQ05 z#H`~2L2*&xNj06~58fNQyU=a`R}pHUeZN3Ofn&5kY^SY3)Elj``+|lQ5Y@a$!NoP> zGQz)##hNdoo{`0BN)c^F1;!Nsl&gIWR}HZ<-_|YW^9jicctJmvtGE)zf2LN$v*c|r zx0>QQz6l71j$1|8w^h!cQp4$(KNd-ji#$&vn4tgt=48df#-Quu@Zi;pAw}XR4SyJl zI>U&*8v3LW8K1VT>m}9^VzKbvUuf-Jq_ev zYGs$jJ(qDhgB)u%gMai-nZW!m#+*Muk`@En{aCFwocq2$24ey?4Z|l#5uRdxhPm~U zw?f{I@Ju%g1k7iDF>~NEymq^HTn&A*(Qzqv;ZMfzU-dL*1Ura`$W>Nceg>0*J*_h% z#ffunoKl0?eKX{&Zen94B%spQPO#swoqy-N)4|HbmVRmjCD@VmMnTcQsIidOk>LLk9W$0h@G z(5=E|C8wmHtVzIxF4xRLnt-}a;T%VLu9OA=XRQSIvXrQBgEJ3NmQ#qof1JoGn#gsu z2L-syY||r4+Gn`v&2p`-VxNoP)3tH`Fe~hw#2s^3+h2G|(7c|%3l(#Irod`m-igT^ z7|pC#Y;s5MmCtUk2)?@Q;ZEB?^jL@Ttemw>lfmk2D(JHNKcpCI zIc--TuVd38U>AxL$X;lJDERnEMY1WE|Ii|NQJ?EtMjorfa&6lm>WEf5FFfWMW3s?= z$1M(JFD_iCjaU_?A+$qo60uWtG^&fJL9^l7NNn6x_^%}*vnuC`7)c7~_ z3ePd|sgC->fBv`^J{%9r^xFij#bN;&rphZU6U#PdHTK0FydNF7#iyPWsE@s){7ecw z(PB8*^uG9S30+vbjlK^3{Y@{3ltG5 z%DY=6p#8-hm#%DJ%_L!}LmwTOj}FX72j=}cFpaZ5yzkpJ$HGxTm%KwZM6gVgTi8q<(quRj%b%Ln%PcgVQ^5?2FSDwM zP#G5J*NO=gDR^t^M8BWmlQAawC}uebbT3L=^cvmMsqy@hlkDcfBGn8ozD&5({0A zg9GkCe4G`;49mKMhrm0QdDl>uRt0k34J_^jmJRn@FsyFIXC1kU6G{eY@)9I_aI*ou z;UGhP^G+=bwP%9y%m0mASw#|I;3`O8p`wxf!(WnJjQ@Q6e5_C0UM=SUd~FwBo2{=) z^$;&w>xrtje+yz;y6O4YxN{iJ_0OIYVLgas%UwU2?1CnnN)Lsf`QcAZPMNd0k4u}$ zPgE4m#Xx~bRiqvZAAEMw`c|GLudLQ6p<_UL4y^L}GK-DEC45Jo8R`6sV!IZ z_XS@MYafz&3N3T?&9B0ai;QGZmfTT`c@>z1-#4wETh~Y^6A+vp9$PVwd4eNM=zGtR zQJ*-<1=M{Ga~W*kot_>qDf|>RR(E-HC(9`W1Kr7z_}(4eo|&|+8yo-f`AX_Xak*-7 zDLdaM&E%lDyDU3M(~PiNBvxRMd!?C%#R7VJ*`~p4ghkwgaO;C^mC~&*zLkkL17V|+ zZURz3G{u*pxS%||tjq2FTXcxT=8i<}@E_5u_v~F-Q=nOj1$@2uB*hDPNClM%9zjSYY zboS+e)}ra0geQ4{Q!-r(G}^u>L7EXT&8jpGHZ&%9c3fI@-GV2tXrNc;+zl#TrVE(h oSTNh{0`NuIMa@e0a~_|^=ka-b`ab_(00030|FX^SE&y@@000UWfB*mh literal 0 HcmV?d00001 diff --git a/stable/jellyfin/6.3.0/ix_values.yaml b/stable/jellyfin/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..0dd72de44a8 --- /dev/null +++ b/stable/jellyfin/6.3.0/ix_values.yaml @@ -0,0 +1,22 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: jellyfin/jellyfin + pullPolicy: IfNotPresent + tag: 10.7.6 + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/jellyfin/6.3.0/questions.yaml b/stable/jellyfin/6.3.0/questions.yaml new file mode 100644 index 00000000000..ec8132fb841 --- /dev/null +++ b/stable/jellyfin/6.3.0/questions.yaml @@ -0,0 +1,676 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8096 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8096 + editable: true + 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 + default: 36010 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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 + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/jellyfin/6.3.0/templates/common.yaml b/stable/jellyfin/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/jellyfin/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/jellyfin/6.3.0/test_values.yaml b/stable/jellyfin/6.3.0/test_values.yaml new file mode 100644 index 00000000000..8a0824cc8d0 --- /dev/null +++ b/stable/jellyfin/6.3.0/test_values.yaml @@ -0,0 +1,29 @@ +# Default values for jellyfin. + +image: + repository: jellyfin/jellyfin + pullPolicy: IfNotPresent + tag: 10.7.6 + +strategy: + type: Recreate + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] + +service: + main: + ports: + main: + port: 8096 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/jellyfin/6.3.0/values.yaml b/stable/jellyfin/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/kms/6.3.0/CONFIG.md b/stable/kms/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/kms/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/kms/6.3.0/Chart.lock b/stable/kms/6.3.0/Chart.lock new file mode 100644 index 00000000000..17089bbac84 --- /dev/null +++ b/stable/kms/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:19.613801088Z" diff --git a/stable/kms/6.3.0/Chart.yaml b/stable/kms/6.3.0/Chart.yaml new file mode 100644 index 00000000000..5bb3e55e8c8 --- /dev/null +++ b/stable/kms/6.3.0/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: minimal +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Private Windows Activation Server for development and testing +home: https://github.com/truecharts/apps/tree/master/charts/stable/kms +icon: https://truecharts.org/_static/img/kms-icon.jpg +keywords: +- kms +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: kms +sources: +- https://github.com/SystemRage/py-kms +type: application +version: 6.3.0 diff --git a/stable/kms/6.3.0/README.md b/stable/kms/6.3.0/README.md new file mode 100644 index 00000000000..adcb4b0894c --- /dev/null +++ b/stable/kms/6.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: minimal](https://img.shields.io/badge/AppVersion-minimal-informational?style=flat-square) + +Private Windows Activation Server for development and testing + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `kms` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `kms` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/kms/6.3.0/app-readme.md b/stable/kms/6.3.0/app-readme.md new file mode 100644 index 00000000000..79791f43227 --- /dev/null +++ b/stable/kms/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Private Windows Activation Server for development and testing +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Private Windows Activation Server for development and testing diff --git a/stable/kms/6.3.0/charts/common-6.5.0.tgz b/stable/kms/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/kms/6.3.0/ix_values.yaml b/stable/kms/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..05f3f76e0a3 --- /dev/null +++ b/stable/kms/6.3.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: pykmsorg/py-kms + pullPolicy: IfNotPresent + tag: minimal + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/kms/6.3.0/questions.yaml b/stable/kms/6.3.0/questions.yaml new file mode 100644 index 00000000000..e5e329bd0ce --- /dev/null +++ b/stable/kms/6.3.0/questions.yaml @@ -0,0 +1,395 @@ +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: "Advanced" + description: "Advanced Configuration" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: false + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - 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: port + label: "Container Port" + schema: + type: int + default: 1688 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 1688 + editable: true + 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 + default: 36011 + required: true + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/kms/6.3.0/templates/common.yaml b/stable/kms/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/kms/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/kms/6.3.0/test_values.yaml b/stable/kms/6.3.0/test_values.yaml new file mode 100644 index 00000000000..8aabb450d99 --- /dev/null +++ b/stable/kms/6.3.0/test_values.yaml @@ -0,0 +1,16 @@ +# Default values for KMS. + +image: + repository: pykmsorg/py-kms + pullPolicy: IfNotPresent + tag: minimal + +strategy: + type: Recreate + +service: + main: + ports: + main: + protocol: TCP + port: 1688 diff --git a/stable/kms/6.3.0/values.yaml b/stable/kms/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/lidarr/6.3.0/CONFIG.md b/stable/lidarr/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/lidarr/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/lidarr/6.3.0/Chart.lock b/stable/lidarr/6.3.0/Chart.lock new file mode 100644 index 00000000000..458c3f35a5d --- /dev/null +++ b/stable/lidarr/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:21.392259542Z" diff --git a/stable/lidarr/6.3.0/Chart.yaml b/stable/lidarr/6.3.0/Chart.yaml new file mode 100644 index 00000000000..78d3491620b --- /dev/null +++ b/stable/lidarr/6.3.0/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Looks and smells like Sonarr but made for music +home: https://github.com/truecharts/apps/tree/master/charts/stable/lidarr +icon: https://avatars3.githubusercontent.com/u/28475832?s=400&v=4 +keywords: +- lidarr +- torrent +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: lidarr +sources: +- https://github.com/Lidarr/Lidarr +type: application +version: 6.3.0 diff --git a/stable/lidarr/6.3.0/README.md b/stable/lidarr/6.3.0/README.md new file mode 100644 index 00000000000..96a60d790ac --- /dev/null +++ b/stable/lidarr/6.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Looks and smells like Sonarr but made for music + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `lidarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `lidarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/lidarr/6.3.0/app-readme.md b/stable/lidarr/6.3.0/app-readme.md new file mode 100644 index 00000000000..399c4eb028a --- /dev/null +++ b/stable/lidarr/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Looks and smells like Sonarr but made for music +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Looks and smells like Sonarr but made for music diff --git a/stable/lidarr/6.3.0/charts/common-6.5.0.tgz b/stable/lidarr/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/lidarr/6.3.0/ix_values.yaml b/stable/lidarr/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..81101f40995 --- /dev/null +++ b/stable/lidarr/6.3.0/ix_values.yaml @@ -0,0 +1,37 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/lidarr + pullPolicy: IfNotPresent + tag: v1.0.0.2248 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8686/api/v1/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/lidarr/6.3.0/questions.yaml b/stable/lidarr/6.3.0/questions.yaml new file mode 100644 index 00000000000..222a3769bb8 --- /dev/null +++ b/stable/lidarr/6.3.0/questions.yaml @@ -0,0 +1,667 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8686 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8686 + editable: true + 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 + default: 36012 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/lidarr/6.3.0/templates/common.yaml b/stable/lidarr/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/lidarr/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/lidarr/6.3.0/test_values.yaml b/stable/lidarr/6.3.0/test_values.yaml new file mode 100644 index 00000000000..46372399a4a --- /dev/null +++ b/stable/lidarr/6.3.0/test_values.yaml @@ -0,0 +1,47 @@ +# Default values for Lidarr. + +image: + repository: ghcr.io/k8s-at-home/lidarr + pullPolicy: IfNotPresent + tag: v1.0.0.2248 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8686 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8686/api/v1/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/lidarr/6.3.0/values.yaml b/stable/lidarr/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/ombi/6.3.0/CONFIG.md b/stable/ombi/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/ombi/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/ombi/6.3.0/Chart.lock b/stable/ombi/6.3.0/Chart.lock new file mode 100644 index 00000000000..6b023f852e5 --- /dev/null +++ b/stable/ombi/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:23.169344097Z" diff --git a/stable/ombi/6.3.0/Chart.yaml b/stable/ombi/6.3.0/Chart.yaml new file mode 100644 index 00000000000..d6415f99ab7 --- /dev/null +++ b/stable/ombi/6.3.0/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Want a Movie or TV Show on Plex or Emby? Use Ombi! +home: https://github.com/truecharts/apps/tree/master/charts/stable/ombi +icon: https://img3.androidappsapk.co/wiLDnuwrCWctiiW62ALcj4eIpNbzeRH_UNPo7eqlpYvGkCQYSTybaI4xVRLKGjnlamlV=s300 +keywords: +- ombi +- plex +- emby +- sonarr +- radarr +- couchpotato +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: ombi +sources: +- https://github.com/tidusjar/Ombi +type: application +version: 6.3.0 diff --git a/stable/ombi/6.3.0/README.md b/stable/ombi/6.3.0/README.md new file mode 100644 index 00000000000..36412dc68a9 --- /dev/null +++ b/stable/ombi/6.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Want a Movie or TV Show on Plex or Emby? Use Ombi! + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `ombi` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `ombi` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/ombi/6.3.0/app-readme.md b/stable/ombi/6.3.0/app-readme.md new file mode 100644 index 00000000000..b573c95c432 --- /dev/null +++ b/stable/ombi/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Want a Movie or TV Show on Plex or Emby? Use Ombi! +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Want a Movie or TV Show on Plex or Emby? Use Ombi! diff --git a/stable/ombi/6.3.0/charts/common-6.5.0.tgz b/stable/ombi/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/ombi/6.3.0/ix_values.yaml b/stable/ombi/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..4ae066e7a8d --- /dev/null +++ b/stable/ombi/6.3.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/ombi + pullPolicy: IfNotPresent + tag: v4.0.1432 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/ombi/6.3.0/questions.yaml b/stable/ombi/6.3.0/questions.yaml new file mode 100644 index 00000000000..01a745b0334 --- /dev/null +++ b/stable/ombi/6.3.0/questions.yaml @@ -0,0 +1,667 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 3579 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3579 + editable: true + 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 + default: 36013 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/ombi/6.3.0/templates/common.yaml b/stable/ombi/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/ombi/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/ombi/6.3.0/test_values.yaml b/stable/ombi/6.3.0/test_values.yaml new file mode 100644 index 00000000000..397828683e5 --- /dev/null +++ b/stable/ombi/6.3.0/test_values.yaml @@ -0,0 +1,40 @@ +# Default values for Ombi. + +image: + repository: ghcr.io/truecharts/ombi + pullPolicy: IfNotPresent + tag: v4.0.1432 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 3579 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir + + +# Enabled mariadb +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/mariadb +mariadb: + enabled: false + architecture: standalone + auth: + database: ombi + username: ombi + password: ombi + primary: + persistence: + enabled: false diff --git a/stable/ombi/6.3.0/values.yaml b/stable/ombi/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/plex/5.3.0/CONFIG.md b/stable/plex/5.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/plex/5.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/plex/5.3.0/Chart.lock b/stable/plex/5.3.0/Chart.lock new file mode 100644 index 00000000000..1b5df8a8a31 --- /dev/null +++ b/stable/plex/5.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:24.937169392Z" diff --git a/stable/plex/5.3.0/Chart.yaml b/stable/plex/5.3.0/Chart.yaml new file mode 100644 index 00000000000..a260b5eda01 --- /dev/null +++ b/stable/plex/5.3.0/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Plex Media Server +home: https://github.com/truecharts/apps/tree/master/charts/stable/plex +icon: https://www.plex.tv/wp-content/uploads/2018/01/pmp-icon-1.png +keywords: +- plex +- plex-media-server +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: plex +sources: null +type: application +version: 5.3.0 diff --git a/stable/plex/5.3.0/README.md b/stable/plex/5.3.0/README.md new file mode 100644 index 00000000000..816852474a8 --- /dev/null +++ b/stable/plex/5.3.0/README.md @@ -0,0 +1,52 @@ +# Introduction + +![Version: 5.2.9](https://img.shields.io/badge/Version-5.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Plex Media Server + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + + + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `plex` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `plex` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/plex/5.3.0/app-readme.md b/stable/plex/5.3.0/app-readme.md new file mode 100644 index 00000000000..4d5dfd7c1f2 --- /dev/null +++ b/stable/plex/5.3.0/app-readme.md @@ -0,0 +1,3 @@ +Plex Media Server +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Plex Media Server diff --git a/stable/plex/5.3.0/charts/common-6.5.0.tgz b/stable/plex/5.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/plex/5.3.0/ix_values.yaml b/stable/plex/5.3.0/ix_values.yaml new file mode 100644 index 00000000000..9d1a18c2fb7 --- /dev/null +++ b/stable/plex/5.3.0/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/plex + pullPolicy: IfNotPresent + tag: v1.22.3.4523-d0ce30438 + +# 44=video 107=render +podSecurityContext: + supplementalGroups: [44, 107] + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/plex/5.3.0/questions.yaml b/stable/plex/5.3.0/questions.yaml new file mode 100644 index 00000000000..60fd5dc5c03 --- /dev/null +++ b/stable/plex/5.3.0/questions.yaml @@ -0,0 +1,695 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" + path: "/web" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: ADVERTISE_IP + label: "Advertise IP" + description: "IP to advertise to Plex" + schema: + type: string + default: "" + - 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/16" + - variable: PLEX_CLAIM + label: "Plex Claim Token" + description: "Claim token to use to register the plex server (Max. 4 minutes old!)" + schema: + type: string + default: "" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 32400 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 32400 + editable: true + 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 + default: 32400 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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 + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/plex/5.3.0/templates/common.yaml b/stable/plex/5.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/plex/5.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/plex/5.3.0/test_values.yaml b/stable/plex/5.3.0/test_values.yaml new file mode 100644 index 00000000000..de9333ff0a2 --- /dev/null +++ b/stable/plex/5.3.0/test_values.yaml @@ -0,0 +1,32 @@ +# Default values for Plex. + +image: + repository: ghcr.io/k8s-at-home/plex + pullPolicy: IfNotPresent + tag: v1.22.3.4523-d0ce30438 + +strategy: + type: Recreate + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] + +service: + main: + ports: + main: + port: 32400 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir + +env: + ALLOWED_NETWORKS: "172.16.0.0/16" diff --git a/stable/plex/5.3.0/values.yaml b/stable/plex/5.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/radarr/6.3.0/CONFIG.md b/stable/radarr/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/radarr/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/radarr/6.3.0/Chart.lock b/stable/radarr/6.3.0/Chart.lock new file mode 100644 index 00000000000..b3c56661449 --- /dev/null +++ b/stable/radarr/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:26.699453771Z" diff --git a/stable/radarr/6.3.0/Chart.yaml b/stable/radarr/6.3.0/Chart.yaml new file mode 100644 index 00000000000..afbbea92a71 --- /dev/null +++ b/stable/radarr/6.3.0/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: "A fork of Sonarr to work with movies \xE0 la Couchpotato" +home: https://github.com/truecharts/apps/tree/master/charts/stable/radarr +icon: https://nzbusenet.com/wp-content/uploads/2017/10/radarr-logo.png +keywords: +- radarr +- torrent +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: radarr +sources: +- https://github.com/Radarr/Radarr +type: application +version: 6.3.0 diff --git a/stable/radarr/6.3.0/README.md b/stable/radarr/6.3.0/README.md new file mode 100644 index 00000000000..c8b5f795304 --- /dev/null +++ b/stable/radarr/6.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +A fork of Sonarr to work with movies à la Couchpotato + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `radarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `radarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/radarr/6.3.0/app-readme.md b/stable/radarr/6.3.0/app-readme.md new file mode 100644 index 00000000000..a48f3396005 --- /dev/null +++ b/stable/radarr/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +A fork of Sonarr to work with movies à la Couchpotato +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +"A fork of Sonarr to work with movies \xE0 la Couchpotato" diff --git a/stable/radarr/6.3.0/charts/common-6.5.0.tgz b/stable/radarr/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/radarr/6.3.0/ix_values.yaml b/stable/radarr/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..095e494f526 --- /dev/null +++ b/stable/radarr/6.3.0/ix_values.yaml @@ -0,0 +1,37 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/radarr + pullPolicy: IfNotPresent + tag: v3.2.2.5080 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:7878/api/v3/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/radarr/6.3.0/questions.yaml b/stable/radarr/6.3.0/questions.yaml new file mode 100644 index 00000000000..c32f1ca174a --- /dev/null +++ b/stable/radarr/6.3.0/questions.yaml @@ -0,0 +1,667 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 7878 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 7878 + editable: true + 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 + default: 36016 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/radarr/6.3.0/templates/common.yaml b/stable/radarr/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/radarr/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/radarr/6.3.0/test_values.yaml b/stable/radarr/6.3.0/test_values.yaml new file mode 100644 index 00000000000..64bfadaa7d0 --- /dev/null +++ b/stable/radarr/6.3.0/test_values.yaml @@ -0,0 +1,47 @@ +# Default values for Radarr. + +image: + repository: ghcr.io/k8s-at-home/radarr + pullPolicy: IfNotPresent + tag: v3.2.2.5080 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 7878 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:7878/api/v3/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/radarr/6.3.0/values.yaml b/stable/radarr/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/sonarr/6.3.0/CONFIG.md b/stable/sonarr/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/sonarr/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/sonarr/6.3.0/Chart.lock b/stable/sonarr/6.3.0/Chart.lock new file mode 100644 index 00000000000..0e3fa1eb2d8 --- /dev/null +++ b/stable/sonarr/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:28.412431697Z" diff --git a/stable/sonarr/6.3.0/Chart.yaml b/stable/sonarr/6.3.0/Chart.yaml new file mode 100644 index 00000000000..09926909a4a --- /dev/null +++ b/stable/sonarr/6.3.0/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Smart PVR for newsgroup and bittorrent users +home: https://github.com/truecharts/apps/tree/master/charts/stable/sonarr +icon: https://github.com/Sonarr/Sonarr/blob/phantom-develop/Logo/512.png?raw=true +keywords: +- sonarr +- torrent +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: sonarr +sources: +- https://github.com/Sonarr/Sonarr +type: application +version: 6.3.0 diff --git a/stable/sonarr/6.3.0/README.md b/stable/sonarr/6.3.0/README.md new file mode 100644 index 00000000000..e6e406f0f33 --- /dev/null +++ b/stable/sonarr/6.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Smart PVR for newsgroup and bittorrent users + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `sonarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `sonarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/sonarr/6.3.0/app-readme.md b/stable/sonarr/6.3.0/app-readme.md new file mode 100644 index 00000000000..07c189ecff0 --- /dev/null +++ b/stable/sonarr/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Smart PVR for newsgroup and bittorrent users +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Smart PVR for newsgroup and bittorrent users diff --git a/stable/sonarr/6.3.0/charts/common-6.5.0.tgz b/stable/sonarr/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/sonarr/6.3.0/ix_values.yaml b/stable/sonarr/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..9d410bd464d --- /dev/null +++ b/stable/sonarr/6.3.0/ix_values.yaml @@ -0,0 +1,37 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/sonarr + pullPolicy: IfNotPresent + tag: v3.0.6.1265 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8989/api/v3/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/sonarr/6.3.0/questions.yaml b/stable/sonarr/6.3.0/questions.yaml new file mode 100644 index 00000000000..97ed649e75a --- /dev/null +++ b/stable/sonarr/6.3.0/questions.yaml @@ -0,0 +1,667 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8989 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8989 + editable: true + 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 + default: 36017 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/sonarr/6.3.0/templates/common.yaml b/stable/sonarr/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/sonarr/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/sonarr/6.3.0/test_values.yaml b/stable/sonarr/6.3.0/test_values.yaml new file mode 100644 index 00000000000..4715fabc443 --- /dev/null +++ b/stable/sonarr/6.3.0/test_values.yaml @@ -0,0 +1,47 @@ +# Default values for Sonarr. + +image: + repository: ghcr.io/k8s-at-home/sonarr + pullPolicy: IfNotPresent + tag: v3.0.6.1265 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8989 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8989/api/v3/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/sonarr/6.3.0/values.yaml b/stable/sonarr/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/syncthing/6.3.0/CONFIG.md b/stable/syncthing/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/syncthing/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/syncthing/6.3.0/Chart.lock b/stable/syncthing/6.3.0/Chart.lock new file mode 100644 index 00000000000..9d0ef1a16ee --- /dev/null +++ b/stable/syncthing/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:30.190507638Z" diff --git a/stable/syncthing/6.3.0/Chart.yaml b/stable/syncthing/6.3.0/Chart.yaml new file mode 100644 index 00000000000..f3c2e49a4b8 --- /dev/null +++ b/stable/syncthing/6.3.0/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: P2P file synchronization application +home: https://github.com/truecharts/apps/tree/master/charts/stable/syncthing +icon: https://raw.githubusercontent.com/syncthing/syncthing/main/assets/logo-128.png +keywords: +- syncthing +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: luuk@nieuwdorp.me + name: luuknieuwdorp + url: nieuwdorp.me +name: syncthing +sources: +- https://syncthing.net/ +- https://github.com/syncthing/syncthing +- https://hub.docker.com/r/syncthing/syncthing +type: application +version: 6.3.0 diff --git a/stable/syncthing/6.3.0/README.md b/stable/syncthing/6.3.0/README.md new file mode 100644 index 00000000000..96f15ccc744 --- /dev/null +++ b/stable/syncthing/6.3.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +P2P file synchronization application + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `syncthing` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `syncthing` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/syncthing/6.3.0/app-readme.md b/stable/syncthing/6.3.0/app-readme.md new file mode 100644 index 00000000000..7eaa0780e0e --- /dev/null +++ b/stable/syncthing/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +P2P file synchronization application +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +P2P file synchronization application diff --git a/stable/syncthing/6.3.0/charts/common-6.5.0.tgz b/stable/syncthing/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/syncthing/6.3.0/ix_values.yaml b/stable/syncthing/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..f193ef8abcf --- /dev/null +++ b/stable/syncthing/6.3.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: syncthing/syncthing + pullPolicy: IfNotPresent + tag: "1.17" + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/syncthing/6.3.0/questions.yaml b/stable/syncthing/6.3.0/questions.yaml new file mode 100644 index 00000000000..85d40a6e38e --- /dev/null +++ b/stable/syncthing/6.3.0/questions.yaml @@ -0,0 +1,928 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8384 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8384 + editable: true + 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 + default: 36024 + required: true + - variable: listeners + label: "Syncthing Listening Service" + description: "This service is used to process incoming connections directly to this Syncthing instance" + schema: + 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: "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: "" + required: true + - variable: exetrnalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + required: true + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - 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: port + label: "Container Port" + schema: + type: int + default: 22000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 22000 + editable: true + 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 + default: 22000 + required: true + - variable: udp + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 22000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 22000 + editable: true + 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 + default: 22000 + required: true + - variable: discovery + label: "Syncthing Listening Service" + description: "This service is used to process incoming connections directly to this Syncthing instance" + schema: + 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: "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: "" + required: true + - variable: exetrnalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + required: true + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: discovery + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 21027 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 21027 + editable: true + 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 + default: 21027 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/var/syncthing" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/syncthing/6.3.0/templates/common.yaml b/stable/syncthing/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/syncthing/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/syncthing/6.3.0/test_values.yaml b/stable/syncthing/6.3.0/test_values.yaml new file mode 100644 index 00000000000..7510fdadbc0 --- /dev/null +++ b/stable/syncthing/6.3.0/test_values.yaml @@ -0,0 +1,38 @@ +# Default values for Syncthing. + +image: + repository: syncthing/syncthing + pullPolicy: IfNotPresent + tag: "1.17" + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8384 + listeners: + ports: + tcp: + enabled: true + port: 22000 + protocol: TCP + udp: + enabled: true + port: 22000 + protocol: UDP + discovery: + ports: + discovery: + enabled: true + port: 21027 + protocol: UDP + +persistence: + config: + enabled: true + type: emptyDir + + mountPath: "/var/syncthing/" diff --git a/stable/syncthing/6.3.0/values.yaml b/stable/syncthing/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/tautulli/6.3.0/CONFIG.md b/stable/tautulli/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/tautulli/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/tautulli/6.3.0/Chart.lock b/stable/tautulli/6.3.0/Chart.lock new file mode 100644 index 00000000000..f2d30302ec7 --- /dev/null +++ b/stable/tautulli/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:31.92154484Z" diff --git a/stable/tautulli/6.3.0/Chart.yaml b/stable/tautulli/6.3.0/Chart.yaml new file mode 100644 index 00000000000..32feb72f0f6 --- /dev/null +++ b/stable/tautulli/6.3.0/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: A Python based monitoring and tracking tool for Plex Media Server +home: https://github.com/truecharts/apps/tree/master/charts/stable/tautulli +icon: https://github.com/Tautulli/Tautulli/blob/master/data/interfaces/default/images/logo.png?raw=true +keywords: +- tautulli +- plex +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: tautulli +sources: +- https://github.com/Tautulli/Tautulli +type: application +version: 6.3.0 diff --git a/stable/tautulli/6.3.0/README.md b/stable/tautulli/6.3.0/README.md new file mode 100644 index 00000000000..4d931117e2b --- /dev/null +++ b/stable/tautulli/6.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +A Python based monitoring and tracking tool for Plex Media Server + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `tautulli` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `tautulli` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/tautulli/6.3.0/app-readme.md b/stable/tautulli/6.3.0/app-readme.md new file mode 100644 index 00000000000..4286929041b --- /dev/null +++ b/stable/tautulli/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +A Python based monitoring and tracking tool for Plex Media Server +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A Python based monitoring and tracking tool for Plex Media Server diff --git a/stable/tautulli/6.3.0/charts/common-6.5.0.tgz b/stable/tautulli/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/tautulli/6.3.0/ix_values.yaml b/stable/tautulli/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..0c644bf8078 --- /dev/null +++ b/stable/tautulli/6.3.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/tautulli + pullPolicy: IfNotPresent + tag: v2.7.4 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/tautulli/6.3.0/questions.yaml b/stable/tautulli/6.3.0/questions.yaml new file mode 100644 index 00000000000..10d3ff06ad8 --- /dev/null +++ b/stable/tautulli/6.3.0/questions.yaml @@ -0,0 +1,667 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8181 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8181 + editable: true + 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 + default: 36018 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/tautulli/6.3.0/templates/common.yaml b/stable/tautulli/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/tautulli/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/tautulli/6.3.0/test_values.yaml b/stable/tautulli/6.3.0/test_values.yaml new file mode 100644 index 00000000000..472d124199a --- /dev/null +++ b/stable/tautulli/6.3.0/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Tautulli. + +image: + repository: ghcr.io/k8s-at-home/tautulli + pullPolicy: IfNotPresent + tag: v2.7.4 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8181 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/tautulli/6.3.0/values.yaml b/stable/tautulli/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/traefik/6.4.0/CONFIG.md b/stable/traefik/6.4.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/traefik/6.4.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/traefik/6.4.0/Chart.lock b/stable/traefik/6.4.0/Chart.lock new file mode 100644 index 00000000000..8bc13a93f53 --- /dev/null +++ b/stable/traefik/6.4.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:33.671865256Z" diff --git a/stable/traefik/6.4.0/Chart.yaml b/stable/traefik/6.4.0/Chart.yaml new file mode 100644 index 00000000000..ce6c5c5bfc5 --- /dev/null +++ b/stable/traefik/6.4.0/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: '2.4' +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: A Traefik based Reverse Proxy and Certificate Manager +home: https://github.com/truecharts/apps/tree/master/charts/stable/traefik +icon: https://raw.githubusercontent.com/traefik/traefik/v2.3/docs/content/assets/img/traefik.logo.png +keywords: +- traefik +- ingress +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: traefik +sources: +- https://github.com/traefik/traefik +- https://github.com/traefik/traefik-helm-chart +- https://traefik.io/ +type: application +upstream_version: v9.19.2 +version: 6.4.0 diff --git a/stable/traefik/6.4.0/LICENSE b/stable/traefik/6.4.0/LICENSE new file mode 100644 index 00000000000..907ff83212c --- /dev/null +++ b/stable/traefik/6.4.0/LICENSE @@ -0,0 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2020 Containous + Copyright 2020 Traefik Labs + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/stable/traefik/6.4.0/README.md b/stable/traefik/6.4.0/README.md new file mode 100644 index 00000000000..c60122da9cc --- /dev/null +++ b/stable/traefik/6.4.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 6.3.16](https://img.shields.io/badge/Version-6.3.16-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.4](https://img.shields.io/badge/AppVersion-2.4-informational?style=flat-square) + +A Traefik based Reverse Proxy and Certificate Manager + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `traefik` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `traefik` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/traefik/6.4.0/app-readme.md b/stable/traefik/6.4.0/app-readme.md new file mode 100644 index 00000000000..753f84f7068 --- /dev/null +++ b/stable/traefik/6.4.0/app-readme.md @@ -0,0 +1,3 @@ +A Traefik based Reverse Proxy and Certificate Manager +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A Traefik based Reverse Proxy and Certificate Manager diff --git a/stable/traefik/6.4.0/charts/common-6.5.0.tgz b/stable/traefik/6.4.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/traefik/6.4.0/crds/ingressroute.yaml b/stable/traefik/6.4.0/crds/ingressroute.yaml new file mode 100644 index 00000000000..9422be3c878 --- /dev/null +++ b/stable/traefik/6.4.0/crds/ingressroute.yaml @@ -0,0 +1,12 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: ingressroutes.traefik.containo.us +spec: + group: traefik.containo.us + version: v1alpha1 + names: + kind: IngressRoute + plural: ingressroutes + singular: ingressroute + scope: Namespaced diff --git a/stable/traefik/6.4.0/crds/ingressroutetcp.yaml b/stable/traefik/6.4.0/crds/ingressroutetcp.yaml new file mode 100644 index 00000000000..b50eb9dcc46 --- /dev/null +++ b/stable/traefik/6.4.0/crds/ingressroutetcp.yaml @@ -0,0 +1,12 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: ingressroutetcps.traefik.containo.us +spec: + group: traefik.containo.us + version: v1alpha1 + names: + kind: IngressRouteTCP + plural: ingressroutetcps + singular: ingressroutetcp + scope: Namespaced diff --git a/stable/traefik/6.4.0/crds/ingressrouteudp.yaml b/stable/traefik/6.4.0/crds/ingressrouteudp.yaml new file mode 100644 index 00000000000..d7c2624b576 --- /dev/null +++ b/stable/traefik/6.4.0/crds/ingressrouteudp.yaml @@ -0,0 +1,13 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: ingressrouteudps.traefik.containo.us + +spec: + group: traefik.containo.us + version: v1alpha1 + names: + kind: IngressRouteUDP + plural: ingressrouteudps + singular: ingressrouteudp + scope: Namespaced diff --git a/stable/traefik/6.4.0/crds/middlewares.yaml b/stable/traefik/6.4.0/crds/middlewares.yaml new file mode 100644 index 00000000000..513b36f5d8a --- /dev/null +++ b/stable/traefik/6.4.0/crds/middlewares.yaml @@ -0,0 +1,12 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: middlewares.traefik.containo.us +spec: + group: traefik.containo.us + version: v1alpha1 + names: + kind: Middleware + plural: middlewares + singular: middleware + scope: Namespaced diff --git a/stable/traefik/6.4.0/crds/serverstransports.yaml b/stable/traefik/6.4.0/crds/serverstransports.yaml new file mode 100644 index 00000000000..689a57f71bd --- /dev/null +++ b/stable/traefik/6.4.0/crds/serverstransports.yaml @@ -0,0 +1,12 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: serverstransports.traefik.containo.us +spec: + group: traefik.containo.us + version: v1alpha1 + names: + kind: ServersTransport + plural: serverstransports + singular: serverstransport + scope: Namespaced diff --git a/stable/traefik/6.4.0/crds/tlsoptions.yaml b/stable/traefik/6.4.0/crds/tlsoptions.yaml new file mode 100644 index 00000000000..a0c2573fb93 --- /dev/null +++ b/stable/traefik/6.4.0/crds/tlsoptions.yaml @@ -0,0 +1,12 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: tlsoptions.traefik.containo.us +spec: + group: traefik.containo.us + version: v1alpha1 + names: + kind: TLSOption + plural: tlsoptions + singular: tlsoption + scope: Namespaced diff --git a/stable/traefik/6.4.0/crds/tlsstores.yaml b/stable/traefik/6.4.0/crds/tlsstores.yaml new file mode 100644 index 00000000000..f9a40052ba6 --- /dev/null +++ b/stable/traefik/6.4.0/crds/tlsstores.yaml @@ -0,0 +1,13 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: tlsstores.traefik.containo.us + +spec: + group: traefik.containo.us + version: v1alpha1 + names: + kind: TLSStore + plural: tlsstores + singular: tlsstore + scope: Namespaced diff --git a/stable/traefik/6.4.0/crds/traefikservices.yaml b/stable/traefik/6.4.0/crds/traefikservices.yaml new file mode 100644 index 00000000000..59fa4839477 --- /dev/null +++ b/stable/traefik/6.4.0/crds/traefikservices.yaml @@ -0,0 +1,12 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: traefikservices.traefik.containo.us +spec: + group: traefik.containo.us + version: v1alpha1 + names: + kind: TraefikService + plural: traefikservices + singular: traefikservice + scope: Namespaced diff --git a/stable/traefik/6.4.0/ix_values.yaml b/stable/traefik/6.4.0/ix_values.yaml new file mode 100644 index 00000000000..b8247bf1ca9 --- /dev/null +++ b/stable/traefik/6.4.0/ix_values.yaml @@ -0,0 +1,329 @@ +# Default values for Traefik +image: + name: traefik + # defaults to appVersion + tag: v2.4 + pullPolicy: IfNotPresent + +# +# Configure the deployment +# +deployment: + enabled: true + # Can be either Deployment or DaemonSet + kind: Deployment + # Number of pods of the deployment (only applies when kind == Deployment) + replicas: 1 + # Additional deployment annotations (e.g. for jaeger-operator sidecar injection) + annotations: {} + # Additional deployment labels (e.g. for filtering deployment by custom labels) + labels: {} + # Additional pod annotations (e.g. for mesh injection or prometheus scraping) + podAnnotations: {} + # Additional Pod labels (e.g. for filtering Pod by custom labels) + podLabels: {} + # Additional containers (e.g. for metric offloading sidecars) + additionalContainers: [] + # https://docs.datadoghq.com/developers/dogstatsd/unix_socket/?tab=host + # - name: socat-proxy + # image: alpine/socat:1.0.5 + # args: ["-s", "-u", "udp-recv:8125", "unix-sendto:/socket/socket"] + # volumeMounts: + # - name: dsdsocket + # mountPath: /socket + # Additional volumes available for use with initContainers and additionalContainers + additionalVolumes: [] + # - name: dsdsocket + # hostPath: + # path: /var/run/statsd-exporter + # Additional initContainers (e.g. for setting file permission as shown below) + initContainers: [] + # The "volume-permissions" init container is required if you run into permission issues. + # Related issue: https://github.com/traefik/traefik/issues/6972 + # - name: volume-permissions + # image: busybox:1.31.1 + # command: ["sh", "-c", "chmod -Rv 600 /data/*"] + # volumeMounts: + # - name: data + # mountPath: /data + # Custom pod DNS policy. Apply if `hostNetwork: true` + # dnsPolicy: ClusterFirstWithHostNet + # Additional imagePullSecrets + imagePullSecrets: [] + # - name: myRegistryKeySecretName + +# Pod disruption budget +podDisruptionBudget: + enabled: false + # maxUnavailable: 1 + # minAvailable: 0 + +# Use ingressClass. Ignored if Traefik version < 2.3 / kubernetes < 1.18.x +ingressClass: + # true is not unit-testable yet, pending https://github.com/rancher/helm-unittest/pull/12 + enabled: false + isDefaultClass: false + # Use to force a networking.k8s.io API Version for certain CI/CD applications. E.g. "v1beta1" + fallbackApiVersion: + +# Activate Pilot integration +pilot: + enabled: false + token: "" + # Toggle Pilot Dashboard + # dashboard: false + +# Enable experimental features +experimental: + plugins: + enabled: false + kubernetesGateway: + enabled: false + appLabelSelector: "traefik" + certificates: [] + # - group: "core" + # kind: "Secret" + # name: "mysecret" + +# Create an IngressRoute for the dashboard +ingressRoute: + dashboard: + enabled: true + # Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class) + annotations: {} + # Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels) + labels: {} + +rollingUpdate: + maxUnavailable: 1 + maxSurge: 1 + + +# +# Configure providers +# +providers: + kubernetesCRD: + enabled: true + namespaces: [] + # - "default" + kubernetesIngress: + enabled: true + # labelSelector: environment=production,method=traefik + namespaces: [] + # - "default" + # IP used for Kubernetes Ingress endpoints + publishedService: + enabled: false + # Published Kubernetes Service to copy status from. Format: namespace/servicename + # By default this Traefik service + # pathOverride: "" + +# +# Add volumes to the traefik pod. The volume name will be passed to tpl. +# This can be used to mount a cert pair or a configmap that holds a config.toml file. +# After the volume has been mounted, add the configs into traefik by using the `additionalArguments` list below, eg: +# additionalArguments: +# - "--providers.file.filename=/config/dynamic.toml" +# - "--ping" +# - "--ping.entrypoint=web" +volumes: [] +# - name: public-cert +# mountPath: "/certs" +# type: secret +# - name: '{{ printf "%s-configs" .Release.Name }}' +# mountPath: "/config" +# type: configMap + +# Additional volumeMounts to add to the Traefik container +additionalVolumeMounts: [] + # For instance when using a logshipper for access logs + # - name: traefik-logs + # mountPath: /var/log/traefik + +# Logs +# https://docs.traefik.io/observability/logs/ +logs: + # Traefik logs concern everything that happens to Traefik itself (startup, configuration, events, shutdown, and so on). + general: + # By default, the logs use a text format (common), but you can + # also ask for the json format in the format option + # format: json + # By default, the level is set to ERROR. Alternative logging levels are DEBUG, PANIC, FATAL, ERROR, WARN, and INFO. + level: INFO + access: + # To enable access logs + enabled: false + # By default, logs are written using the Common Log Format (CLF). + # To write logs in JSON, use json in the format option. + # If the given format is unsupported, the default (CLF) is used instead. + # format: json + # To write the logs in an asynchronous fashion, specify a bufferingSize option. + # This option represents the number of log lines Traefik will keep in memory before writing + # them to the selected output. In some cases, this option can greatly help performances. + # bufferingSize: 100 + # Filtering https://docs.traefik.io/observability/access-logs/#filtering + filters: {} + # statuscodes: "200,300-302" + # retryattempts: true + # minduration: 10ms + # Fields + # https://docs.traefik.io/observability/access-logs/#limiting-the-fieldsincluding-headers + fields: + general: + defaultmode: keep + names: {} + # Examples: + # ClientUsername: drop + headers: + defaultmode: drop + names: {} + # Examples: + # User-Agent: redact + # Authorization: drop + # Content-Type: keep + +globalArguments: + - "--global.checknewversion" + +# +# Configure Traefik static configuration +# Additional arguments to be passed at Traefik's binary +# All available options available on https://docs.traefik.io/reference/static-configuration/cli/ +## Use curly braces to pass values: `helm install --set="additionalArguments={--providers.kubernetesingress.ingressclass=traefik-internal,--log.level=DEBUG}"` +additionalArguments: + - "--metrics.prometheus" + - "--ping" + - "--serverstransport.insecureskipverify=true" + +# Environment variables to be passed to Traefik's binary +env: [] +# - name: SOME_VAR +# value: some-var-value +# - name: SOME_VAR_FROM_CONFIG_MAP +# valueFrom: +# configMapRef: +# name: configmap-name +# key: config-key +# - name: SOME_SECRET +# valueFrom: +# secretKeyRef: +# name: secret-name +# key: secret-key + +envFrom: [] + +# TLS Options are created as TLSOption CRDs +# https://doc.traefik.io/traefik/https/tls/#tls-options +# Example: +tlsOptions: + default: + sniStrict: false + minVersion: VersionTLS12 + curvePreferences: + - CurveP521 + - CurveP384 + cipherSuites: + - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 + - TLS_AES_128_GCM_SHA256 + - TLS_AES_256_GCM_SHA384 + - TLS_CHACHA20_POLY1305_SHA256 + +# Options for the main traefik service, where the entrypoints traffic comes +# from. +service: + enabled: true + type: LoadBalancer + # Additional annotations (e.g. for cloud provider specific config) + annotations: {} + # Additional service labels (e.g. for filtering Service by custom labels) + labels: {} + # Additional entries here will be added to the service spec. Cannot contains + # type, selector or ports entries. + spec: {} + # externalTrafficPolicy: Cluster + # loadBalancerIP: "1.2.3.4" + # clusterIP: "2.3.4.5" + loadBalancerSourceRanges: [] + # - 192.168.0.1/32 + # - 172.16.0.0/16 + externalIPs: [] + # - 1.2.3.4 + +## Create HorizontalPodAutoscaler object. +## +autoscaling: + enabled: false +# minReplicas: 1 +# maxReplicas: 10 +# metrics: +# - type: Resource +# resource: +# name: cpu +# targetAverageUtilization: 60 +# - type: Resource +# resource: +# name: memory +# targetAverageUtilization: 60 + +# Enable persistence using Persistent Volume Claims +# ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ +# After the pvc has been mounted, add the configs into traefik by using the `additionalArguments` list below, eg: +# additionalArguments: +# - "--certificatesresolvers.le.acme.storage=/data/acme.json" +# It will persist TLS certificates. +persistence: + enabled: false + name: data + accessMode: ReadWriteOnce + size: 128Mi + path: /data + +# Whether Role Based Access Control objects like roles and rolebindings should be created +rbac: + enabled: true + + # If set to false, installs ClusterRole and ClusterRoleBinding so Traefik can be used across namespaces. + # If set to true, installs namespace-specific Role and RoleBinding and requires provider configuration be set to that same namespace + namespaced: false + +# Enable to create a PodSecurityPolicy and assign it to the Service Account via RoleBinding or ClusterRoleBinding +podSecurityPolicy: + enabled: false + +# The service account the pods will use to interact with the Kubernetes API +serviceAccount: + # If set, an existing service account is used + # If not set, a service account is created automatically using the fullname template + name: "" + +# Additional serviceAccount annotations (e.g. for oidc authentication) +serviceAccountAnnotations: {} + +affinity: {} +# # This example pod anti-affinity forces the scheduler to put traefik pods +# # on nodes where no other traefik pods are scheduled. +# # It should be used when hostNetwork: true to prevent port conflicts +# podAntiAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# - labelSelector: +# matchExpressions: +# - key: app +# operator: In +# values: +# - {{ template "traefik.name" . }} +# topologyKey: failure-domain.beta.kubernetes.io/zone +nodeSelector: {} +tolerations: [] + +# Pods can have priority. +# Priority indicates the importance of a Pod relative to other Pods. +priorityClassName: "" + +# Set the container security context +# To run the container with ports below 1024 this will need to be adjust to run as root +securityContext: + capabilities: + drop: [ALL] diff --git a/stable/traefik/6.4.0/questions.yaml b/stable/traefik/6.4.0/questions.yaml new file mode 100644 index 00000000000..fe39b424f9c --- /dev/null +++ b/stable/traefik/6.4.0/questions.yaml @@ -0,0 +1,385 @@ +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: "Middlewares" + description: "Traefik Middlewares" + - 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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" + path: "/dashboard/" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + - variable: middlewares + label: "" + group: "Middlewares" + schema: + type: dict + attrs: + - variable: basicAuth + label: "basicAuth" + schema: + type: list + default: [] + items: + - variable: basicAuthEntry + label: "" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + default: "" + - variable: users + label: "Users" + schema: + type: list + default: [] + items: + - variable: usersEntry + label: "" + schema: + type: dict + attrs: + - variable: username + label: "Username" + schema: + type: string + required: true + default: "" + - variable: password + label: "Password" + schema: + type: string + required: true + default: "" + + + - variable: forwardAuth + label: "forwardAuth" + schema: + type: list + default: [] + items: + - variable: basicAuthEntry + label: "" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + default: "" + - variable: address + label: "Address" + schema: + type: string + required: true + default: "" + - variable: trustForwardHeader + label: "trustForwardHeader" + schema: + type: boolean + default: false + - variable: authResponseHeadersRegex + label: "authResponseHeadersRegex" + schema: + type: string + default: "" + - variable: authResponseHeaders + label: "authResponseHeaders" + schema: + type: list + default: [] + items: + - variable: authResponseHeadersEntry + label: "" + schema: + type: string + default: "" + - variable: authRequestHeaders + label: "authRequestHeaders" + schema: + type: list + default: [] + items: + - variable: authRequestHeadersEntry + label: "" + schema: + type: string + default: "" + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: ports + label: "(Advanced) Traefik Entrypoints" + group: "Networking and Services" + schema: + type: dict + attrs: + - variable: traefik + label: "traefik internal" + schema: + type: dict + attrs: + - variable: port + label: "Internal Port" + description: "(advanced) Port inside the container network" + schema: + type: int + required: true + hidden: true + default: 9000 + - variable: expose + label: "Expose to Outside" + description: "Port to the outside of all(!) nodes" + schema: + type: boolean + default: true + - variable: exposedPort + label: "Outside Port" + description: "Port on the outside" + schema: + type: int + show_if: [["expose", "=", true]] + default: 9000 + - variable: protocol + label: "Protocol" + description: "TCP or UDP reverse proxying?" + schema: + type: string + default: "TCP" + - variable: web + label: "web" + schema: + type: dict + attrs: + - variable: port + label: "Internal Port" + description: "(advanced) Port inside the container network" + schema: + type: int + required: true + hidden: true + default: 9080 + - variable: expose + label: "Expose to Outside" + description: "Port to the outside of all(!) nodes" + schema: + type: boolean + default: true + - variable: exposedPort + label: "Outside Port" + description: "Port to the outside of all(!) nodes" + schema: + type: int + show_if: [["expose", "=", true]] + required: true + default: 9080 + - variable: protocol + label: "Protocol" + description: "TCP or UDP reverse proxying?" + schema: + type: string + required: true + default: "TCP" + hidden: true + - variable: redirectEnable + label: "Enable Redirect" + schema: + type: boolean + default: true + show_subquestions_if: true + subquestions: + - variable: redirectTo + label: "Target Entrypoint" + description: "Select the Target Entrypoint to redirect to" + schema: + type: string + required: true + default: "websecure" + - variable: websecure + label: "websecure" + schema: + type: dict + attrs: + - variable: port + label: "Internal Port" + description: "(advanced) Port inside the container network" + schema: + type: int + required: true + hidden: true + default: 9443 + - variable: expose + label: "Expose to Outside" + description: "Port to the outside of all(!) nodes" + schema: + type: boolean + default: true + - variable: exposedPort + label: "Outside Port" + description: "Port to the outside of all(!) nodes" + schema: + type: int + show_if: [["expose", "=", true]] + required: true + default: 9443 + - variable: protocol + label: "Protocol" + description: "TCP or UDP reverse proxying?" + schema: + type: string + required: true + default: "TCP" + hidden: true + - variable: tls + label: "tls" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: true + hidden: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 65532 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 65532 + + + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 65532 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/traefik/6.4.0/templates/_helpers.tpl b/stable/traefik/6.4.0/templates/_helpers.tpl new file mode 100644 index 00000000000..f7b055fa82e --- /dev/null +++ b/stable/traefik/6.4.0/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* vim: set filetype=mustache: */}} + +{{/* +Expand the name of the chart. +*/}} +{{- define "traefik.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "traefik.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "traefik.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +The name of the service account to use +*/}} +{{- define "traefik.serviceAccountName" -}} +{{- default (include "traefik.fullname" .) .Values.serviceAccount.name -}} +{{- end -}} + +{{/* +Construct the path for the providers.kubernetesingress.ingressendpoint.publishedservice. +By convention this will simply use the / to match the name of the +service generated. +Users can provide an override for an explicit service they want bound via `.Values.providers.kubernetesIngress.publishedService.pathOverride` +*/}} +{{- define "providers.kubernetesIngress.publishedServicePath" -}} +{{- $defServiceName := printf "%s/%s" .Release.Namespace (include "traefik.fullname" .) -}} +{{- $servicePath := default $defServiceName .Values.providers.kubernetesIngress.publishedService.pathOverride }} +{{- print $servicePath | trimSuffix "-" -}} +{{- end -}} + +{{/* +Construct a comma-separated list of whitelisted namespaces +*/}} +{{- define "providers.kubernetesIngress.namespaces" -}} +{{- default .Release.Namespace (join "," .Values.providers.kubernetesIngress.namespaces) }} +{{- end -}} +{{- define "providers.kubernetesCRD.namespaces" -}} +{{- default .Release.Namespace (join "," .Values.providers.kubernetesCRD.namespaces) }} +{{- end -}} diff --git a/stable/traefik/6.4.0/templates/_podtemplate.tpl b/stable/traefik/6.4.0/templates/_podtemplate.tpl new file mode 100644 index 00000000000..9e8fe8aca34 --- /dev/null +++ b/stable/traefik/6.4.0/templates/_podtemplate.tpl @@ -0,0 +1,265 @@ +{{- define "traefik.podTemplate" }} + metadata: + annotations: + {{- with .Values.deployment.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- with .Values.deployment.podLabels }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- with .Values.deployment.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + serviceAccountName: {{ include "traefik.serviceAccountName" . }} + terminationGracePeriodSeconds: 60 + hostNetwork: {{ .Values.hostNetwork }} + {{- with .Values.deployment.dnsPolicy }} + dnsPolicy: {{ . }} + {{- end }} + {{- with .Values.deployment.initContainers }} + initContainers: + {{- toYaml . | nindent 6 }} + {{- end }} + containers: + - image: "{{ .Values.image.name }}:{{ default .Chart.AppVersion .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + name: {{ template "traefik.fullname" . }} + resources: + {{- with .Values.resources }} + {{- toYaml . | nindent 10 }} + {{- end }} + readinessProbe: + httpGet: + path: /ping + port: {{ default .Values.ports.traefik.port .Values.ports.traefik.healthchecksPort }} + failureThreshold: 1 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 2 + livenessProbe: + httpGet: + path: /ping + port: {{ default .Values.ports.traefik.port .Values.ports.traefik.healthchecksPort }} + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 2 + ports: + {{- range $name, $config := .Values.ports }} + {{- if $config }} + - name: {{ $name | quote }} + containerPort: {{ $config.port }} + {{- if $config.hostPort }} + hostPort: {{ $config.hostPort }} + {{- end }} + {{- if $config.hostIP }} + hostIP: {{ $config.hostIP }} + {{- end }} + protocol: {{ default "TCP" $config.protocol | quote }} + {{- end }} + {{- end }} + {{- with .Values.securityContext }} + securityContext: + {{- toYaml . | nindent 10 }} + {{- end }} + volumeMounts: + - name: {{ .Values.persistence.name }} + mountPath: {{ .Values.persistence.path }} + {{- if .Values.persistence.subPath }} + subPath: {{ .Values.persistence.subPath }} + {{- end }} + - name: tmp + mountPath: /tmp + {{- $root := . }} + {{- range .Values.volumes }} + - name: {{ tpl (.name) $root }} + mountPath: {{ .mountPath }} + readOnly: true + {{- end }} + {{- if .Values.experimental.plugins.enabled }} + - name: plugins + mountPath: "/plugins-storage" + {{- end }} + {{- if .Values.additionalVolumeMounts }} + {{- toYaml .Values.additionalVolumeMounts | nindent 10 }} + {{- end }} + args: + {{- with .Values.globalArguments }} + {{- range . }} + - {{ . | quote }} + {{- end }} + {{- end }} + {{- range $name, $config := .Values.ports }} + {{- if $config }} + - "--entryPoints.{{$name}}.address=:{{ $config.port }}/{{ default "tcp" $config.protocol | lower }}" + {{- end }} + {{- end }} + - "--api.dashboard=true" + - "--ping=true" + {{- if .Values.providers.kubernetesCRD.enabled }} + - "--providers.kubernetescrd" + {{- end }} + {{- if .Values.providers.kubernetesIngress.enabled }} + - "--providers.kubernetesingress" + {{- if and .Values.service.enabled .Values.providers.kubernetesIngress.publishedService.enabled }} + - "--providers.kubernetesingress.ingressendpoint.publishedservice={{ template "providers.kubernetesIngress.publishedServicePath" . }}" + {{- end }} + {{- if .Values.providers.kubernetesIngress.labelSelector }} + - "--providers.kubernetesingress.labelSelector={{ .Values.providers.kubernetesIngress.labelSelector }}" + {{- end }} + {{- end }} + {{- if .Values.experimental.kubernetesGateway.enabled }} + - "--providers.kubernetesgateway" + - "--experimental.kubernetesgateway" + {{- end }} + {{- if and .Values.rbac.enabled .Values.rbac.namespaced }} + {{- if .Values.providers.kubernetesCRD.enabled }} + - "--providers.kubernetescrd.namespaces={{ template "providers.kubernetesCRD.namespaces" . }}" + {{- end }} + {{- if .Values.providers.kubernetesIngress.enabled }} + - "--providers.kubernetesingress.namespaces={{ template "providers.kubernetesIngress.namespaces" . }}" + {{- end }} + {{- end }} + {{- range $entrypoint, $config := $.Values.ports }} + {{- if $config.redirectTo }} + {{- $toPort := index $.Values.ports $config.redirectTo }} + - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.to=:{{ $toPort.exposedPort }}" + - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.scheme=https" + {{- end }} + {{- if $config.tls }} + {{- if $config.tls.enabled }} + - "--entrypoints.{{ $entrypoint }}.http.tls=true" + {{- if $config.tls.options }} + - "--entrypoints.{{ $entrypoint }}.http.tls.options={{ $config.tls.options }}" + {{- end }} + {{- if $config.tls.certResolver }} + - "--entrypoints.{{ $entrypoint }}.http.tls.certResolver={{ $config.tls.certResolver }}" + {{- end }} + {{- if $config.tls.domains }} + {{- range $index, $domain := $config.tls.domains }} + {{- if $domain.main }} + - "--entrypoints.{{ $entrypoint }}.http.tls.domains[{{ $index }}].main={{ $domain.main }}" + {{- end }} + {{- if $domain.sans }} + - "--entrypoints.{{ $entrypoint }}.http.tls.domains[{{ $index }}].sans={{ join "," $domain.sans }}" + {{- end }} + {{- end }} + {{- end }} + {{- end }} + {{- end }} + {{- end }} + {{- with .Values.logs }} + {{- if .general.format }} + - "--log.format={{ .general.format }}" + {{- end }} + {{- if ne .general.level "ERROR" }} + - "--log.level={{ .general.level | upper }}" + {{- end }} + {{- if .access.enabled }} + - "--accesslog=true" + {{- if .access.format }} + - "--accesslog.format={{ .access.format }}" + {{- end }} + {{- if .access.bufferingsize }} + - "--accesslog.bufferingsize={{ .access.bufferingsize }}" + {{- end }} + {{- if .access.filters }} + {{- if .access.filters.statuscodes }} + - "--accesslog.filters.statuscodes={{ .access.filters.statuscodes }}" + {{- end }} + {{- if .access.filters.retryattempts }} + - "--accesslog.filters.retryattempts" + {{- end }} + {{- if .access.filters.minduration }} + - "--accesslog.filters.minduration={{ .access.filters.minduration }}" + {{- end }} + {{- end }} + - "--accesslog.fields.defaultmode={{ .access.fields.general.defaultmode }}" + {{- range $fieldname, $fieldaction := .access.fields.general.names }} + - "--accesslog.fields.names.{{ $fieldname }}={{ $fieldaction }}" + {{- end }} + - "--accesslog.fields.headers.defaultmode={{ .access.fields.headers.defaultmode }}" + {{- range $fieldname, $fieldaction := .access.fields.headers.names }} + - "--accesslog.fields.headers.names.{{ $fieldname }}={{ $fieldaction }}" + {{- end }} + {{- end }} + {{- end }} + {{- if .Values.pilot.enabled }} + - "--pilot.token={{ .Values.pilot.token }}" + {{- end }} + {{- if hasKey .Values.pilot "dashboard" }} + - "--pilot.dashboard={{ .Values.pilot.dashboard }}" + {{- end }} + {{- with .Values.additionalArguments }} + {{- range . }} + - {{ . | quote }} + {{- end }} + {{- end }} + {{- with .Values.env }} + env: + {{- toYaml . | nindent 10 }} + {{- end }} + {{- with .Values.envFrom }} + envFrom: + {{- toYaml . | nindent 10 }} + {{- end }} + {{- if .Values.deployment.additionalContainers }} + {{- toYaml .Values.deployment.additionalContainers | nindent 6 }} + {{- end }} + volumes: + - name: {{ .Values.persistence.name }} + {{- if .Values.persistence.enabled }} + persistentVolumeClaim: + claimName: {{ default (include "traefik.fullname" .) .Values.persistence.existingClaim }} + {{- else }} + emptyDir: {} + {{- end }} + - name: tmp + emptyDir: {} + {{- $root := . }} + {{- range .Values.volumes }} + - name: {{ tpl (.name) $root }} + {{- if eq .type "secret" }} + secret: + secretName: {{ tpl (.name) $root }} + {{- else if eq .type "configMap" }} + configMap: + name: {{ tpl (.name) $root }} + {{- end }} + {{- end }} + {{- if .Values.deployment.additionalVolumes }} + {{- toYaml .Values.deployment.additionalVolumes | nindent 8 }} + {{- end }} + {{- if .Values.experimental.plugins.enabled }} + - name: plugins + emptyDir: {} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- if .Values.priorityClassName }} + priorityClassName: {{ .Values.priorityClassName }} + {{- end }} + {{- with .Values.podSecurityContext }} + securityContext: + {{- toYaml . | nindent 8 }} + {{- end }} +{{ end -}} diff --git a/stable/traefik/6.4.0/templates/custom/common.yaml b/stable/traefik/6.4.0/templates/custom/common.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/traefik/6.4.0/templates/custom/middleware-namespace.yaml b/stable/traefik/6.4.0/templates/custom/middleware-namespace.yaml new file mode 100644 index 00000000000..16156ee5e12 --- /dev/null +++ b/stable/traefik/6.4.0/templates/custom/middleware-namespace.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: traefikmiddlewares + namespace: traefikmiddlewares + annotations: + "helm.sh/hook": pre-install diff --git a/stable/traefik/6.4.0/templates/custom/middlewares/basic-middleware.yaml b/stable/traefik/6.4.0/templates/custom/middlewares/basic-middleware.yaml new file mode 100644 index 00000000000..73d39aded4e --- /dev/null +++ b/stable/traefik/6.4.0/templates/custom/middlewares/basic-middleware.yaml @@ -0,0 +1,57 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: compress + namespace: traefikmiddlewares +spec: + compress: {} +--- +# Here, an average of 300 requests per second is allowed. +# In addition, a burst of 200 requests is allowed. +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: basic-ratelimit + namespace: traefikmiddlewares +spec: + rateLimit: + average: 300 + burst: 200 +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: basic-secure-headers + namespace: traefikmiddlewares +spec: + headers: + accessControlAllowMethods: + - GET + - OPTIONS + - HEAD + - PUT + accessControlMaxAge: 100 + sslRedirect: true + # stsSeconds: 63072000 + # stsIncludeSubdomains: false + # stsPreload: false + # forceSTSHeader: true + contentTypeNosniff: true + browserXssFilter: true + sslForceHost: true + referrerPolicy: same-origin + customResponseHeaders: + X-Robots-Tag: 'none' + server: '' +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: chain-basic + namespace: traefikmiddlewares +spec: + chain: + middlewares: + - name: basic-ratelimit + - name: basic-secure-headers + - name: compress diff --git a/stable/traefik/6.4.0/templates/custom/middlewares/basicauth.yaml b/stable/traefik/6.4.0/templates/custom/middlewares/basicauth.yaml new file mode 100644 index 00000000000..4e0f326a2f4 --- /dev/null +++ b/stable/traefik/6.4.0/templates/custom/middlewares/basicauth.yaml @@ -0,0 +1,29 @@ +{{ range $index, $middlewareData := .Values.middlewares.basicAuth }} +--- +{{- $users := list }} +{{ range $index, $userdata := $middlewareData.users }} + {{ $users = append $users ( htpasswd $userdata.username $userdata.password ) }} +{{ end }} + +apiVersion: v1 +kind: Secret +metadata: + name: {{printf "%v-%v" $middlewareData.name "secret" }} + namespace: traefikmiddlewares +type: Opaque +stringData: + users: | + {{- range $index, $user := $users }} + {{ printf "%s" $user }} + {{- end }} +--- +# Declaring the user list +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: traefikmiddlewares +spec: + basicAuth: + secret: {{printf "%v-%v" $middlewareData.name "secret" }} +{{ end }} diff --git a/stable/traefik/6.4.0/templates/custom/middlewares/forwardauth.yaml b/stable/traefik/6.4.0/templates/custom/middlewares/forwardauth.yaml new file mode 100644 index 00000000000..bb90d33775e --- /dev/null +++ b/stable/traefik/6.4.0/templates/custom/middlewares/forwardauth.yaml @@ -0,0 +1,23 @@ +{{ range $index, $middlewareData := .Values.middlewares.forwardAuth }} +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: traefikmiddlewares +spec: + forwardAuth: + address: {{ $middlewareData.address }} + {{- if $middlewareData.authResponseHeaders }} + authResponseHeaders: {{ $middlewareData.authResponseHeaders }} + {{- end }} + {{- if $middlewareData.authRequestHeaders }} + authRequestHeaders: {{ $middlewareData.authRequestHeaders }} + {{- end }} + {{- if $middlewareData.authResponseHeadersRegex }} + authResponseHeadersRegex: {{ $middlewareData.authResponseHeadersRegex }} + {{- end }} + {{- if $middlewareData.trustForwardHeader }} + trustForwardHeader: true + {{- end }} +{{ end }} diff --git a/stable/traefik/6.4.0/templates/custom/portal.yaml b/stable/traefik/6.4.0/templates/custom/portal.yaml new file mode 100644 index 00000000000..92e80f287a2 --- /dev/null +++ b/stable/traefik/6.4.0/templates/custom/portal.yaml @@ -0,0 +1,45 @@ +{{- if .Values.portal }} +{{- if .Values.portal.enabled }} +{{- $ingr := dict -}} +{{- $host := "$node_ip" }} +{{- $port := 443 }} +{{- $protocol := "https" }} +{{- $portProtocol := "" }} +{{- $path := "/dashboard/" }} + +{{- if $ingr }} + {{- if $ingr.enabled }} + {{- range $ingr.hosts }} + {{- if .hostTpl }} + {{ $host = ( tpl .hostTpl $ ) }} + {{- else if .host }} + {{ $host = .host }} + {{- else }} + {{ $host = "$node_ip" }} + {{- end }} + {{- if .paths }} + {{- $path = (first .paths).path }} + {{- end }} + {{- end }} + {{- end }} +{{- end }} + +{{- if eq $host "$node_ip" }} + {{- $port = .Values.ports.traefik.exposedPort }} + {{- $protocol = "http" }} +{{- end }} + +--- + +apiVersion: v1 +kind: ConfigMap +metadata: + name: portal +data: + protocol: {{ $protocol }} + host: {{ $host | quote }} + port: {{ $port | quote }} + path: {{ $path | quote }} + url: {{ ( printf "%v://%v:%v%v" $protocol $host $port $path ) | quote }} +{{- end }} +{{- end }} diff --git a/stable/traefik/6.4.0/templates/daemonset.yaml b/stable/traefik/6.4.0/templates/daemonset.yaml new file mode 100644 index 00000000000..469e105c358 --- /dev/null +++ b/stable/traefik/6.4.0/templates/daemonset.yaml @@ -0,0 +1,40 @@ +{{- if and .Values.deployment.enabled (eq .Values.deployment.kind "DaemonSet") -}} + {{- with .Values.additionalArguments -}} + {{- range . -}} + {{- if contains ".acme." . -}} + {{- fail (printf "ACME functionality is not supported when running Traefik as a DaemonSet") -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- if eq (default .Chart.AppVersion .Values.image.tag) "latest" }} + {{- fail "\n\n ERROR: latest tag should not be used" }} + {{- end }} + +--- +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- with .Values.deployment.labels }} + {{- toYaml . | nindent 4 }} + {{- end }} + annotations: + {{- with .Values.deployment.annotations }} + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + selector: + matchLabels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + updateStrategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: {{ .Values.rollingUpdate.maxUnavailable }} + template: {{ template "traefik.podTemplate" . }} +{{- end -}} diff --git a/stable/traefik/6.4.0/templates/dashboard-hook-ingressroute.yaml b/stable/traefik/6.4.0/templates/dashboard-hook-ingressroute.yaml new file mode 100644 index 00000000000..ec278c26910 --- /dev/null +++ b/stable/traefik/6.4.0/templates/dashboard-hook-ingressroute.yaml @@ -0,0 +1,28 @@ +{{- if .Values.ingressRoute.dashboard.enabled -}} +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: {{ template "traefik.fullname" . }}-dashboard + annotations: + helm.sh/hook: "post-install,post-upgrade" + {{- with .Values.ingressRoute.dashboard.annotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- with .Values.ingressRoute.dashboard.labels }} + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + entryPoints: + - traefik + routes: + - match: PathPrefix(`/dashboard`) || PathPrefix(`/api`) + kind: Rule + services: + - name: api@internal + kind: TraefikService +{{- end -}} diff --git a/stable/traefik/6.4.0/templates/deployment.yaml b/stable/traefik/6.4.0/templates/deployment.yaml new file mode 100644 index 00000000000..494087cfd0a --- /dev/null +++ b/stable/traefik/6.4.0/templates/deployment.yaml @@ -0,0 +1,47 @@ +{{- if and .Values.deployment.enabled (eq .Values.deployment.kind "Deployment") -}} + {{- if gt (int .Values.deployment.replicas) 1 -}} + {{- with .Values.additionalArguments -}} + {{- range . -}} + {{- if contains ".acme." . -}} + {{- fail (printf "You can not enable acme if you set more than one traefik replica") -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- if eq (default .Chart.AppVersion .Values.image.tag) "latest" }} + {{- fail "\n\n ERROR: latest tag should not be used" }} + {{- end }} + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- with .Values.deployment.labels }} + {{- toYaml . | nindent 4 }} + {{- end }} + annotations: + {{- with .Values.deployment.annotations }} + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- if not .Values.autoscaling.enabled }} + replicas: {{ default 1 .Values.deployment.replicas }} + {{- end }} + selector: + matchLabels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + strategy: + type: RollingUpdate + rollingUpdate: + {{- with .Values.rollingUpdate }} + {{- toYaml . | nindent 6 }} + {{- end }} + template: {{ template "traefik.podTemplate" . }} +{{- end -}} diff --git a/stable/traefik/6.4.0/templates/gateway.yaml b/stable/traefik/6.4.0/templates/gateway.yaml new file mode 100644 index 00000000000..85194211fe5 --- /dev/null +++ b/stable/traefik/6.4.0/templates/gateway.yaml @@ -0,0 +1,33 @@ +{{- if .Values.experimental.kubernetesGateway.enabled }} +--- +apiVersion: networking.x-k8s.io/v1alpha1 +kind: Gateway +metadata: + name: traefik-gateway + namespace: default +spec: + gatewayClassName: traefik + listeners: + - port: {{ .Values.ports.web.port }} + protocol: HTTP + routes: + kind: HTTPRoute + selector: + matchLabels: + app: {{ .Values.experimental.kubernetesGateway.appLabelSelector }} + + {{- range $index, $cert:= .Values.experimental.kubernetesGateway.certificates }} + - port: {{ $.Values.ports.websecure.port }} + protocol: HTTPS + tls: + certificateRef: + name: {{ $cert.name }} + group: {{ $cert.group }} + kind: {{ $cert.kind }} + routes: + kind: HTTPRoute + selector: + matchLabels: + app: {{ $.Values.experimental.kubernetesGateway.appLabelSelector }} + {{- end }} +{{- end }} diff --git a/stable/traefik/6.4.0/templates/gatewayclass.yaml b/stable/traefik/6.4.0/templates/gatewayclass.yaml new file mode 100644 index 00000000000..61bf007db1e --- /dev/null +++ b/stable/traefik/6.4.0/templates/gatewayclass.yaml @@ -0,0 +1,9 @@ +{{- if .Values.experimental.kubernetesGateway.enabled }} +--- +kind: GatewayClass +apiVersion: networking.x-k8s.io/v1alpha1 +metadata: + name: traefik +spec: + controller: traefik.io/gateway-controller +{{- end }} diff --git a/stable/traefik/6.4.0/templates/hpa.yaml b/stable/traefik/6.4.0/templates/hpa.yaml new file mode 100644 index 00000000000..bf37117de6a --- /dev/null +++ b/stable/traefik/6.4.0/templates/hpa.yaml @@ -0,0 +1,20 @@ +{{- if .Values.autoscaling.enabled }} +apiVersion: autoscaling/v2beta1 +kind: HorizontalPodAutoscaler +metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ template "traefik.fullname" . }} + minReplicas: {{ .Values.autoscaling.minReplicas }} + maxReplicas: {{ .Values.autoscaling.maxReplicas }} + metrics: +{{ toYaml .Values.autoscaling.metrics | indent 4 }} +{{- end }} diff --git a/stable/traefik/6.4.0/templates/ingressclass.yaml b/stable/traefik/6.4.0/templates/ingressclass.yaml new file mode 100644 index 00000000000..7c62458c82e --- /dev/null +++ b/stable/traefik/6.4.0/templates/ingressclass.yaml @@ -0,0 +1,23 @@ +{{- if and .Values.ingressClass.enabled (semverCompare ">=2.3.0" (default .Chart.AppVersion .Values.image.tag)) -}} + {{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/IngressClass" }} +apiVersion: networking.k8s.io/v1 + {{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/IngressClass" }} +apiVersion: networking.k8s.io/v1beta1 + {{- else if or (eq .Values.ingressClass.fallbackApiVersion "v1beta1") (eq .Values.ingressClass.fallbackApiVersion "v1") }} +apiVersion: {{ printf "networking.k8s.io/%s" .Values.ingressClass.fallbackApiVersion }} + {{- else }} + {{- fail "\n\n ERROR: You must have atleast networking.k8s.io/v1beta1 to use ingressClass" }} + {{- end }} +kind: IngressClass +metadata: + annotations: + ingressclass.kubernetes.io/is-default-class: {{ .Values.ingressClass.isDefaultClass | quote }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ template "traefik.fullname" . }} +spec: + controller: traefik.io/ingress-controller +{{- end }} diff --git a/stable/traefik/6.4.0/templates/poddisruptionbudget.yaml b/stable/traefik/6.4.0/templates/poddisruptionbudget.yaml new file mode 100644 index 00000000000..9893e521759 --- /dev/null +++ b/stable/traefik/6.4.0/templates/poddisruptionbudget.yaml @@ -0,0 +1,22 @@ +{{- if .Values.podDisruptionBudget.enabled -}} +apiVersion: policy/v1beta1 +kind: PodDisruptionBudget +metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} +spec: + selector: + matchLabels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- if .Values.podDisruptionBudget.minAvailable }} + minAvailable: {{ .Values.podDisruptionBudget.minAvailable | int }} + {{- end }} + {{- if .Values.podDisruptionBudget.maxUnavailable }} + maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable | int }} + {{- end }} +{{- end -}} diff --git a/stable/traefik/6.4.0/templates/rbac/clusterrole.yaml b/stable/traefik/6.4.0/templates/rbac/clusterrole.yaml new file mode 100644 index 00000000000..2c63e006414 --- /dev/null +++ b/stable/traefik/6.4.0/templates/rbac/clusterrole.yaml @@ -0,0 +1,112 @@ +{{- if and .Values.rbac.enabled (not .Values.rbac.namespaced) -}} +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} +rules: + - apiGroups: + - "" + resources: + - services + - endpoints + - secrets + verbs: + - get + - list + - watch + - apiGroups: + - extensions + - networking.k8s.io + resources: + - ingresses + - ingressclasses + verbs: + - get + - list + - watch + - apiGroups: + - extensions + - networking.k8s.io + resources: + - ingresses/status + verbs: + - update + - apiGroups: + - traefik.containo.us + resources: + - ingressroutes + - ingressroutetcps + - ingressrouteudps + - middlewares + - tlsoptions + - tlsstores + - traefikservices + - serverstransports + verbs: + - get + - list + - watch +{{- if .Values.podSecurityPolicy.enabled }} + - apiGroups: + - policy + resourceNames: + - {{ template "traefik.fullname" . }} + resources: + - podsecuritypolicies + verbs: + - use +{{- end -}} +{{- if .Values.experimental.kubernetesGateway.enabled }} + - apiGroups: + - networking.x-k8s.io + resources: + - gatewayclasses + - gatewayclasses/status + - gateways + verbs: + - get + - list + - watch + - apiGroups: + - networking.x-k8s.io + resources: + - gatewayclasses/status + verbs: + - get + - patch + - update + - apiGroups: + - networking.x-k8s.io + resources: + - gateways/status + verbs: + - get + - patch + - update + - apiGroups: + - networking.x-k8s.io + resources: + - httproutes + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - networking.x-k8s.io + resources: + - httproutes/status + verbs: + - get + - patch + - update +{{- end -}} +{{- end -}} diff --git a/stable/traefik/6.4.0/templates/rbac/clusterrolebinding.yaml b/stable/traefik/6.4.0/templates/rbac/clusterrolebinding.yaml new file mode 100644 index 00000000000..509e92ff2b7 --- /dev/null +++ b/stable/traefik/6.4.0/templates/rbac/clusterrolebinding.yaml @@ -0,0 +1,19 @@ +{{- if and .Values.rbac.enabled (not .Values.rbac.namespaced) }} +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ template "traefik.fullname" . }} +subjects: + - kind: ServiceAccount + name: {{ include "traefik.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} +{{- end -}} diff --git a/stable/traefik/6.4.0/templates/rbac/podsecuritypolicy.yaml b/stable/traefik/6.4.0/templates/rbac/podsecuritypolicy.yaml new file mode 100644 index 00000000000..66bc1458d55 --- /dev/null +++ b/stable/traefik/6.4.0/templates/rbac/podsecuritypolicy.yaml @@ -0,0 +1,68 @@ +{{- if .Values.podSecurityPolicy.enabled }} +--- +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + annotations: + seccomp.security.alpha.kubernetes.io/allowedProfileNames: runtime/default + seccomp.security.alpha.kubernetes.io/defaultProfileName: runtime/default + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} +spec: + privileged: false + allowPrivilegeEscalation: false + requiredDropCapabilities: + - ALL +{{- if not .Values.securityContext.runAsNonRoot }} + allowedCapabilities: + - NET_BIND_SERVICE +{{- end }} + hostNetwork: {{ .Values.hostNetwork }} + hostIPC: false + hostPID: false + fsGroup: +{{- if .Values.securityContext.runAsNonRoot }} + ranges: + - max: 65535 + min: 1 + rule: MustRunAs +{{- else }} + rule: RunAsAny +{{- end }} +{{- if .Values.hostNetwork }} + hostPorts: + - max: 65535 + min: 1 +{{- end }} + readOnlyRootFilesystem: true + runAsUser: +{{- if .Values.securityContext.runAsNonRoot }} + rule: MustRunAsNonRoot +{{- else }} + rule: RunAsAny +{{- end }} + seLinux: + rule: RunAsAny + supplementalGroups: +{{- if .Values.securityContext.runAsNonRoot }} + ranges: + - max: 65535 + min: 1 + rule: MustRunAs +{{- else }} + rule: RunAsAny +{{- end }} + volumes: + - configMap + - downwardAPI + - secret + - emptyDir + - projected +{{- if .Values.persistence.enabled }} + - persistentVolumeClaim +{{- end -}} +{{- end -}} diff --git a/stable/traefik/6.4.0/templates/rbac/role.yaml b/stable/traefik/6.4.0/templates/rbac/role.yaml new file mode 100644 index 00000000000..6c763065d6f --- /dev/null +++ b/stable/traefik/6.4.0/templates/rbac/role.yaml @@ -0,0 +1,61 @@ +{{- if and .Values.rbac.enabled .Values.rbac.namespaced }} +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} +rules: + - apiGroups: + - "" + resources: + - services + - endpoints + - secrets + verbs: + - get + - list + - watch + - apiGroups: + - extensions + resources: + - ingresses + verbs: + - get + - list + - watch + - apiGroups: + - extensions + resources: + - ingresses/status + verbs: + - update + - apiGroups: + - traefik.containo.us + resources: + - ingressroutes + - ingressroutetcps + - ingressrouteudps + - middlewares + - tlsoptions + - tlsstores + - traefikservices + - serverstransports + verbs: + - get + - list + - watch +{{- if .Values.podSecurityPolicy.enabled }} + - apiGroups: + - extensions + resourceNames: + - {{ template "traefik.fullname" . }} + resources: + - podsecuritypolicies + verbs: + - use +{{- end -}} +{{- end -}} diff --git a/stable/traefik/6.4.0/templates/rbac/rolebinding.yaml b/stable/traefik/6.4.0/templates/rbac/rolebinding.yaml new file mode 100644 index 00000000000..10416401867 --- /dev/null +++ b/stable/traefik/6.4.0/templates/rbac/rolebinding.yaml @@ -0,0 +1,19 @@ +{{- if and .Values.rbac.enabled .Values.rbac.namespaced }} +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ template "traefik.fullname" . }} +subjects: + - kind: ServiceAccount + name: {{ include "traefik.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} +{{- end -}} diff --git a/stable/traefik/6.4.0/templates/rbac/serviceaccount.yaml b/stable/traefik/6.4.0/templates/rbac/serviceaccount.yaml new file mode 100644 index 00000000000..bcc941eec95 --- /dev/null +++ b/stable/traefik/6.4.0/templates/rbac/serviceaccount.yaml @@ -0,0 +1,15 @@ +{{- if not .Values.serviceAccount.name -}} +kind: ServiceAccount +apiVersion: v1 +metadata: + name: {{ include "traefik.serviceAccountName" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + annotations: + {{- with .Values.serviceAccountAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} +{{- end -}} diff --git a/stable/traefik/6.4.0/templates/service.yaml b/stable/traefik/6.4.0/templates/service.yaml new file mode 100644 index 00000000000..745bb9102d7 --- /dev/null +++ b/stable/traefik/6.4.0/templates/service.yaml @@ -0,0 +1,114 @@ +{{- if .Values.service.enabled -}} + +{{ $tcpPorts := dict }} +{{ $udpPorts := dict }} +{{- range $name, $config := .Values.ports }} + {{- if eq (toString $config.protocol) "UDP" }} + {{ $_ := set $udpPorts $name $config }} + {{- else }} + {{ $_ := set $tcpPorts $name $config }} + {{- end }} +{{- end }} + +apiVersion: v1 +kind: List +metadata: + name: {{ template "traefik.fullname" . }} +items: +{{- if $tcpPorts }} + - apiVersion: v1 + kind: Service + metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- with .Values.service.labels }} + {{- toYaml . | nindent 8 }} + {{- end }} + annotations: + {{- with .Values.service.annotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- $type := default "LoadBalancer" .Values.service.type }} + type: {{ $type }} + {{- with .Values.service.spec }} + {{- toYaml . | nindent 6 }} + {{- end }} + selector: + app.kubernetes.io/name: {{ template "traefik.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + ports: + {{- range $name, $config := $tcpPorts }} + {{- if $config.expose }} + - port: {{ default $config.port $config.exposedPort }} + name: {{ $name }} + targetPort: {{ $name | quote }} + protocol: {{ default "TCP" $config.protocol | quote }} + {{- if $config.nodePort }} + nodePort: {{ $config.nodePort }} + {{- end }} + {{- end }} + {{- end }} + {{- if eq $type "LoadBalancer" }} + {{- with .Values.service.loadBalancerSourceRanges }} + loadBalancerSourceRanges: + {{- toYaml . | nindent 6 }} + {{- end -}} + {{- end -}} + {{- with .Values.service.externalIPs }} + externalIPs: + {{- toYaml . | nindent 6 }} + {{- end -}} +{{- end }} + +{{- if $udpPorts }} + - apiVersion: v1 + kind: Service + metadata: + name: {{ template "traefik.fullname" . }}-udp + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + annotations: + {{- with .Values.service.annotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- $type := default "LoadBalancer" .Values.service.type }} + type: {{ $type }} + {{- with .Values.service.spec }} + {{- toYaml . | nindent 6 }} + {{- end }} + selector: + app.kubernetes.io/name: {{ template "traefik.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + ports: + {{- range $name, $config := $udpPorts }} + {{- if $config.expose }} + - port: {{ default $config.port $config.exposedPort }} + name: {{ $name }} + targetPort: {{ $name | quote }} + protocol: {{ default "UDP" $config.protocol | quote }} + {{- if $config.nodePort }} + nodePort: {{ $config.nodePort }} + {{- end }} + {{- end }} + {{- end }} + {{- if eq $type "LoadBalancer" }} + {{- with .Values.service.loadBalancerSourceRanges }} + loadBalancerSourceRanges: + {{- toYaml . | nindent 6 }} + {{- end -}} + {{- end -}} + {{- with .Values.service.externalIPs }} + externalIPs: + {{- toYaml . | nindent 6 }} + {{- end -}} +{{- end }} +{{- end -}} diff --git a/stable/traefik/6.4.0/templates/tlsoption.yaml b/stable/traefik/6.4.0/templates/tlsoption.yaml new file mode 100644 index 00000000000..ec46e8bbc94 --- /dev/null +++ b/stable/traefik/6.4.0/templates/tlsoption.yaml @@ -0,0 +1,14 @@ +{{- range $name, $config := .Values.tlsOptions }} +apiVersion: traefik.containo.us/v1alpha1 +kind: TLSOption +metadata: + name: {{ $name }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" $ }} + helm.sh/chart: {{ template "traefik.chart" $ }} + app.kubernetes.io/managed-by: {{ $.Release.Service }} + app.kubernetes.io/instance: {{ $.Release.Name }} +spec: + {{- toYaml $config | nindent 2 }} +--- +{{- end -}} diff --git a/stable/traefik/6.4.0/test_values.yaml b/stable/traefik/6.4.0/test_values.yaml new file mode 100644 index 00000000000..74e6d4760b6 --- /dev/null +++ b/stable/traefik/6.4.0/test_values.yaml @@ -0,0 +1,426 @@ +# Default values for Traefik +image: + name: traefik + # defaults to appVersion + tag: v2.4 + pullPolicy: IfNotPresent + +# +# Configure the deployment +# +deployment: + enabled: true + # Can be either Deployment or DaemonSet + kind: Deployment + # Number of pods of the deployment (only applies when kind == Deployment) + replicas: 1 + # Additional deployment annotations (e.g. for jaeger-operator sidecar injection) + annotations: {} + # Additional deployment labels (e.g. for filtering deployment by custom labels) + labels: {} + # Additional pod annotations (e.g. for mesh injection or prometheus scraping) + podAnnotations: {} + # Additional Pod labels (e.g. for filtering Pod by custom labels) + podLabels: {} + # Additional containers (e.g. for metric offloading sidecars) + additionalContainers: [] + # https://docs.datadoghq.com/developers/dogstatsd/unix_socket/?tab=host + # - name: socat-proxy + # image: alpine/socat:1.0.5 + # args: ["-s", "-u", "udp-recv:8125", "unix-sendto:/socket/socket"] + # volumeMounts: + # - name: dsdsocket + # mountPath: /socket + # Additional volumes available for use with initContainers and additionalContainers + additionalVolumes: [] + # - name: dsdsocket + # hostPath: + # path: /var/run/statsd-exporter + # Additional initContainers (e.g. for setting file permission as shown below) + initContainers: [] + # The "volume-permissions" init container is required if you run into permission issues. + # Related issue: https://github.com/traefik/traefik/issues/6972 + # - name: volume-permissions + # image: busybox:1.31.1 + # command: ["sh", "-c", "chmod -Rv 600 /data/*"] + # volumeMounts: + # - name: data + # mountPath: /data + # Custom pod DNS policy. Apply if `hostNetwork: true` + # dnsPolicy: ClusterFirstWithHostNet + # Additional imagePullSecrets + imagePullSecrets: [] + # - name: myRegistryKeySecretName + +# Pod disruption budget +podDisruptionBudget: + enabled: false + # maxUnavailable: 1 + # minAvailable: 0 + +# Use ingressClass. Ignored if Traefik version < 2.3 / kubernetes < 1.18.x +ingressClass: + # true is not unit-testable yet, pending https://github.com/rancher/helm-unittest/pull/12 + enabled: false + isDefaultClass: false + # Use to force a networking.k8s.io API Version for certain CI/CD applications. E.g. "v1beta1" + fallbackApiVersion: + +# Activate Pilot integration +pilot: + enabled: false + token: "" + # Toggle Pilot Dashboard + # dashboard: false + +# Enable experimental features +experimental: + plugins: + enabled: false + kubernetesGateway: + enabled: false + appLabelSelector: "traefik" + certificates: [] + # - group: "core" + # kind: "Secret" + # name: "mysecret" + +# Create an IngressRoute for the dashboard +ingressRoute: + dashboard: + enabled: true + # Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class) + annotations: {} + # Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels) + labels: {} + +rollingUpdate: + maxUnavailable: 1 + maxSurge: 1 + + +# +# Configure providers +# +providers: + kubernetesCRD: + enabled: true + namespaces: [] + # - "default" + kubernetesIngress: + enabled: true + # labelSelector: environment=production,method=traefik + namespaces: [] + # - "default" + # IP used for Kubernetes Ingress endpoints + publishedService: + enabled: false + # Published Kubernetes Service to copy status from. Format: namespace/servicename + # By default this Traefik service + # pathOverride: "" + +# +# Add volumes to the traefik pod. The volume name will be passed to tpl. +# This can be used to mount a cert pair or a configmap that holds a config.toml file. +# After the volume has been mounted, add the configs into traefik by using the `additionalArguments` list below, eg: +# additionalArguments: +# - "--providers.file.filename=/config/dynamic.toml" +# - "--ping" +# - "--ping.entrypoint=web" +volumes: [] +# - name: public-cert +# mountPath: "/certs" +# type: secret +# - name: '{{ printf "%s-configs" .Release.Name }}' +# mountPath: "/config" +# type: configMap + +# Additional volumeMounts to add to the Traefik container +additionalVolumeMounts: [] + # For instance when using a logshipper for access logs + # - name: traefik-logs + # mountPath: /var/log/traefik + +# Logs +# https://docs.traefik.io/observability/logs/ +logs: + # Traefik logs concern everything that happens to Traefik itself (startup, configuration, events, shutdown, and so on). + general: + # By default, the logs use a text format (common), but you can + # also ask for the json format in the format option + # format: json + # By default, the level is set to ERROR. Alternative logging levels are DEBUG, PANIC, FATAL, ERROR, WARN, and INFO. + level: INFO + access: + # To enable access logs + enabled: false + # By default, logs are written using the Common Log Format (CLF). + # To write logs in JSON, use json in the format option. + # If the given format is unsupported, the default (CLF) is used instead. + # format: json + # To write the logs in an asynchronous fashion, specify a bufferingSize option. + # This option represents the number of log lines Traefik will keep in memory before writing + # them to the selected output. In some cases, this option can greatly help performances. + # bufferingSize: 100 + # Filtering https://docs.traefik.io/observability/access-logs/#filtering + filters: {} + # statuscodes: "200,300-302" + # retryattempts: true + # minduration: 10ms + # Fields + # https://docs.traefik.io/observability/access-logs/#limiting-the-fieldsincluding-headers + fields: + general: + defaultmode: keep + names: {} + # Examples: + # ClientUsername: drop + headers: + defaultmode: drop + names: {} + # Examples: + # User-Agent: redact + # Authorization: drop + # Content-Type: keep + +globalArguments: + - "--global.checknewversion" + +# +# Configure Traefik static configuration +# Additional arguments to be passed at Traefik's binary +# All available options available on https://docs.traefik.io/reference/static-configuration/cli/ +## Use curly braces to pass values: `helm install --set="additionalArguments={--providers.kubernetesingress.ingressclass=traefik-internal,--log.level=DEBUG}"` +additionalArguments: + - "--metrics.prometheus" + - "--ping" + - "--serverstransport.insecureskipverify=true" + +# Environment variables to be passed to Traefik's binary +env: [] +# - name: SOME_VAR +# value: some-var-value +# - name: SOME_VAR_FROM_CONFIG_MAP +# valueFrom: +# configMapRef: +# name: configmap-name +# key: config-key +# - name: SOME_SECRET +# valueFrom: +# secretKeyRef: +# name: secret-name +# key: secret-key + +envFrom: [] +# - configMapRef: +# name: config-map-name +# - secretRef: +# name: secret-name + +# Configure ports +ports: + # The name of this one can't be changed as it is used for the readiness and + # liveness probes, but you can adjust its config to your liking + traefik: + port: 9000 + # Use hostPort if set. + # hostPort: 9000 + # + # Use hostIP if set. If not set, Kubernetes will default to 0.0.0.0, which + # means it's listening on all your interfaces and all your IPs. You may want + # to set this value if you need traefik to listen on specific interface + # only. + # hostIP: 192.168.100.10 + + # Defines whether the port is exposed if service.type is LoadBalancer or + # NodePort. + # + # You SHOULD NOT expose the traefik port on production deployments. + # If you want to access it from outside of your cluster, + # use `kubectl port-forward` or create a secure ingress + expose: false + # The exposed port for this service + exposedPort: 9000 + # The port protocol (TCP/UDP) + protocol: TCP + web: + port: 9080 + # hostPort: 8000 + expose: true + exposedPort: 80 + # The port protocol (TCP/UDP) + protocol: TCP + # Use nodeport if set. This is useful if you have configured Traefik in a + # LoadBalancer + # nodePort: 32080 + # Port Redirections + # Added in 2.2, you can make permanent redirects via entrypoints. + # https://docs.traefik.io/routing/entrypoints/#redirection + redirectTo: websecure + websecure: + port: 9443 + # hostPort: 8443 + expose: true + exposedPort: 443 + # The port protocol (TCP/UDP) + protocol: TCP + # nodePort: 32443 + # Set TLS at the entrypoint + # https://doc.traefik.io/traefik/routing/entrypoints/#tls + tls: + enabled: true + +# TLS Options are created as TLSOption CRDs +# https://doc.traefik.io/traefik/https/tls/#tls-options +# Example: +tlsOptions: + default: + sniStrict: false + minVersion: VersionTLS12 + curvePreferences: + - CurveP521 + - CurveP384 + cipherSuites: + - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 + - TLS_AES_128_GCM_SHA256 + - TLS_AES_256_GCM_SHA384 + - TLS_CHACHA20_POLY1305_SHA256 + +# Options for the main traefik service, where the entrypoints traffic comes +# from. +service: + enabled: true + type: LoadBalancer + # Additional annotations (e.g. for cloud provider specific config) + annotations: {} + # Additional service labels (e.g. for filtering Service by custom labels) + labels: {} + # Additional entries here will be added to the service spec. Cannot contains + # type, selector or ports entries. + spec: {} + # externalTrafficPolicy: Cluster + # loadBalancerIP: "1.2.3.4" + # clusterIP: "2.3.4.5" + loadBalancerSourceRanges: [] + # - 192.168.0.1/32 + # - 172.16.0.0/16 + externalIPs: [] + # - 1.2.3.4 + +## Create HorizontalPodAutoscaler object. +## +autoscaling: + enabled: false +# minReplicas: 1 +# maxReplicas: 10 +# metrics: +# - type: Resource +# resource: +# name: cpu +# targetAverageUtilization: 60 +# - type: Resource +# resource: +# name: memory +# targetAverageUtilization: 60 + +# Enable persistence using Persistent Volume Claims +# ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ +# After the pvc has been mounted, add the configs into traefik by using the `additionalArguments` list below, eg: +# additionalArguments: +# - "--certificatesresolvers.le.acme.storage=/data/acme.json" +# It will persist TLS certificates. +persistence: + enabled: false + name: data + accessMode: ReadWriteOnce + size: 128Mi + path: /data + +# If hostNetwork is true, runs traefik in the host network namespace +# To prevent unschedulabel pods due to port collisions, if hostNetwork=true +# and replicas>1, a pod anti-affinity is recommended and will be set if the +# affinity is left as default. +hostNetwork: false + +# Whether Role Based Access Control objects like roles and rolebindings should be created +rbac: + enabled: true + + # If set to false, installs ClusterRole and ClusterRoleBinding so Traefik can be used across namespaces. + # If set to true, installs namespace-specific Role and RoleBinding and requires provider configuration be set to that same namespace + namespaced: false + +# Enable to create a PodSecurityPolicy and assign it to the Service Account via RoleBinding or ClusterRoleBinding +podSecurityPolicy: + enabled: false + +# The service account the pods will use to interact with the Kubernetes API +serviceAccount: + # If set, an existing service account is used + # If not set, a service account is created automatically using the fullname template + name: "" + +# Additional serviceAccount annotations (e.g. for oidc authentication) +serviceAccountAnnotations: {} + +resources: {} + # requests: + # cpu: "100m" + # memory: "50Mi" + # limits: + # cpu: "300m" + # memory: "150Mi" +affinity: {} +# # This example pod anti-affinity forces the scheduler to put traefik pods +# # on nodes where no other traefik pods are scheduled. +# # It should be used when hostNetwork: true to prevent port conflicts +# podAntiAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# - labelSelector: +# matchExpressions: +# - key: app +# operator: In +# values: +# - {{ template "traefik.name" . }} +# topologyKey: failure-domain.beta.kubernetes.io/zone +nodeSelector: {} +tolerations: [] + +# Pods can have priority. +# Priority indicates the importance of a Pod relative to other Pods. +priorityClassName: "" + +# Set the container security context +# To run the container with ports below 1024 this will need to be adjust to run as root +securityContext: + capabilities: + drop: [ALL] + readOnlyRootFilesystem: true + runAsGroup: 65532 + runAsNonRoot: true + runAsUser: 65532 + +podSecurityContext: + fsGroup: 65532 + +## SCALE Middleware Handlers + +middlewares: + basicAuth: [] + # - name: basicauthexample + # users: + # - username: testuser + # password: testpassword + forwardAuth: [] + # - name: forwardAuthexample + # address: https://auth.example.com/ + # authResponseHeaders: + # - X-Secret + # - X-Auth-User + # authRequestHeaders: + # - "Accept" + # - "X-CustomHeader" + # authResponseHeadersRegex: "^X-" + # trustForwardHeader: true diff --git a/stable/traefik/6.4.0/values.yaml b/stable/traefik/6.4.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/transmission/6.3.0/CONFIG.md b/stable/transmission/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/transmission/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/transmission/6.3.0/Chart.lock b/stable/transmission/6.3.0/Chart.lock new file mode 100644 index 00000000000..90e2fb89f46 --- /dev/null +++ b/stable/transmission/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:35.453929221Z" diff --git a/stable/transmission/6.3.0/Chart.yaml b/stable/transmission/6.3.0/Chart.yaml new file mode 100644 index 00000000000..71d5b522f77 --- /dev/null +++ b/stable/transmission/6.3.0/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: API Support for your favorite torrent trackers. +home: https://github.com/truecharts/apps/tree/master/charts/stable/transmission +icon: https://github.com/Jackett/Jackett/blob/phantom-develop/Logo/512.png?raw=true +keywords: +- transmission +- torrent +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: transmission +sources: +- https://github.com/transmission/transmission +- https://hub.docker.com/r/linuxserver/transmission +type: application +version: 6.3.0 diff --git a/stable/transmission/6.3.0/README.md b/stable/transmission/6.3.0/README.md new file mode 100644 index 00000000000..ac79a7f73be --- /dev/null +++ b/stable/transmission/6.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +API Support for your favorite torrent trackers. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `transmission` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `transmission` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/transmission/6.3.0/app-readme.md b/stable/transmission/6.3.0/app-readme.md new file mode 100644 index 00000000000..7e8f54afb7e --- /dev/null +++ b/stable/transmission/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +API Support for your favorite torrent trackers. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +API Support for your favorite torrent trackers. diff --git a/stable/transmission/6.3.0/charts/common-6.5.0.tgz b/stable/transmission/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/transmission/6.3.0/ix_values.yaml b/stable/transmission/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..aeea220e56b --- /dev/null +++ b/stable/transmission/6.3.0/ix_values.yaml @@ -0,0 +1,50 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/transmission + pullPolicy: IfNotPresent + tag: v3.00 + +transmissionFixedConfig: + bind-address-ipv4: "0.0.0.0" + bind-address-ipv6: ::" + cache-size-mb: 4 + lpd-enabled: false + dht-enabled: true + peer-congestion-algorithm: "" + message-level: 2 + peer-id-ttl-hours: 4 + peer-port: 51413 + peer-port-random-high: 65535 + peer-port-random-low: 49152 + peer-port-random-on-start: false + peer-socket-tos: "default" + pex-enabled: true + port-forwarding-enabled: false + preallocation: 0 + prefetch-enabled: true + rename-partial-files: true + rpc-authentication-required: false + rpc-bind-address: "0.0.0.0" + rpc-enabled: true + rpc-host-whitelist: "" + rpc-host-whitelist-enabled: false + rpc-password: "CHANGEME" + rpc-port: 9091 + rpc-url: "/transmission/" + rpc-username: "" + rpc-whitelist: "" + rpc-whitelist-enabled: false + umask: 2 + utp-enabled: true + watch-dir: "/watch" + watch-dir-enabled: true + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/transmission/6.3.0/questions.yaml b/stable/transmission/6.3.0/questions.yaml new file mode 100644 index 00000000000..d6b792409f9 --- /dev/null +++ b/stable/transmission/6.3.0/questions.yaml @@ -0,0 +1,1156 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" + path: "/web/" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: TRANSMISSION_ALT_SPEED_DOWN + label: TRANSMISSION_ALT_SPEED_DOWN + schema: + type: int + default: 50 + - variable: TRANSMISSION_ALT_SPEED_ENABLED + label: TRANSMISSION_ALT_SPEED_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_ALT_SPEED_TIME_BEGIN + label: TRANSMISSION_ALT_SPEED_TIME_BEGIN + schema: + type: int + default: 540 + - variable: TRANSMISSION_ALT_SPEED_TIME_DAY + label: TRANSMISSION_ALT_SPEED_TIME_DAY + schema: + type: int + default: 127 + - variable: TRANSMISSION_ALT_SPEED_TIME_ENABLED + label: TRANSMISSION_ALT_SPEED_TIME_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_ALT_SPEED_TIME_END + label: TRANSMISSION_ALT_SPEED_TIME_END + schema: + type: int + default: 1020 + - variable: TRANSMISSION_ALT_SPEED_UP + label: TRANSMISSION_ALT_SPEED_UP + schema: + type: int + default: 50 + - variable: TRANSMISSION_BIND_ADDRESS_IPV4 + label: TRANSMISSION_BIND_ADDRESS_IPV4 + schema: + type: string + default: "0.0.0.0" + - variable: TRANSMISSION_BIND_ADDRESS_IPV6 + label: TRANSMISSION_BIND_ADDRESS_IPV6 + schema: + type: string + default: "::" + - variable: TRANSMISSION_BLOCKLIST_ENABLED + label: TRANSMISSION_BLOCKLIST_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_BLOCKLIST_URL + label: TRANSMISSION_BLOCKLIST_URL + schema: + type: string + default: "http://john.bitsurge.net/public/biglist.p2p.gz" + - variable: TRANSMISSION_CACHE_SIZE_MB + label: TRANSMISSION_CACHE_SIZE_MB + schema: + type: int + default: 4 + - variable: TRANSMISSION_DHT_ENABLED + label: TRANSMISSION_DHT_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_DOWNLOAD_DIR + label: TRANSMISSION_DOWNLOAD_DIR + schema: + type: string + default: "/downloads/complete" + - variable: TRANSMISSION_DOWNLOAD_QUEUE_ENABLED + label: TRANSMISSION_DOWNLOAD_QUEUE_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_DOWNLOAD_QUEUE_SIZE + label: TRANSMISSION_DOWNLOAD_QUEUE_SIZE + schema: + type: int + default: 5 + - variable: TRANSMISSION_ENCRYPTION + label: TRANSMISSION_ENCRYPTION + schema: + type: int + default: 1 + - variable: TRANSMISSION_IDLE_SEEDING_LIMIT + label: TRANSMISSION_IDLE_SEEDING_LIMIT + schema: + type: int + default: 30 + - variable: TRANSMISSION_IDLE_SEEDING_LIMIT_ENABLED + label: TRANSMISSION_IDLE_SEEDING_LIMIT_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_INCOMPLETE_DIR + label: TRANSMISSION_INCOMPLETE_DIR + schema: + type: string + default: "/downloads/incomplete" + - variable: TRANSMISSION_INCOMPLETE_DIR_ENABLED + label: TRANSMISSION_INCOMPLETE_DIR_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_LPD_ENABLED + label: TRANSMISSION_LPD_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_MESSAGE_LEVEL + label: TRANSMISSION_MESSAGE_LEVEL + schema: + type: int + default: 2 + - variable: TRANSMISSION_PEER_CONGESTION_ALGORITHM + label: TRANSMISSION_PEER_CONGESTION_ALGORITHM + schema: + type: string + default: "" + - variable: TRANSMISSION_PEER_ID_TTL_HOURS + label: TRANSMISSION_PEER_ID_TTL_HOURS + schema: + type: int + default: 6 + - variable: TRANSMISSION_PEER_LIMIT_GLOBAL + label: TRANSMISSION_PEER_LIMIT_GLOBAL + schema: + type: int + default: 200 + - variable: TRANSMISSION_PEER_LIMIT_PER_TORRENT + label: TRANSMISSION_PEER_LIMIT_PER_TORRENT + schema: + type: int + default: 50 + - variable: TRANSMISSION_PEER_PORT + label: TRANSMISSION_PEER_PORT + schema: + type: int + default: 51413 + - variable: TRANSMISSION_PEER_PORT_RANDOM_HIGH + label: TRANSMISSION_PEER_PORT_RANDOM_HIGH + schema: + type: int + default: 65535 + - variable: TRANSMISSION_PEER_PORT_RANDOM_LOW + label: TRANSMISSION_PEER_PORT_RANDOM_LOW + schema: + type: int + default: 49152 + - variable: TRANSMISSION_PEER_PORT_RANDOM_ON_START + label: TRANSMISSION_PEER_PORT_RANDOM_ON_START + schema: + type: boolean + default: false + - variable: TRANSMISSION_PEER_SOCKET_TOS + label: TRANSMISSION_PEER_SOCKET_TOS + schema: + type: string + default: "default" + - variable: TRANSMISSION_PEX_ENABLED + label: TRANSMISSION_PEX_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_PORT_FORWARDING_ENABLED + label: TRANSMISSION_PORT_FORWARDING_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_PREALLOCATION + label: TRANSMISSION_PREALLOCATION + schema: + type: int + default: 1 + - variable: TRANSMISSION_PREFETCH_ENABLED + label: TRANSMISSION_PREFETCH_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_QUEUE_STALLED_ENABLED + label: TRANSMISSION_QUEUE_STALLED_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_QUEUE_STALLED_MINUTES + label: TRANSMISSION_QUEUE_STALLED_MINUTES + schema: + type: int + default: 30 + - variable: TRANSMISSION_RATIO_LIMIT + label: TRANSMISSION_RATIO_LIMIT + schema: + type: int + default: 2 + - variable: TRANSMISSION_RATIO_LIMIT_ENABLED + label: TRANSMISSION_RATIO_LIMIT_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_RENAME_PARTIAL_FILES + label: TRANSMISSION_RENAME_PARTIAL_FILES + schema: + type: boolean + default: true + - variable: TRANSMISSION_RPC_AUTHENTICATION_REQUIRED + label: TRANSMISSION_RPC_AUTHENTICATION_REQUIRED + schema: + type: boolean + default: false + - variable: TRANSMISSION_RPC_BIND_ADDRESS + label: TRANSMISSION_RPC_BIND_ADDRESS + schema: + type: string + default: "0.0.0.0" + - variable: TRANSMISSION_RPC_ENABLED + label: TRANSMISSION_RPC_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_RPC_HOST_WHITELIST + label: TRANSMISSION_RPC_HOST_WHITELIST + schema: + type: string + default: "" + - variable: TRANSMISSION_RPC_HOST_WHITELIST_ENABLED + label: TRANSMISSION_RPC_HOST_WHITELIST_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_RPC_PASSWORD + label: TRANSMISSION_RPC_PASSWORD + schema: + type: string + default: "" + - variable: TRANSMISSION_RPC_PORT + label: TRANSMISSION_RPC_PORT + schema: + type: int + default: 9091 + - variable: TRANSMISSION_RPC_URL + label: TRANSMISSION_RPC_URL + schema: + type: string + default: "/" + - variable: TRANSMISSION_RPC_USERNAME + label: TRANSMISSION_RPC_USERNAME + schema: + type: string + default: "" + - variable: TRANSMISSION_RPC_WHITELIST + label: TRANSMISSION_RPC_WHITELIST + schema: + type: string + default: "" + - variable: TRANSMISSION_RPC_WHITELIST_ENABLED + label: TRANSMISSION_RPC_WHITELIST_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_SCRAPE_PAUSED_TORRENTS_ENABLED + label: TRANSMISSION_SCRAPE_PAUSED_TORRENTS_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_SCRIPT_TORRENT_DONE_ENABLED + label: TRANSMISSION_SCRIPT_TORRENT_DONE_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_SCRIPT_TORRENT_DONE_FILENAME + label: TRANSMISSION_SCRIPT_TORRENT_DONE_FILENAME + schema: + type: string + default: "" + - variable: TRANSMISSION_SEED_QUEUE_ENABLED + label: TRANSMISSION_SEED_QUEUE_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_SEED_QUEUE_SIZE + label: TRANSMISSION_SEED_QUEUE_SIZE + schema: + type: int + default: 10 + - variable: TRANSMISSION_SPEED_LIMIT_DOWN + label: TRANSMISSION_SPEED_LIMIT_DOWN + schema: + type: int + default: 100 + - variable: TRANSMISSION_SPEED_LIMIT_DOWN_ENABLED + label: TRANSMISSION_SPEED_LIMIT_DOWN_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_SPEED_LIMIT_UP + label: TRANSMISSION_SPEED_LIMIT_UP + schema: + type: int + default: 100 + - variable: TRANSMISSION_SPEED_LIMIT_UP_ENABLED + label: TRANSMISSION_SPEED_LIMIT_UP_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_START_ADDED_TORRENTS + label: TRANSMISSION_START_ADDED_TORRENTS + schema: + type: boolean + default: true + - variable: TRANSMISSION_TRASH_ORIGINAL_TORRENT_FILES + label: TRANSMISSION_TRASH_ORIGINAL_TORRENT_FILES + schema: + type: boolean + default: false + - variable: TRANSMISSION_UMASK + label: TRANSMISSION_UMASK + schema: + type: int + default: 2 + - variable: TRANSMISSION_UPLOAD_SLOTS_PER_TORRENT + label: TRANSMISSION_UPLOAD_SLOTS_PER_TORRENT + schema: + type: int + default: 14 + - variable: TRANSMISSION_UTP_ENABLED + label: TRANSMISSION_UTP_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_WATCH_DIR + label: TRANSMISSION_WATCH_DIR + schema: + type: string + default: "/watch" + - variable: TRANSMISSION_WATCH_DIR_ENABLED + label: TRANSMISSION_WATCH_DIR_ENABLED + schema: + type: boolean + default: false + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 9091 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9091 + editable: true + 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 + default: 36019 + required: true + - variable: torrent + label: "Torrent Service" + description: "Torrent service" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - 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: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + 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 + default: 36020 + required: true + - variable: udp + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + 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 + default: 36020 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/transmission/6.3.0/templates/common.yaml b/stable/transmission/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/stable/transmission/6.3.0/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/stable/transmission/6.3.0/test_values.yaml b/stable/transmission/6.3.0/test_values.yaml new file mode 100644 index 00000000000..c2388fbd06c --- /dev/null +++ b/stable/transmission/6.3.0/test_values.yaml @@ -0,0 +1,106 @@ +# Default values for Transmission. + +image: + repository: ghcr.io/k8s-at-home/transmission + pullPolicy: IfNotPresent + tag: v3.00 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 9091 + torrent: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 51413 + protocol: TCP + udp: + enabled: true + port: 51413 + protocol: UDP + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + # TRANSMISSION_ALT_SPEED_DOWN: 50 + # TRANSMISSION_ALT_SPEED_ENABLED: false + # TRANSMISSION_ALT_SPEED_TIME_BEGIN: 540 + # TRANSMISSION_ALT_SPEED_TIME_DAY: 127 + # TRANSMISSION_ALT_SPEED_TIME_ENABLED: false + # TRANSMISSION_ALT_SPEED_TIME_END: 1020 + # TRANSMISSION_ALT_SPEED_UP: 50 + # TRANSMISSION_BIND_ADDRESS_IPV4: "0.0.0.0" + # TRANSMISSION_BIND_ADDRESS_IPV6: "::" + # TRANSMISSION_BLOCKLIST_ENABLED: true + # TRANSMISSION_BLOCKLIST_URL: "http://john.bitsurge.net/public/biglist.p2p.gz" + # TRANSMISSION_CACHE_SIZE_MB: 4 + # TRANSMISSION_DHT_ENABLED: true + # TRANSMISSION_DOWNLOAD_DIR: "/downloads/complete" + # TRANSMISSION_DOWNLOAD_QUEUE_ENABLED: true + # TRANSMISSION_DOWNLOAD_QUEUE_SIZE: 5 + # TRANSMISSION_ENCRYPTION: 1 + # TRANSMISSION_IDLE_SEEDING_LIMIT: 30 + # TRANSMISSION_IDLE_SEEDING_LIMIT_ENABLED: false + # TRANSMISSION_INCOMPLETE_DIR: "/downloads/incomplete" + # TRANSMISSION_INCOMPLETE_DIR_ENABLED: true + # TRANSMISSION_LPD_ENABLED: false + # TRANSMISSION_MESSAGE_LEVEL: 2 + # TRANSMISSION_PEER_CONGESTION_ALGORITHM: "" + # TRANSMISSION_PEER_ID_TTL_HOURS: 6 + # TRANSMISSION_PEER_LIMIT_GLOBAL: 200 + # TRANSMISSION_PEER_LIMIT_PER_TORRENT: 50 + # TRANSMISSION_PEER_PORT: 51413 + # TRANSMISSION_PEER_PORT_RANDOM_HIGH: 65535 + # TRANSMISSION_PEER_PORT_RANDOM_LOW: 49152 + # TRANSMISSION_PEER_PORT_RANDOM_ON_START: false + # TRANSMISSION_PEER_SOCKET_TOS: default" + # TRANSMISSION_PEX_ENABLED: true + # TRANSMISSION_PORT_FORWARDING_ENABLED: false + # TRANSMISSION_PREALLOCATION: 1 + # TRANSMISSION_PREFETCH_ENABLED: true + # TRANSMISSION_QUEUE_STALLED_ENABLED: true + # TRANSMISSION_QUEUE_STALLED_MINUTES: 30 + # TRANSMISSION_RATIO_LIMIT: 2 + # TRANSMISSION_RATIO_LIMIT_ENABLED: false + # TRANSMISSION_RENAME_PARTIAL_FILES: true + # TRANSMISSION_RPC_AUTHENTICATION_REQUIRED: false + # TRANSMISSION_RPC_BIND_ADDRESS: "0.0.0.0" + # TRANSMISSION_RPC_ENABLED: true + # TRANSMISSION_RPC_HOST_WHITELIST: "" + # TRANSMISSION_RPC_HOST_WHITELIST_ENABLED: false + # TRANSMISSION_RPC_PASSWORD: "" + # TRANSMISSION_RPC_PORT: 9091 + # TRANSMISSION_RPC_URL: "/transmission/" + # TRANSMISSION_RPC_USERNAME: "" + # TRANSMISSION_RPC_WHITELIST: "" + # TRANSMISSION_RPC_WHITELIST_ENABLED: false + # TRANSMISSION_SCRAPE_PAUSED_TORRENTS_ENABLED: true + # TRANSMISSION_SCRIPT_TORRENT_DONE_ENABLED: false + # TRANSMISSION_SCRIPT_TORRENT_DONE_FILENAME: "" + # TRANSMISSION_SEED_QUEUE_ENABLED: false + # TRANSMISSION_SEED_QUEUE_SIZE: 10 + # TRANSMISSION_SPEED_LIMIT_DOWN: 100 + # TRANSMISSION_SPEED_LIMIT_DOWN_ENABLED: false + # TRANSMISSION_SPEED_LIMIT_UP: 100 + # TRANSMISSION_SPEED_LIMIT_UP_ENABLED: false + # TRANSMISSION_START_ADDED_TORRENTS: true + # TRANSMISSION_TRASH_ORIGINAL_TORRENT_FILES: false + # TRANSMISSION_UMASK: 2 + # TRANSMISSION_UPLOAD_SLOTS_PER_TORRENT: 14 + # TRANSMISSION_UTP_ENABLED: true + # TRANSMISSION_WATCH_DIR: "/watch" + # TRANSMISSION_WATCH_DIR_ENABLED: false + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/transmission/6.3.0/values.yaml b/stable/transmission/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/truecommand/6.3.0/CONFIG.md b/stable/truecommand/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/truecommand/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/truecommand/6.3.0/Chart.lock b/stable/truecommand/6.3.0/Chart.lock new file mode 100644 index 00000000000..77f378d132b --- /dev/null +++ b/stable/truecommand/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:37.231151364Z" diff --git a/stable/truecommand/6.3.0/Chart.yaml b/stable/truecommand/6.3.0/Chart.yaml new file mode 100644 index 00000000000..e520d565480 --- /dev/null +++ b/stable/truecommand/6.3.0/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: nightly +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Aggregated management of TrueNAS devices +home: https://github.com/truecharts/apps/tree/master/charts/incubator/truecommand +icon: https://www.ixsystems.com/documentation/truecommand/1.2/_static/tv-logo.png +keywords: +- truecommand +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: truecommand +sources: +- https://hub.docker.com/r/ixsystems/truecommand +type: application +version: 6.3.0 diff --git a/stable/truecommand/6.3.0/README.md b/stable/truecommand/6.3.0/README.md new file mode 100644 index 00000000000..452f53efb6e --- /dev/null +++ b/stable/truecommand/6.3.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: nightly](https://img.shields.io/badge/AppVersion-nightly-informational?style=flat-square) + +Aggregated management of TrueNAS devices + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `truecommand` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `truecommand` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/truecommand/6.3.0/app-readme.md b/stable/truecommand/6.3.0/app-readme.md new file mode 100644 index 00000000000..8e1468487fc --- /dev/null +++ b/stable/truecommand/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Aggregated management of TrueNAS devices +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Aggregated management of TrueNAS devices diff --git a/stable/truecommand/6.3.0/charts/common-6.5.0.tgz b/stable/truecommand/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/truecommand/6.3.0/ix_values.yaml b/stable/truecommand/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..feeb16a6372 --- /dev/null +++ b/stable/truecommand/6.3.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ixsystems/truecommand + pullPolicy: IfNotPresent + tag: "2.0" + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/truecommand/6.3.0/questions.yaml b/stable/truecommand/6.3.0/questions.yaml new file mode 100644 index 00000000000..2c45cb89f43 --- /dev/null +++ b/stable/truecommand/6.3.0/questions.yaml @@ -0,0 +1,628 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + 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 + default: 36044 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/truecommand/6.3.0/templates/common.yaml b/stable/truecommand/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/truecommand/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/truecommand/6.3.0/test_values.yaml b/stable/truecommand/6.3.0/test_values.yaml new file mode 100644 index 00000000000..7710492dc3d --- /dev/null +++ b/stable/truecommand/6.3.0/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Jackett. + +image: + repository: ixsystems/truecommand + pullPolicy: IfNotPresent + tag: "2.0" + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + data: + enabled: true + mountPath: "/data" + type: emptyDir diff --git a/stable/truecommand/6.3.0/values.yaml b/stable/truecommand/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/vaultwarden/3.4.0/CONFIG.md b/stable/vaultwarden/3.4.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/vaultwarden/3.4.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/vaultwarden/3.4.0/Chart.lock b/stable/vaultwarden/3.4.0/Chart.lock new file mode 100644 index 00000000000..2f739caf413 --- /dev/null +++ b/stable/vaultwarden/3.4.0/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.1 +digest: sha256:f2f3785dc828ecd632f6571e8fbdb30fe438c84eac615b15ea180c65fdcd5ffc +generated: "2021-07-03T10:47:42.143277579Z" diff --git a/stable/vaultwarden/3.4.0/Chart.yaml b/stable/vaultwarden/3.4.0/Chart.yaml new file mode 100644 index 00000000000..95947c48f28 --- /dev/null +++ b/stable/vaultwarden/3.4.0/Chart.yaml @@ -0,0 +1,34 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +- condition: postgresql.enabled + name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.1 +deprecated: false +description: Unofficial Bitwarden compatible server written in Rust +home: https://github.com/truecharts/apps/tree/master/charts/stable/vaultwarden +icon: https://raw.githubusercontent.com/bitwarden/brand/master/icons/256x256.png +keywords: +- bitwarden +- bitwardenrs +- bitwarden_rs +- vaultwarden +- password +- rust +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: vaultwarden +sources: +- https://github.com/dani-garcia/vaultwarden +type: application +version: 3.4.0 diff --git a/stable/vaultwarden/3.4.0/README.md b/stable/vaultwarden/3.4.0/README.md new file mode 100644 index 00000000000..25b15bbd886 --- /dev/null +++ b/stable/vaultwarden/3.4.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 3.3.10](https://img.shields.io/badge/Version-3.3.10-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Unofficial Bitwarden compatible server written in Rust + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://charts.bitnami.com/bitnami | postgresql | 10.5.1 | +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `vaultwarden` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `vaultwarden` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/vaultwarden/3.4.0/app-readme.md b/stable/vaultwarden/3.4.0/app-readme.md new file mode 100644 index 00000000000..11f37b5efea --- /dev/null +++ b/stable/vaultwarden/3.4.0/app-readme.md @@ -0,0 +1,3 @@ +Unofficial Bitwarden compatible server written in Rust +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Unofficial Bitwarden compatible server written in Rust diff --git a/stable/vaultwarden/3.4.0/charts/common-6.5.0.tgz b/stable/vaultwarden/3.4.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 zcmV)mK%T!JiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJciXnII12B7fBF>IOnPefXHl}_msHR3evY@DwmCaVy<(@m z=X7_)FbP?xDUu~YIj)=g+3&(D0T3W5TXxdcTwSR}0yBdFFf$ko22nPjXX)s01`85i z!+G+z)j#9$c)Yv4&Hg_gkL~}D_nvM2ZF76PHy&^8Y;W)WZM?a)y}R=_Fun&`8c$Uc zSp02#XIysU{vZ#`@eimdah6WNVru~NT>VV56b)ijMg`6Zd-F||M)WU`;PV0&*I=3z z;Iya^8$RV=md()w%m~TL$!K(e$*ejLqijARMTH_(W(4!R9FYQ{(Hxcp6(jMU55xhE zC?W|0E+BzL8FElniHayo2}%irT8;L0x5wkXot?oYy1vSaxSR}zphh+rN=k?9#b5{o zn#<}OsfK>}kNwSXb2l6h$6pTS5T^v<6cr2@nnRpS08Xdbf7O7)thg8ekV4vCjR62u zMKS?aK?UXV7nH>RRYtR{A}Adu==>a~7h#$xSl<^ZhUMnhUqAD};>AQO$aRh;vWbI* zY|n1E6OIS{`d`fd1xzYb-je`mpa0wAotw+T<&PX8`0KL`(+^BBtB`3&u?@GZ-`9qNqTSAg~srDXbE*4qzICw^@?l^x|C}Ln1nY!a5PHIYCZf z-={|?K?F5H)ZjU=BgP5}2H=Y{E9h9kCH*Gpr(>zmLC_ak^J^YknC9>Us8YCqIH6;W z)zW@11E#Es3l4z&WmVO>)~cJsg2)L2>R)PlyyZPgffQ(gsq6H!g`&5 z_>RASMPELc*NdY@NG0`e@u5v@*t9kU;k z!GM*Lb6pI%`5dP4TDh)7jObc68kznbh(Z(a)6WhNu(&8&D$~!b=Ado9=2<+*v-rT8 zlLOC`6vbcF(~g%sh+_c3cUggdqXZ=2IE%qSMY1x22`UCpz<)^!hePn6F)o<^`^Nx^ zGB{=IRDx{^lM*pD7Z-?3D5L8!CPeQXr*GAy22a?$p2H93yYW~-IXr&%j^G6U#u|Ez ziU_5IjsjZnd0p-`nrFpzYtcc8iUp3)K@??GN@~HMqXhf3zPgm=38bVVur{{t>FnriNsoDurx%IR$A( zK*@$mEQkWQWNKyuKn@6(-~y$H%9j{aB~C94od^h;=LsZ8*>pi5M#;O93n+>-&+>|v zVhoB3M8Fj$GX_bB!t1O8CFAFHICuj7i2%HUOvFJZwo9Z7O-eXQqvATJWSw8j8L`2e z!dOl_1Wl=!q(Xs8wI__P>GgRQUvmOr6rr+|eAdiDFvST92b@@?agGm8PJaCU?a>6x zuZKA-OKOFS=DvnF1t?wMB1@TQT)+a;@m+@CR4_@7c-q2~>y*F`Qb|t+Pr$)CIQ`!V zcz1e88L-Z=9ZkTOH#Z=BixLD&6uzNM|M>CC!4q((iVU6r_Mmj}O_9yjZvetD9H4Z; zTJVG#27)Hue8EvV1g1qcSDjgI0Q3RQbIP+P;77(OP;d(5_@ZXQJlo)w4=+sdbC}=? zCkZ%5ywDKFbDUB-PV+=D^Yq2*<5vf#FW&!f@ao-*2?!j`s!i~u^~9D zN|Mb%Uf`_2FS8Y6qnySNc?doE;_= zUEzO&i;~bO^Bu2yHqd}5na>a%aiPWJPoP&10G=ASamgz(@fLV6xoS~a9u5?tjC*=@ zX{|6R1QT%d=0x(P+z{ibDx}m;Y<9TqXgai$MAe#Rz4{lq6%*eFB0_sa{?%Q92UF1tU)=DoR{7b<1Kl zpoLZ}sTlt0rvgoX{&}rMI7C?*p`4T>S#Owf2IKUCeoU#*(Bwrq6a`05xPHOu#gNR9 ze7!#4YT$(be1+4?QY`MoR1|FItvW$b#b)GTmJ;-VC@b)on`iR7_^jD!J>kr$=BiD} zvM0O*Pf>IoCCCRz70``LJ|U?V26TaZC`*@ss_PK^4^_TGdjP6pQ4DY@H8eFeVL7C$ z9<#P?`)Vj)9Ah!Eqg!LDfjIFU7uh*dQ-zHH{-MXv;(ABc<=R9Ms=ZI}0;Q-dhXsN$ zW`C6g7Np9DIYnQN)-9`>D!g-)WLE=TKpCyC1SpU@=%!`dPymoLXe+uGwaX$gzz(=I zV)`wNbvU;R&*-N!Dz~Uiy~5>;z7l`7!J3O3gi^~yoOF6rW!dvIvu$aRjW zZJsiNk&AStWokmrHV3DN#{qlKy&?-x05PoFf`Zs8C79t8~pz#^pDfS<1^-1I(v6?e5P0D+Kzq_dM}4pDS%XY z)>{i{3@#9TroE=x9uJavOiE@kI#y#qskK)bjQK47cV5>@Z2n*|u3)RI{4T{kP{wkhXVxFpmNoZ~o7&=o9DDQ6xjAe!P!{mbR^ zl0hnSNXIYVLxmN|sLG3Al3WYOhitF21TfV!a=j&~!=zIK<~gF)CxuUc3)D3(wS!pK z$+}`Lut$^0@&`8aLdmnc9h1$ zsua3nia((EbzN1e)*+oYI31qD5=R=VwfXa>;JOBmJ8SR3e3O#Vl!S6*vmLYvNH1{u z!BdnZli5Vk zg?UXB1yI{4^iyq>)|4GXG7CXJl7L$LkBoQR_rOBAVrtV+wXcQhf`9CT&2V#jIBq~X zWowgT7N%%?)E0{kOj5uai$pG|3&eJKBUBFsipGM%H%WU#W@b}A$eK}Wss7VfC-!g& z!9O!H6Fb-}P=JaDKC);Jqk5a0o=eAuaSHP7)@TnN5>ktH|&|7`NQiqHx}*=r;xbM`nMMj87!))XkD= zj-)kZZkS80tA~Z0jsBC8^FEutCo}Y(SO3S^hA1jRHE78%hhK{6UFw+5D`IvBfB%|N z#1S&$c;FFu0>q}X)*)goiKjZ)I;@dZM={$X8PY`rhf05bpC;E0Xa17Q1dgwLm2g6` z0$w0+s6v*+(tL_93;=9ZR3a7!c{V)T0P%GS=QyG&gGUZiX5vzEEOu05;&J%D-<+In z7=C#L0u>GeU$m?%`4TDHh&4Q4 z*K6`j*cD7!^DxzU79%xHYX8u=*isW+#QQEr#oqAyQF5;h zR85$d6t5+8MOebly)CXk~0qK66flb9ff_UEF`H?_2dpoq;KWgie+V5xFiHvcY6g1XHOcYhN<{jnBe40|!KFL?6^6O`IG7PvnT> z7LEvW&ZYp?cE()9GQs@q++KEhoyiJLpz9=eZ8$zi0ytm!b;tpQu+rT4!A0 zZf}jXPdsLNem#`Y+x00Nk5Qx@GUek#JDYc=ISX(a;{}c@n9!cObwFcErtZLXl`8}sh7GX5g4XKz`ob&zlKPKca=9_YOj@bMrP=Q|GfmZ zEr!iDeWMwI`B1zYG9RyC^&4uQaifiLIm*(K6cDFm*)Vf{mI0?1L$u&-fDtT9e37#F zV5&PuPw2lKS5~YK=&uv;ON+MV!?*-+%JwF&HJU(CCAWxx??alzHiT(Bgek#8`DT3} z|8j(c6Gj%v60uKQu7EZMlhIMb9jy;EB$^}VUCFiLL4sk4)FC_}08mN_%-@a>iALPt zI0SQ;=TyeMJeH1XUPzuQS;;8_7{^0Fz>s8&*N8+zM#GR!XZGh1a>_^R1Faou9^!lg zg3YhD!p+_1;byow9`n(zDCH+Gh9HnG$0(Zz^4-Me?*kgg_*+MFmKHn_I{e zu(|d8HD>Q*&-SbFsZ%{TACdnXPC*&9fovpsBAxM`iI~p;fI6@l*XuFi~frKmGBjY97*6DQcFvooaZhW zndl)Ld^P&`ad2}pHalc0nh!wWzNKC&%hf%Kmh<|n4L2DL)V7m*1BPeJ&DM4_LS4}}@Y zVY#81H3VQ@lq!Is6OCrSiX{)wQA`2))m4^7j|X*nfk4)BlcpC8!S5i&X-tLmxJJf2 zx19)O9+NJ7b-BBs(`@+wv|}`iw&FCvOd(FdT3+CkOhND_BLIrzCN?o^UzF>CkJNR& z(`08id%i(6GrUn5&T{CW+FeHsv)<*!elsoatYD3Lwl7={a|e1_!UfH0y|=w#o)rWp zUV=Qe`05B1b6l3x=Jk=_WitA}Lpook1QkLA$W(9QV|E=Az zrT=%H?LB+c{}1sn{m*QE6|+Ny0%9u$s{YQC3Ne|ctOAvF31sKLpooajDOl7QUFd2+ z#RKa$gkSHQ>R>n=4)oN7ENkFmb8v~%cv4d^m?HvXNZ>?eTX9TUzUY(*T9h&spniNsFYwo^@uu;si74K>3TTHVC*EbjYvJfPou+6 zr$(hb=;Y2Wb#vpw=PJtqOQ#L*i8&fPB(aOrkSb>diibvQzHZbbL`%MMbB+AY>Ho5L%9#J4RZB!aV|o&QIcn| zqZ2iFpITo2*&c`fSN8p?41f;(|7?42$JYP5}eRHFc)nhmsDNrrvhu{JFwXLOVSphpV(D4KU z$FL!xjYb*ZK=3{5Uk)z-YcY-p2vql(_|`4hKCgIP9hjI!cTzF>VFNrRiPi-+3rSPN z<0%N$IWhgCXqV0n3UUodL+p#i@QXzN0+R4X#pnYt`P>*gj-GT>FmX0eGOTS7J1Mg4 zo<P1o3L{N zaPie8r|Rifi=L-KcDz(limosyV{RdyhReyPx@#Il@HrkD5cU1B#>Vi|0+n=8G}#A1 z(1-RWPK$ab^k%U97rL%129kyAb?anjSgjKT?OXDyvnApnu&l4wt6^TE>(bGL-@z0Y zC2;^Z0SvXV_WADCt^R4+fB7PM;P{_sd-nZ5+gqEPkM`d~Jk0;6+keOPX(JKg&4QTQ z?Log+kA=l((=A8E5tXGlX^knDu8 z#NF#)y+?eQDBLwvyN9jcIyzdNjK}0p8VOUh)soW?Gb1o3p?! zM-SJ)>N*NhD9s+N0ySL_$`7;rn$=y`)rY_H2YZCdhSzaMBUg%MTYH*8h9stw;U;5RcgZ zW0xTmDx?RHOuL}TuifQR&#_;pw(2vPj9sj>G-g%t=5ArnZf0-WlmiE4iC~k8At3=T~{l7AQ zmS&B~SC&mH2d~G!B0g(&l!W8*|LW;K3>(V2g^n4#Z9ZZHZGRuJY)oGtvDvy#AMx#6 z#Hxc$bbU>>y85!7zk%lYv$J#a!P+$_+q``za!7VL`&!1L?dqT!x=eH!Tv zlx?m)Sx~kW>3G%)&7ir@aK+%5|Mls&6|Dg}=KuDy ztw#LE-p*tE$Adh#i2v2DZ(nHuuyO3NGXhwn;!hX?+y;1s0_ii2;x&R#?-I)UeR_lv zbdRCD`dsJ{%UdyYCrd>1_6yJL3i%ClSP*^{M_a(ID&_6LcAz&87)dL%^qVE8dwT$G zW7_%RWF3*ZkD;@jp|di#mz5SvjU8(PZo&77WiwoLC27M(S8AGo0`oEdt=(g^_F8@FMX6pa(-uTh~{~*s& z`u~L(5i_Hqg21BhtD_*Q-uZZGWhyiQ?T{jL+ zJjLY+VHrCdb1#B9JjV$pxE|=CtYBuseQMvlE8>*oShqC0Rho6U7>f-+cFbL^YUOJO zcJs9E24J1|U#uS+WrODZzRhAFsMFU+MI6*;ZA2eixnetMlJu+wd%X-&0d=Bd=6(BQ z?(B~Fl07l+*9r4Z{?G5gdOs2ETwemGm*G-KIR?NweLFW^C@Iv%IoH5-!BPyN{nIv= zS`a!0pax&H*S51=xpZ9;q^=`m2)D(B)!}iK>1yk)oBEBNJvkZ_iRM)mMOG1(a9d_i zF9WgZ#OH{XR=xH&1y|_2L{U{BmHfIN8huDk8XaY9<|vy)QnHG4U)mt9wSz=p-+s-Z zH1EXLxZ|$UaNe-(C@Vb#N&Gv9R)Pt;DgZD@P`N$ByeML$wZb@qrNcOM+|GMR!%kBx2Nq3 z=LYZCHPOl8X$*b?lPo?A|u#5Z6bwk^t8C z`a<@bn_A}a%h>}CoLyAs0NbDp@GA+^*uH1IiwN)4@4Du&j*%FRU^lSaZvjZF`8g_h zb;jOC-KO1PQS_!8e_0Q#PE@W;F@4Xz`u#t4j{Ms@f;#*^J3G6Zw*PngG5+&mo?FC! z+5-dplAYJr*H-C3Tsg@zg^62bncdOh0dic+;N1V!PvRR(^R5PBl;60e+I7O3Z z;WOogZJ+^P-wYVzRxp3{xs#~+^h9BoXNUq>@NvHP| z6~@i*Db)h(&S7yUKO*|cXbIz~sxaB-Hw}AoGE$zYvaa=yUC43R){S_dUz6{GX=b!( ze@pQzn69r`VG$_qe>Y#ME7naI@_Tc3aLJ$Cv6jD3?Xg~kW{_Q_T64O<{T(FUp7O6N<>7=362 z5UjB*1@>E!q(FnhyqlAK5Ijw@7`?}NP`6PuZhQNg*6xgCQI@bO?DA~0{IULB`$WYV zeKlh51~*zhTGP!=-?*+1RUY<>!uE^HK|o)h=7}jHMGN=ATJ6oHg`Rr7(yY82hV{)Q z{RtYdp0CFSO3Rqh6Rj+;0P8GtinnVyv*Cy$;quibRXF_GlY= z(gWNAMIxuH68EGwAnJpFezztQzeM#-7BiP*ptn^LpwG!L6(y}jZdQOb9XxlO%P|{# zcY1mputv9+Ice;$!PS&V)Dg;Z3rq7I8qM&sbH=K$~_=HW4rY6 zd6=ig{$E)h@DBU`+18ew|9fY5`!WCbgFH*e|JM1zf2hx6-%B*GN*#XV4%M}H2X6Yr z>fX2`b-i0kjaXfCU2iP$pXQ5bx&5b`m4x=*)QQtro(NaTU>K~MEtAAHgIVR5R+Kgq z>ei@W&8#p2DJ-n+Vl_0X=DAvT4msNba7TtobUL51Lg6kiabBfji^3l$}dX*NRkv!UC_35FMcd__fNqc)+dz`q^JeBm&CZB=7X~pSZy^w4R zwp>IkGE+O`!90Ij=(^TBE+_n=_TSvy`Og1XUk5!Bih3+Soeg&lc(K%N4#BtP-;>Zf6gScPtGP#V|N3WLlb?NtWj zf5HT&5h?;B<;39;w7jIzO4GQv8+MaOyOk zFvI*UOfTfwA>Y@DZ+`fod56-_?5eKL@HL}EEHLX}%FgqPc3UqEb~!7w1LeMGCusi3 z#}zl6J}mLhT$NVgxHJdI%j0D;hBlg=SLX>XXKym{7Qy)XAdbb&i`=>G`D$>t9fX0L z>5GXoyS+M^VQ3(OWcte7+Zi+nyWFkYL*02_R1yczk@Hze+PdL)G7?PxT(?ba7o zL%;GxsEAK|-wP-F@v@f{Jq`Jv;PX+03Nm_6|2)tMP2)wtmOT~v8t~ZL{yDW)OVQyebKc26!b)%UfEHvsGNj-+OOH38=A+dH% z<*|Bias80JYjxU>Jd?KDVKw}e3ja;7OWkVF>biw>)6=*dcLPQsZ$#Z1M_vM#Usbrj z8m>b+Ea3v;gl8Cf3f4hDib{+GURP4~@AQlE-)R7X;c&>DHcMYk`qWO2aGSU>?wc@u za3m>JJQ+#KFcRw*cZ1p5IQkd5<_*>kDgF-5ceha*nR{v!;w8FngIM4NB&aXQn?J@m zhR5f2Plx_rMf%6i_^-_!`~K(Mt;hV25A(?NUxCpAu_JLKejX1`0UZE%iX%u^7)2zK zsiN4w;Im}3w&B%7mpOL*)~HCGS0y&F_qp z9>PwFYGi72RB!3~yg(&NiGo-QNqM4?um1F3E?HV%aLT)Z3w^rop-XYC8`>GK>59*e zl_1clqr*(;ewUJ}Ioic3uFRHam8JwgJ6_$AHA_roHAMkV0se4Ue=S@2R*!hs4!wG5 z?rYZxnsq#2O>N29>T}RwPhVGdMZd_gX8vu*NdEX z-Y9eietVC-XI*`Zv_Y|&m2%9n>Y>ibrc4us#3Z6~uSK{$8jYXxpK+-OpF+zhpQC!3GF! z0oxOz+Ls4QHvbcd$+r1#Bxt>Z0O;KRYux|4x3@Wdoc|B;u=#(GB-s`CS9Okrk4)VA zopC>CjMC6M^_^LKFKbZxmXr*a2oLp28s1RimorrZWW_C7hA+_eFkzk-SzcgjywrX_ zw#8=OUa(ZF^xVXCqj-31AVdyMFG4Di_)Q|Ff4fBU1u71+dCrnZ|L117`E}s%(sgn) zG>`HK3fNU+K}Y%#&aA^3iY^s1O2YA7FUO8L+56BsJl?NKMyluab`FXNr8;BJqlLMe zr%nEgn3p?y0K4S>xat4f*?Nrse~?GF|3tj+ zVy$#B6CP3^;X$5D`ObEEax3C_p(UViR`DH2YQmYr6kecsc+R(0)CsGTI)QIf%$|rA z+=a6ZHVmEgbzFO|-B;PH%MLE45i(mQcfKB_>!0~)lmC3^-23^j?d`3`{a?@ab{^&b zLp)4Qz4(yBG;YNI@dVC3@uUkDEmYtl$<86WoJkq%c4V3s>LG4v2zV_kro#bhAFQdE zYsY7~Y~Y`aSdMjXtXRD&Vd{a&J%vR=G{Qn0sM$VxQKb>sea8O8^OI^i#UI!?V5b#6 zIAka008|uAt0cJwzg958Q%n^_p0f@K2R|YXos}mP2ko2^oTCU7nL0>F8#ZZcT#@5?H{J!`h>O5hG}ap6n&Yie#2Rz5b=~8R z9|Mrp?Rs8(2H93B>stad-1}NQsOozW7;BgYRs^V^#9gL=z^tUDtNx;Ke7$c(sahiP zImoN^n~6ZoL~V#uc_?g0I=tC17juS}V%AxQa1?f~p>K;Jmn;#t?Ot>Y1DaR&0fuIYZeUop7bBT&o}1rMn7PP=2==I4_x;31T77=B#@wKl`z0A$S0zJ3-+)jl%4(U9zQ^m%GE<*TS;xv9)QiG_#>4j>i$fg$hj#_u5+Gso5+@KK_7c#G1aZ#>< zy4BHES{F)*)7i$$TV*UTuq1ejqU%WB8K{0P33&hjN*AosO?}|<5?ybIfIB^J5lRHt$CPEot5{BcT2+SyMCSxr-`|D3mT< z;gVPcu~*IGr?NC(nyFtLxr210xPyxp1nWY}=0FxJjNq8Nz{(s&czVqcjyQ;ER?u$8 zMV8V9mWnYA+J?J(9HMlgSCXAbyO4*UI=m&5eem?s`k*@e>B9V?O=-;H)a@&MbT3SO zFN&*qA|Y5pyDgi7Im}gJMF2H_ql{0sdc+*EdKdBzdD<+l5kH5ygsZubY!9C(z|%(s zdNVCf$s{468=_p$y1>$jVS(1|ciH4Q3y zt22iKtVT@7Isg3@O>1$wtP#}72|L=RHo{n<0e&!%6nL&RXUo!!&6u4UihfaB4NQ!k z<}GeFHyYEzTM%7j=ct3~(N_b&*RA}T($k_sZw^iXOQQ-dP>KpjPz=63eg|+m&3Gee zN!d{|FolS$tOyP{;c3*|SYM|L5N3WBkvmE;W%&7>u?pUc6J2A=%8wYH{E zP@*7-~=GCI?T2&X&h%S!V)NKb9OVJoSy( zw|j+Caj>DbVC>HxV(8RXE*U=Oj5kY?WnP5aq0}vRkO#8qsEA`GieO?At%%GMuqG*8 zXRG91Gp^gzv8^2A)>R6p#?yQJA0!xxq=wqhyUUF0$rfISWKr{P*5=Bmdvd)?@tNgFI{{#dE4DgHOh}7zSSt zbB`@GwGgdbX7giCqoL&&bR~4x*VFFQeV$B!W(q*i%=5>y+3{udQ}?z090uP3Jjin@ zR>V7Ad$_Ehf`^Wv5485EKxvE$zR4gBsFBVOjW`&kKHw0^{1o)!d&^`ek zqrs!goaj-#nIcR8mGIS_idW0vD>-DQwY@Pj@cNSPdh_mjQtsNxa7|~Qk!;sNkU4xD z)ij`n=DX{``)>KqoH6%#{`=Xpy@veX-FdwK?Li(c|5+c4EXZ{2pJW#}>L>MuuWon` zcRkxMR^=7n;UyYfN~E^gHEbD@_5JUa*r2kXjl3*2sB%JtZTO#3;6hvjTZABG!8SWN|Md(7+?Oa%u(dp&e-y8 z#hJT;Rv#NZJ8bMs)FiP;z@cL&NZoR*N(Be+PQMQth4ogjp77l*?80KjJbNHAwcbvy zv5jKAY&KrIWm)2AB#$@01Yq4mC%aepTSO*-tJmz((oW!)+R7_x&rvAuwry;t_yEYO zNoo+M{2m$)1TVK)8%UI&WYJ}NE8Hw?w2YY_f-G$q(2>|qo`k?0tS~u33A{c*QI^J~ z!74gcLPsIcPPzn74YsO4r?Uc;vn+|5u;DIN*bxP@Mnhb?GoF| z{ik&1e%Js{F+p?RHNLu`!t%n?!eN>*poT#*r*Dp_Qkm@6%hM5)9}LsF?NC6!f?$@F ztWr>i2?p$%VU9>Y8Q{RQFN#Shok6z^2DWC`;cx}dKN#+f`r`i1W2sLYmW4^`2V4@IUNH4xN@$j8?FwF(ATQ7q6#%Bd zERLuAK3!b0T?-MB)*y4g4Q0of>(N)>don}C6)q9rWU!nEpS+WDX%E&x z`)XCfcIBwSYXDWBTlpeO)%U1s7p%5~Be%AM`-P1WA>-xs!d!iva7VE#`ej{Q3g)@}Q@kN>yX!STc?7#8OGdutD*6!Y8{^tjIo`7RW2rAN& zngM(SfU6lw!Fh#~7^fE?htVaxKxH_10#0YtG~rwRB`9YoNx(&tor5_f(F~^-8=yc5 zBzS?CjMCo2G#)$wDY{^RUUcH3DgJ6(jbqd@;Ki(SPL6a*>W|K<6;Jta32L2`UF) zh2>Q~_$oYymxHfDGN*rM1-=-3_5Ti@fFEFiv#JCyk6x66FfX!SP(%hHju9O3;zjn$ zAY7DD7NgN0K}v}E|Mtbf(d!rCJiZSc?el+gXV>=sZf=bq@Be$4=ZVPcFc|#(Cv`#E zX80@||GYLMBrhkU5uRU!<%}g03vo6&hw%j(iNZrxc8JqyR?H!f*8TsNbq=? za(ICzUwsAsQ{ukBWLBMrQ8piuqCz~dX$14U9FYQ{(Hxcp6(i1}e+&jso`Ba7%TVOO z;CCQy`gk#?w#e_`U6Fv_2fu^ia5x0~fASCZzQzK62kbuv^es2y<|w7a)@j@(;Orm! zo8jheI3AAASW#}mP}KiI*Wh;`c14fGnwS1nMg?ZKdr*{&0{*Z3pYa#_HTWGIfBW(X z{0?wRVVv#kK0o8+{SJ=b`M$h+eQ@$G@H;5w?Qv(pc)S&;@6Pz`-+B1k@8ImGpB*KC z&^8hJmGu{6H?m|gDp9dO1v~ft)A(nT;NcKfWEON)+q9~sS&G^!Nr%Pn;5^Id$T(wH z@wC=hfZs(HITkndbVAW`Cm2v@!GcZ=`p1x0>4rw&g$d?a zxEF4>)|2VLwc989GeT5ep5L-2UGdOi!TxA+fah=%$({2Q6wW?n#U=eBaw5i!KNO=LqH)(?+I%iu?mYSJt*ImsHnx!xV1VD zz`E7Il9ihSi^}jG6_@3*9%>ef+=WXs*#MIBz*xbl&8=r!o4u>bpeBQc)5GK5$c@<}HD1L(zvr#EdT%~);G+wkz zdC*b`UZ50}B@5u|QC?igz*S6$_+=422)F9>Z$_4*l(Dz6M5PCjUY;KsU8dF@lxP!- zPm9JmD#|P!iPFO;!TkU>6e-)DbJye+Um3>PRoaIGvV4{IDs72j<1!Bz#|@k6&5P6b z2S=}8zHt-V1rw&i{B2#>aR}ColB5@v{IZr%+skuKR9BTHcp<9zc)>qwEz9B_0@;zV!dH@? z?vj?FJi_6n+$!F&IKzB!Na9C4mL0@}6vzrTZ~amhNC-lM6=0Rt`4UZ&dBgKBHC- z<`pPUa0K;_+Bcav$|D8rtef6q!l9zf1b%SbsjZrYg>BYVzFWNY^v(41#I*Ze^d*tY zxzeX(w=boS=fnlSmwUvz@}NI|tveii6VY|0g2y^3NdXDExONc!HcJwmUcAd=NHj}B zPZZ)DHqKaWN6Eo(sb_Fdk*v-l$1aoSna}5lz!(w;s*=+F(+nl^VVp%JSZszn`nH+2 zyOd_dRhGrSj8y57xMZgs@oMXzXtP+w|CXd2sWbNP>F@9&TMdr({oiL>&&Kxt@6OiF zWB%_4c|>rB+6BgQCfU|llvO~70ZuQ1!QlS{ZJVWR^w6GTUJU()o6@cf+Arb8e9*NKUrRJPAuh>}NHE5Ts zu2h{-u;5*Nq`zeuZPpl%<(tNr(V`pE)YQ}GSN$(!tI4HZTBqA0Rr zZQTT8oyx8qhOc3Yr-&yQ*Xfh*%kW!7*7Q4(HbBsv#3nfhWr+%Yng5%NyqM?Ydaa4l ztXb#7+W_zRO(b@OkgoC90&dj{dxhKhb>(0^Je=VqE>ODWK_I8ZWM4!2)A(lrUJRyS zePDM4i9&l??YH-f#t6;@n+U6yc$jVz+5#2;Mx=tt5hRdhe{alq`PAhEBW;{M1_3ej z-*13RbX^bp8lZzR6CYR!Dlpoa9<+IqOgiC=G0(9CSmWaY0FOn5BMTC-0! zEPCvTp#EAHQ@*dDJ}55AJ4k7-h^BDwD4!{aTL@=ZT$KA|f=~`{%C|yvvB{y<#qE;I z32BDxhQZj7Fg|voqvEE4@lj0w1;jL)79JT*$5Ok1X0>lEooVd{70ndkpH(i?w%wah zevvM2FO$6@`9-?0fb~HsKG){SwJuUvfFFxc6jxbT%;BJjgk)E6$oW4AK z|KiOLX8&&h>+}0>-hTf&R2QR!?24JUXv+Vfl60Sm= zL2vxad9%%39Dnou(Tn$Q4qm@lNoy3e4oanWG8ss%3`4aSQG%B}`$@b#^&+)65hc8cW zHCWq0zkF?jUJ~F(^JhmVHEF4Pt?@Xz(a{)Vrdi**cxEFo&MLc z)2XfGG1KYjY_-y9-CG;!FVaO%8@;wYU&EXmh?i)sF^ii*{W~o)$Zc zgDV6se#@Ff@*3t2Jff1!zrpMO#8Y+uY#a5?+I0OQ!|#A+-2!;Wz25-YrH-b)bM5E< zAN}NRlxi5i@QgQ$50Ex-AFTJH-`nYZQ1`{rvAlW>^Pfa7{0#OL#ucuiUZjf+6X7aX zP_zf`w*TN?Oo`BP{!sI~vDo4z*bwfs&~h!TIEV>gX8nc(@&p8dZYj|g^RI3@n_oO9 zjfs;Nhi_k;)|L(bS{s-WJt-<5c3sB*#k3>mR!_|+I%PxG5;Y?m9)nDx*iN`;zq z^;9JurPK=RvosbyowY#co~=$zqk*Xu1D4(If4@b?H_Zo%=hpr17S#1v-DotrZlk)_ zl12P9wb06hJBu;9qiFYf$tZAJY}?;?hoz+XQAT$4bgsGmX_ABq2bl9hLr>_Go%mGqC#CG&(XnrbtCKQX_s)cI zAb%+f;xkd1dd-K^m`sGX=u3WeloyV_i6(}h#y@vd^k_UeiZ?(5prFvuakoSw#=jql zoMalJ7RLj>)np%xZ(%rCh>iE2X5QJXps@XI??u8LjEMTkjecTV$qivKO!mQ|lN^Fa<`TSyqx9 zlG!kZ1m3PEWNyS(E>iG~0xEYS7?FAIp$jcmOqPZV?d5 z+T0rHMn+|U7Z>|zY>3HrSyNrNEWM~aV#14^C+c*fm$PcJL`$u???vk`cjB1WI(grT zG0xzbz0paYArgGFv2R|CCS#Vsh!$Ri#;2C{e;Ui#G@l3bC(i7Bj@XxrjY(HidN_}sBIXblZdSexJ?#+@08G3V8 z$d40oBio5DY{4c(zryWyl$a3gEwjd{BtI!?dF-RY44yEE_^kIkH0#csU46X0Yzc>o zqG{|Eh*U-DvEabHEg0v$mWjrxJK0gUTrbYuAqjNQ*wPQD1Qk;lp_`94`Wz90#~7^g zT|K4w!3%47oFIbM7_JTAY}I;W9e1e>I!0vwC=oA1FKy=aaNd7v>*w(??EhI-;NR#{ zK6#&K@q1X2tc>8DmjfO5Ka98bHtqZWcDA=4?f-{(J{SA{J2mucu5`_F^*mGV)MLHfkrs-?J;Tt(2Z7`E2}_Pk82OQy1?BdtXg`dN03xMMf@6(0!N=p z6SuhkWHM88Rozf{TwWd?zk5e;f`4O4B#%)Mp_IT2)JHz|lgK^{`@3VGkX3D%SdF*| zqPz+wV0YX+iK;c~HJWF|^*y(%1fqiP~;Xzg2nbRFK?WBC8X zH5IGP{@dyQ+uPi;^Z#z|J?8&?nCElx|A`A{R_*Vz!Ty!}d!p_A{CN#VHT`!@UON1B zD?XnoaC(m2f0vc*r#E@Tc#jZ(4s+A%0~7SM`n-;C+0*Iula_0XUl`;#py|o#(}xo7 zqM}?oNMjka>?FybXvs|)KM>kc*tpthpWo)hR1Lq%sdshbil+S$pPQ!j(ZM6`&GI zV)6SfT_vy$gX;Q>1|5Vgj^>Y!)|=;jsWH<=D4SI#muwOU$@%1K=h8CG=4S!aj20)E z+fM;}yp!L%F>KtRz3y+f9ZLz9H&op{e${Kx3KVTtt0=g_*?Ov0_Vao)-T@R#!m_#b zY`dR^H9Oo-f@7dg07dhtURS4HZ>u&}sxnujQt|@NVR6kA*koVnininyx|sAGl=G+u z4V$3x97dNYjg1+0Us*0R!Z*O(Na?|!TjT)gritH#Sk2E-anD@hDM403(QVcK>8q3b zN*jsd(^n_*RlEPn8x6KhV#yY3!0W#{eRb06F*+`?1&(i(k^2r>nIuXl(?9kd>$ld5 zrQ+H?|8wZ5?NNe^BjV|^&;!tPTmc{>_owqKF zf5c>Fr=DAS@uB4xeT7Rx)j0G0@^o~)%CoctGS6erI$g^gM-`RnYJao@aV63R-7@%O zi}pukp7&dUvL15=EBsZ~CBJ0nzBS2rS#~MbBmbS9TWgUatVlN0RDbI}FP(79tW7kk z?snS652)Mq*D9TO%DVC(jjf!(tG&fupz+_5EaQW$`S9nKEVq{tx06Y2lEqnPQ?O2^ zi0xHlY36M%&%DiBGjG#i-ck*_gYk#nFuRaR&l?e2n!rG=q zbfoa^Xhr?0PI-pNGFT5!5G<9#v-vToT{9lyBE727S;c+Z`Wi~csn zGPcALHpKF_!?HF*Ut8f0N5Z{^wHTRx!&$Xl)P(K${> z<&0|SVZ?OxEW1j<@GaQceLmUQeGUXe|D86!&~f)~`*LN^@o8s6<>`|=i%(Eg6_{Kf zW+_1*{40y*(Q1cr*Z>#8B+0Ih3%tMyx97Pk=}RV|BJQKIhxR+>~D3s_lf>Gh}}r*-8gfm@5dL)q5*UGFJ02G+YR z%_1id*ShQh_kZpEe{RJS?ge2NGu=H3pyU3BoxM$a|9@}q*<=3K2YEiD{eSaT%ozpt(0fZhYA%=nQ05 z#H`~2L2*&xNj06~58fNQyU=a`R}pHUeZN3Ofn&5kY^SY3)Elj``+|lQ5Y@a$!NoP> zGQz)##hNdoo{`0BN)c^F1;!Nsl&gIWR}HZ<-_|YW^9jicctJmvtGE)zf2LN$v*c|r zx0>QQz6l71j$1|8w^h!cQp4$(KNd-ji#$&vn4tgt=48df#-Quu@Zi;pAw}XR4SyJl zI>U&*8v3LW8K1VT>m}9^VzKbvUuf-Jq_ev zYGs$jJ(qDhgB)u%gMai-nZW!m#+*Muk`@En{aCFwocq2$24ey?4Z|l#5uRdxhPm~U zw?f{I@Ju%g1k7iDF>~NEymq^HTn&A*(Qzqv;ZMfzU-dL*1Ura`$W>Nceg>0*J*_h% z#ffunoKl0?eKX{&Zen94B%spQPO#swoqy-N)4|HbmVRmjCD@VmMnTcQsIidOk>LLk9W$0h@G z(5=E|C8wmHtVzIxF4xRLnt-}a;T%VLu9OA=XRQSIvXrQBgEJ3NmQ#qof1JoGn#gsu z2L-syY||r4+Gn`v&2p`-VxNoP)3tH`Fe~hw#2s^3+h2G|(7c|%3l(#Irod`m-igT^ z7|pC#Y;s5MmCtUk2)?@Q;ZEB?^jL@Ttemw>lfmk2D(JHNKcpCI zIc--TuVd38U>AxL$X;lJDERnEMY1WE|Ii|NQJ?EtMjorfa&6lm>WEf5FFfWMW3s?= z$1M(JFD_iCjaU_?A+$qo60uWtG^&fJL9^l7NNn6x_^%}*vnuC`7)c7~_ z3ePd|sgC->fBv`^J{%9r^xFij#bN;&rphZU6U#PdHTK0FydNF7#iyPWsE@s){7ecw z(PB8*^uG9S30+vbjlK^3{Y@{3ltG5 z%DY=6p#8-hm#%DJ%_L!}LmwTOj}FX72j=}cFpaZ5yzkpJ$HGxTm%KwZM6gVgTi8q<(quRj%b%Ln%PcgVQ^5?2FSDwM zP#G5J*NO=gDR^t^M8BWmlQAawC}uebbT3L=^cvmMsqy@hlkDcfBGn8ozD&5({0A zg9GkCe4G`;49mKMhrm0QdDl>uRt0k34J_^jmJRn@FsyFIXC1kU6G{eY@)9I_aI*ou z;UGhP^G+=bwP%9y%m0mASw#|I;3`O8p`wxf!(WnJjQ@Q6e5_C0UM=SUd~FwBo2{=) z^$;&w>xrtje+yz;y6O4YxN{iJ_0OIYVLgas%UwU2?1CnnN)Lsf`QcAZPMNd0k4u}$ zPgE4m#Xx~bRiqvZAAEMw`c|GLudLQ6p<_UL4y^L}GK-DEC45Jo8R`6sV!IZ z_XS@MYafz&3N3T?&9B0ai;QGZmfTT`c@>z1-#4wETh~Y^6A+vp9$PVwd4eNM=zGtR zQJ*-<1=M{Ga~W*kot_>qDf|>RR(E-HC(9`W1Kr7z_}(4eo|&|+8yo-f`AX_Xak*-7 zDLdaM&E%lDyDU3M(~PiNBvxRMd!?C%#R7VJ*`~p4ghkwgaO;C^mC~&*zLkkL17V|+ zZURz3G{u*pxS%||tjq2FTXcxT=8i<}@E_5u_v~F-Q=nOj1$@2uB*hDPNClM%9zjSYY zboS+e)}ra0geQ4{Q!-r(G}^u>L7EXT&8jpGHZ&%9c3fI@-GV2tXrNc;+zl#TrVE(h oSTNh{0`NuIMa@e0a~_|^=ka-b`ab_(00030|FX^SE&y@@000UWfB*mh literal 0 HcmV?d00001 diff --git a/stable/vaultwarden/3.4.0/charts/postgresql-10.5.1.tgz b/stable/vaultwarden/3.4.0/charts/postgresql-10.5.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9e316da60000105810013f859649f9589c513e0b GIT binary patch literal 49272 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 K{tKW0#svULPLH<$ literal 0 HcmV?d00001 diff --git a/stable/vaultwarden/3.4.0/ix_values.yaml b/stable/vaultwarden/3.4.0/ix_values.yaml new file mode 100644 index 00000000000..e3b38897c6b --- /dev/null +++ b/stable/vaultwarden/3.4.0/ix_values.yaml @@ -0,0 +1,54 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: vaultwarden/server + pullPolicy: IfNotPresent + tag: 1.22.1 + +envTpl: + DOMAIN: "https://{{ if .Values.ingress }}{{ if .Values.ingress.main.enabled }}{{ ( index .Values.ingress.main.hosts 0 ).host }}{{ else }}placeholder.com{{ end }}{{ else }}placeholder.com{{ end }}" + +envFrom: + - configMapRef: + name: vaultwardenconfig + - secretRef: + name: vaultwardensecret + + +envValueFrom: + DATABASE_URL: + secretKeyRef: + name: dbcreds + key: url + +database: + # Database type, must be one of: 'sqlite', 'mysql' or 'postgresql'. + type: postgresql + # Enable DB Write-Ahead-Log for SQLite, disabled for other databases. https://github.com/dani-garcia/bitwarden_rs/wiki/Running-without-WAL-enabled + wal: false + ## URL for external databases (mysql://user:pass@host:port or postgresql://user:pass@host:port). + # url: "" + ## Set the size of the database connection pool. + # maxConnections: 10 + ## Connection retries during startup, 0 for infinite. 1 second between retries. + retries: 30 + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: vaultwarden + postgresqlDatabase: vaultwarden + existingSecret: dbcreds + persistence: + enabled: true + existingClaim: db + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/vaultwarden/3.4.0/questions.yaml b/stable/vaultwarden/3.4.0/questions.yaml new file mode 100644 index 00000000000..cfbcf3fe6e6 --- /dev/null +++ b/stable/vaultwarden/3.4.0/questions.yaml @@ -0,0 +1,1193 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + + - variable: vaultwarden + label: "" + group: "App Configuration" + schema: + type: dict + attrs: + - variable: yubico + label: "Yubico OTP authentication" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Yubico OTP authentication" + description: "Please refer to the manual at: https://github.com/dani-garcia/vaultwarden/wiki/Enabling-Yubikey-OTP-authentication" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: server + label: "Yubico server" + description: "Defaults to YubiCloud" + schema: + type: string + default: "" + - variable: clientId + label: "Yubico ID" + schema: + type: string + default: "" + - variable: secretKey + label: "Yubico Secret Key" + schema: + type: string + default: "" + - variable: admin + label: "Admin Portal" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Admin Portal" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: disableAdminToken + label: "Make Accessible Without Password/Token" + schema: + type: boolean + default: false + - variable: token + label: "Admin Portal Password/Token" + description: "Will be automatically generated if not defined" + schema: + type: string + default: "" + - variable: icons + label: "Icon Download Settings" + schema: + type: dict + attrs: + - variable: disableDownload + label: "Disable Icon Download" + description: "Disables download of external icons. Setting to true will still serve icons from cache (/data/icon_cache)" + schema: + type: boolean + default: false + - variable: cache + label: "Cache time-to-live" + description: "Cache time-to-live for icons fetched. 0 means no purging" + schema: + type: int + default: 2592000 + - variable: token + label: "Failed Downloads Cache time-to-live" + description: "Cache time-to-live for icons that were not available. 0 means no purging." + schema: + type: int + default: 2592000 + - variable: log + label: "Logging" + schema: + type: dict + attrs: + - variable: level + label: "Log level" + schema: + type: string + default: "info" + required: true + enum: + - value: "trace" + description: "trace" + - value: "debug" + description: "debug" + - value: "info" + description: "info" + - value: "warn" + description: "warn" + - value: "error" + description: "error" + - value: "off" + description: "off" + - variable: file + label: "Log-File Location" + schema: + type: string + default: "" + - variable: smtp + label: "SMTP Settings (Email)" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable SMTP Support" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: host + label: "SMTP hostname" + schema: + type: string + required: true + default: "" + - variable: from + label: "SMTP sender e-mail address" + schema: + type: string + required: true + default: "" + - variable: fromName + label: "SMTP sender name" + schema: + type: string + required: true + default: "" + - variable: user + label: "SMTP username" + schema: + type: string + required: true + default: "" + - variable: password + label: "SMTP password" + description: "Required is user is specified, ignored if no user provided" + schema: + type: string + default: "" + - variable: ssl + label: "Enable SSL connection" + schema: + type: boolean + default: true + - variable: port + label: "SMTP port" + description: "Usually: 25 without SSL, 587 with SSL" + schema: + type: int + default: 587 + - variable: authMechanism + label: "SMTP Authentication Mechanisms" + description: "Comma-separated options: Plain, Login and Xoauth2" + schema: + type: string + default: "Plain" + - variable: heloName + label: "SMTP HELO - Hostname" + description: "Hostname to be sent for SMTP HELO. Defaults to pod name" + schema: + type: string + default: "" + - variable: port + label: "SMTP timeout" + schema: + type: int + default: 15 + - variable: invalidHostname + label: "Accept Invalid Hostname" + description: "Accept SSL session if certificate is valid but hostname doesn't match. DANGEROUS, vulnerable to men-in-the-middle attacks!" + schema: + type: boolean + default: false + - variable: invalidCertificate + label: "Accept Invalid Certificate" + description: "Accept invalid certificates. DANGEROUS, vulnerable to men-in-the-middle attacks!" + schema: + type: boolean + default: false + - variable: allowSignups + label: "Allow Signup" + description: "Allow any user to sign-up: https://github.com/dani-garcia/vaultwarden/wiki/Disable-registration-of-new-users" + schema: + type: boolean + default: true + - variable: allowInvitation + label: "Always allow Invitation" + description: "Allow invited users to sign-up even feature is disabled: https://github.com/dani-garcia/vaultwarden/wiki/Disable-invitations" + schema: + type: boolean + default: true + - variable: defaultInviteName + label: "Default Invite Organisation Name" + description: "Default organization name in invitation e-mails that are not coming from a specific organization." + schema: + type: string + default: "" + - variable: showPasswordHint + label: "Show password hints" + description: "https://github.com/dani-garcia/vaultwarden/wiki/Password-hint-display" + schema: + type: boolean + default: true + - variable: signupwhitelistenable + label: "Enable Signup Whitelist" + description: "allowSignups is ignored if set" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: signupDomains + label: "Signup Whitelist Domains" + schema: + type: list + default: [] + items: + - variable: domain + label: "Domain" + schema: + type: string + default: "" + - variable: verifySignup + label: "Verifiy Signup" + description: "Verify e-mail before login is enabled. SMTP must be enabled" + schema: + type: boolean + default: false + - variable: requireEmail + label: "Block Login if email fails" + description: "When a user logs in an email is required to be sent. If sending the email fails the login attempt will fail. SMTP must be enabled" + schema: + type: boolean + default: false + - variable: emailAttempts + label: "Email token reset attempts" + description: "Maximum attempts before an email token is reset and a new email will need to be sent" + schema: + type: int + default: 3 + - variable: emailTokenExpiration + label: "Email token validity in seconds" + schema: + type: int + default: 600 + - variable: enableWebsockets + label: "Enable Websocket Connections" + description: "Enable Websockets for notification. https://github.com/dani-garcia/vaultwarden/wiki/Enabling-WebSocket-notifications" + schema: + type: boolean + default: true + hidden: true + - variable: enableWebVault + label: "Enable Webvault" + description: "Enable Web Vault (static content). https://github.com/dani-garcia/vaultwarden/wiki/Disabling-or-overriding-the-Vault-interface-hosting" + schema: + type: boolean + default: true + - variable: orgCreationUsers + label: "Limit Organisation Creation to (users)" + description: "Restrict creation of orgs. Options are: 'all', 'none' or a comma-separated list of users." + schema: + type: string + default: "all" + - variable: attachmentLimitOrg + label: "Limit Attachment Disk Usage per Organisation" + schema: + type: string + default: "" + - variable: attachmentLimitUser + label: "Limit Attachment Disk Usage per User" + schema: + type: string + default: "" + - variable: hibpApiKey + label: "HaveIBeenPwned API Key" + description: "Can be purchased at https://haveibeenpwned.com/API/Key" + schema: + type: string + default: "" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + 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 + default: 36000 + required: true + - variable: ws + label: "WebSocket Service" + description: "WebSocket Service" + schema: + 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: "ClusterIP" + 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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: ws + label: "WebSocket Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 3012 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3012 + editable: true + 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 + default: 36001 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: db + label: "Database Storage" + description: "Stores the Application database." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: forceName + label: "Override PVC Name (advanced)" + description: "Forces a certain name for the PVC" + schema: + type: string + default: "db" + hidden: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + hidden: true + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: dbbackup + label: "Database Backup Storage" + description: "Stores the Application database backups." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/vaultwarden/3.4.0/templates/_configmap.tpl b/stable/vaultwarden/3.4.0/templates/_configmap.tpl new file mode 100644 index 00000000000..8809925abdf --- /dev/null +++ b/stable/vaultwarden/3.4.0/templates/_configmap.tpl @@ -0,0 +1,116 @@ +{{/* Define the configmap */}} +{{- define "vaultwarden.configmap" -}} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: vaultwardenconfig +data: + ROCKET_PORT: "8080" + SIGNUPS_ALLOWED: {{ .Values.vaultwarden.allowSignups | quote }} + {{- if .Values.vaultwarden.signupDomains }} + SIGNUPS_DOMAINS_WHITELIST: {{ join "," .Values.vaultwarden.signupDomains | quote }} + {{- end }} + {{- if and (eq .Values.vaultwarden.verifySignup true) (eq .Values.vaultwarden.smtp.enabled false) }}{{ required "Signup verification requires SMTP to be enabled" nil}}{{end}} + SIGNUPS_VERIFY: {{ .Values.vaultwarden.verifySignup | quote }} + {{- if and (eq .Values.vaultwarden.requireEmail true) (eq .Values.vaultwarden.smtp.enabled false) }}{{ required "Requiring emails for login depends on SMTP" nil}}{{end}} + REQUIRE_DEVICE_EMAIL: {{ .Values.vaultwarden.requireEmail | quote }} + {{- if .Values.vaultwarden.emailAttempts }} + EMAIL_ATTEMPTS_LIMIT: {{ .Values.vaultwarden.emailAttempts | quote }} + {{- end }} + {{- if .Values.vaultwarden.emailTokenExpiration }} + EMAIL_EXPIRATION_TIME: {{ .Values.vaultwarden.emailTokenExpiration | quote }} + {{- end }} + INVITATIONS_ALLOWED: {{ .Values.vaultwarden.allowInvitation | quote }} + {{- if .Values.vaultwarden.defaultInviteName }} + INVITATION_ORG_NAME: {{ .Values.vaultwarden.defaultInviteName | quote }} + {{- end }} + SHOW_PASSWORD_HINT: {{ .Values.vaultwarden.showPasswordHint | quote }} + WEBSOCKET_ENABLED: {{ .Values.vaultwarden.enableWebsockets | quote }} + WEB_VAULT_ENABLED: {{ .Values.vaultwarden.enableWebVault | quote }} + ORG_CREATION_USERS: {{ .Values.vaultwarden.orgCreationUsers | quote }} + {{- if .Values.vaultwarden.attachmentLimitOrg }} + ORG_ATTACHMENT_LIMIT: {{ .Values.vaultwarden.attachmentLimitOrg | quote }} + {{- end }} + {{- if .Values.vaultwarden.attachmentLimitUser }} + USER_ATTACHMENT_LIMIT: {{ .Values.vaultwarden.attachmentLimitUser | quote }} + {{- end }} + {{- if .Values.vaultwarden.hibpApiKey }} + HIBP_API_KEY: {{ .Values.vaultwarden.hibpApiKey | quote }} + {{- end }} + {{- include "vaultwarden.dbTypeValid" . }} + {{- if .Values.database.retries }} + DB_CONNECTION_RETRIES: {{ .Values.database.retries | quote }} + {{- end }} + {{- if .Values.database.maxConnections }} + DATABASE_MAX_CONNS: {{ .Values.database.maxConnections | quote }} + {{- end }} + {{- if eq .Values.vaultwarden.smtp.enabled true }} + SMTP_HOST: {{ required "SMTP host is required to enable SMTP" .Values.vaultwarden.smtp.host | quote }} + SMTP_FROM: {{ required "SMTP sender address ('from') is required to enable SMTP" .Values.vaultwarden.smtp.from | quote }} + {{- if .Values.vaultwarden.smtp.fromName }} + SMTP_FROM_NAME: {{ .Values.vaultwarden.smtp.fromName | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.ssl }} + SMTP_SSL: {{ .Values.vaultwarden.smtp.ssl | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.port }} + SMTP_PORT: {{ .Values.vaultwarden.smtp.port | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.authMechanism }} + SMTP_AUTH_MECHANISM: {{ .Values.vaultwarden.smtp.authMechanism | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.heloName }} + HELO_NAME: {{ .Values.vaultwarden.smtp.heloName | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.timeout }} + SMTP_TIMEOUT: {{ .Values.vaultwarden.smtp.timeout | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.invalidHostname }} + SMTP_ACCEPT_INVALID_HOSTNAMES: {{ .Values.vaultwarden.smtp.invalidHostname | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.invalidCertificate }} + SMTP_ACCEPT_INVALID_CERTS: {{ .Values.vaultwarden.smtp.invalidCertificate | quote }} + {{- end }} + {{- end }} + {{- if .Values.vaultwarden.log.file }} + LOG_FILE: {{ .Values.vaultwarden.log.file | quote }} + {{- end }} + {{- if or .Values.vaultwarden.log.level .Values.vaultwarden.log.timeFormat }} + EXTENDED_LOGGING: "true" + {{- end }} + {{- if .Values.vaultwarden.log.level }} + {{- include "vaultwarden.logLevelValid" . }} + LOG_LEVEL: {{ .Values.vaultwarden.log.level | quote }} + {{- end }} + {{- if .Values.vaultwarden.log.timeFormat }} + LOG_TIMESTAMP_FORMAT: {{ .Values.vaultwarden.log.timeFormat | quote }} + {{- end }} + {{- if .Values.vaultwarden.icons.disableDownload }} + DISABLE_ICON_DOWNLOAD: {{ .Values.vaultwarden.icons.disableDownload | quote }} + {{- if and (not .Values.vaultwarden.icons.cache) (eq .Values.vaultwarden.icons.disableDownload "true") }} + ICON_CACHE_TTL: "0" + {{- end }} + {{- end }} + {{- if .Values.vaultwarden.icons.cache }} + ICON_CACHE_TTL: {{ .Values.vaultwarden.icons.cache | quote }} + {{- end }} + {{- if .Values.vaultwarden.icons.cacheFailed }} + ICON_CACHE_NEGTTL: {{ .Values.vaultwarden.icons.cacheFailed | quote }} + {{- end }} + {{- if eq .Values.vaultwarden.admin.enabled true }} + {{- if eq .Values.vaultwarden.admin.disableAdminToken true }} + DISABLE_ADMIN_TOKEN: "true" + {{- end }} + {{- end }} + {{- if eq .Values.vaultwarden.yubico.enabled true }} + {{- if .Values.vaultwarden.yubico.server }} + YUBICO_SERVER: {{ .Values.vaultwarden.yubico.server | quote }} + {{- end }} + {{- end }} + {{- if eq .Values.database.type "sqlite" }} + ENABLE_DB_WAL: {{ .Values.database.wal | quote }} + {{- else }} + ENABLE_DB_WAL: "false" + {{- end }} +{{- end -}} diff --git a/stable/vaultwarden/3.4.0/templates/_secrets.tpl b/stable/vaultwarden/3.4.0/templates/_secrets.tpl new file mode 100644 index 00000000000..6a7bf408bb8 --- /dev/null +++ b/stable/vaultwarden/3.4.0/templates/_secrets.tpl @@ -0,0 +1,59 @@ +{{/* Define the secrets */}} +{{- define "vaultwarden.secrets" -}} + +{{- $adminToken := "" }} +{{- if eq .Values.vaultwarden.admin.enabled true }} +{{- $adminToken = .Values.vaultwarden.admin.token | default (randAlphaNum 48) | b64enc | quote }} +{{- end -}} + +{{- $smtpUser := "" }} +{{- if and (eq .Values.vaultwarden.smtp.enabled true ) (.Values.vaultwarden.smtp.user) }} +{{- $smtpUser = .Values.vaultwarden.smtp.user | b64enc | quote }} +{{- end -}} + +{{- $yubicoClientId := "" }} +{{- if eq .Values.vaultwarden.yubico.enabled true }} +{{- $yubicoClientId = required "Yubico Client ID required" .Values.vaultwarden.yubico.clientId | toString | b64enc | quote }} +{{- end -}} +--- + +apiVersion: v1 +kind: Secret +metadata: + name: vaultwardensecret +data: + {{- if ne $adminToken "" }} + ADMIN_TOKEN: {{ $adminToken }} + {{- end }} + {{- if ne $smtpUser "" }} + SMTP_USERNAME: {{ $smtpUser }} + SMTP_PASSWORD: {{ required "Must specify SMTP password" .Values.vaultwarden.smtp.password | b64enc | quote }} + {{- end }} + {{- if ne $yubicoClientId "" }} + YUBICO_CLIENT_ID: {{ $yubicoClientId }} + YUBICO_SECRET_KEY: {{ required "Yubico Secret Key required" .Values.vaultwarden.yubico.secretKey | b64enc | quote }} + {{- end }} + +--- + +apiVersion: v1 +kind: Secret +metadata: + labels: + {{- include "common.labels" . | nindent 4 }} + name: dbcreds +{{- $previous := lookup "v1" "Secret" .Release.Namespace "dbcreds" }} +{{- $dbPass := "" }} +data: +{{- if $previous }} + {{- $dbPass = ( index $previous.data "postgresql-password" ) | b64dec }} + postgresql-password: {{ ( index $previous.data "postgresql-password" ) }} + postgresql-postgres-password: {{ ( index $previous.data "postgresql-postgres-password" ) }} +{{- else }} + {{- $dbPass = randAlphaNum 50 }} + postgresql-password: {{ $dbPass | b64enc | quote }} + postgresql-postgres-password: {{ randAlphaNum 50 | b64enc | quote }} +{{- end }} + url: {{ ( printf "%v%v:%v@%v-%v:%v/%v" "postgresql://" .Values.postgresql.postgresqlUsername $dbPass .Release.Name "postgresql" "5432" .Values.postgresql.postgresqlDatabase ) | b64enc | quote }} +type: Opaque +{{- end -}} diff --git a/stable/vaultwarden/3.4.0/templates/_validate.tpl b/stable/vaultwarden/3.4.0/templates/_validate.tpl new file mode 100644 index 00000000000..e4832c2f6e5 --- /dev/null +++ b/stable/vaultwarden/3.4.0/templates/_validate.tpl @@ -0,0 +1,17 @@ +{{/* +Ensure valid DB type is select, defaults to SQLite +*/}} +{{- define "vaultwarden.dbTypeValid" -}} +{{- if not (or (eq .Values.database.type "postgresql") (eq .Values.database.type "mysql") (eq .Values.database.type "sqlite")) }} +{{- required "Invalid database type" nil }} +{{- end -}} +{{- end -}} + +{{/* +Ensure log type is valid +*/}} +{{- define "vaultwarden.logLevelValid" -}} +{{- if not (or (eq .Values.vaultwarden.log.level "trace") (eq .Values.vaultwarden.log.level "debug") (eq .Values.vaultwarden.log.level "info") (eq .Values.vaultwarden.log.level "warn") (eq .Values.vaultwarden.log.level "error") (eq .Values.vaultwarden.log.level "off")) }} +{{- required "Invalid log level" nil }} +{{- end }} +{{- end }} diff --git a/stable/vaultwarden/3.4.0/templates/common.yaml b/stable/vaultwarden/3.4.0/templates/common.yaml new file mode 100644 index 00000000000..74f04d2d8c2 --- /dev/null +++ b/stable/vaultwarden/3.4.0/templates/common.yaml @@ -0,0 +1,11 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Render the templates */}} +{{ include "common.all" . }} + +{{/* Render configmap for vaultwarden */}} +{{- include "vaultwarden.configmap" . }} + +{{/* Render secrets for vaultwarden */}} +{{- include "vaultwarden.secrets" . }} diff --git a/stable/vaultwarden/3.4.0/test_values.yaml b/stable/vaultwarden/3.4.0/test_values.yaml new file mode 100644 index 00000000000..e8ea2c4567a --- /dev/null +++ b/stable/vaultwarden/3.4.0/test_values.yaml @@ -0,0 +1,172 @@ +# Default values for Bitwarden. + +image: + repository: vaultwarden/server + pullPolicy: IfNotPresent + tag: 1.22.1 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8080 + ws: + ports: + ws: + enabled: true + port: 3012 + +env: {} + +envTpl: + DOMAIN: "https://{{ if .Values.ingress }}{{ if .Values.ingress.main.enabled }}{{ ( index .Values.ingress.main.hosts 0 ).host }}{{ else }}placeholder.com{{ end }}{{ else }}placeholder.com{{ end }}" + +envFrom: + - configMapRef: + name: vaultwardenconfig + - secretRef: + name: vaultwardensecret + +envValueFrom: + DATABASE_URL: + secretKeyRef: + name: dbcreds + key: url + +database: + # Database type, must be one of: 'sqlite', 'mysql' or 'postgresql'. + type: postgresql + # Enable DB Write-Ahead-Log for SQLite, disabled for other databases. https://github.com/dani-garcia/bitwarden_rs/wiki/Running-without-WAL-enabled + wal: true + ## URL for external databases (mysql://user:pass@host:port or postgresql://user:pass@host:port). + # url: "" + ## Set the size of the database connection pool. + # maxConnections: 10 + ## Connection retries during startup, 0 for infinite. 1 second between retries. + # retries: 15 + +# Set Bitwarden_rs application variables +vaultwarden: + # Allow any user to sign-up: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-registration-of-new-users + allowSignups: true + ## Whitelist domains allowed to sign-up. 'allowSignups' is ignored if set. + # signupDomains: + # - domain.tld + # Verify e-mail before login is enabled. SMTP must be enabled. + verifySignup: false + # When a user logs in an email is required to be sent. If sending the email fails the login attempt will fail. SMTP must be enabled. + requireEmail: false + ## Maximum attempts before an email token is reset and a new email will need to be sent. + # emailAttempts: 3 + ## Email token validity in seconds. + # emailTokenExpiration: 600 + # Allow invited users to sign-up even feature is disabled: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-invitations + allowInvitation: true + # Show password hints: https://github.com/dani-garcia/bitwarden_rs/wiki/Password-hint-display + ## Default organization name in invitation e-mails that are not coming from a specific organization. + # defaultInviteName: "" + showPasswordHint: true + # Enable Websockets for notification. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-WebSocket-notifications + # Redirect HTTP path "/notifications/hub" to port 3012. Ingress/IngressRoute controllers are automatically configured. + enableWebsockets: true + # Enable Web Vault (static content). https://github.com/dani-garcia/bitwarden_rs/wiki/Disabling-or-overriding-the-Vault-interface-hosting + enableWebVault: true + # Restrict creation of orgs. Options are: 'all', 'none' or a comma-separated list of users. + orgCreationUsers: all + ## Limit attachment disk usage per organization. + # attachmentLimitOrg: + ## Limit attachment disk usage per user. + # attachmentLimitUser: + ## HaveIBeenPwned API Key. Can be purchased at https://haveibeenpwned.com/API/Key. + # hibpApiKey: + + admin: + # Enable admin portal. + enabled: false + # Disabling the admin token will make the admin portal accessible to anyone, use carefully: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-admin-token + disableAdminToken: false + ## Token for admin login, will be generated if not defined. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-admin-page + # token: + + # Enable SMTP. https://github.com/dani-garcia/bitwarden_rs/wiki/SMTP-configuration + smtp: + enabled: false + # SMTP hostname, required if SMTP is enabled. + host: "" + # SMTP sender e-mail address, required if SMTP is enabled. + from: "" + ## SMTP sender name, defaults to 'Bitwarden_RS'. + # fromName: "" + ## Enable SSL connection. + # ssl: true + ## SMTP port. Defaults to 25 without SSL, 587 with SSL. + # port: 587 + ## SMTP Authentication Mechanisms. Comma-separated options: 'Plain', 'Login' and 'Xoauth2'. Defaults to 'Plain'. + # authMechanism: Plain + ## Hostname to be sent for SMTP HELO. Defaults to pod name. + # heloName: "" + ## SMTP timeout. + # timeout: 15 + ## Accept SSL session if certificate is valid but hostname doesn't match. DANGEROUS, vulnerable to men-in-the-middle attacks! + # invalidHostname: false + ## Accept invalid certificates. DANGEROUS, vulnerable to men-in-the-middle attacks! + # invalidCertificate: false + ## SMTP username. + # user: "" + ## SMTP password. Required is user is specified, ignored if no user provided. + # password: "" + + ## Enable Yubico OTP authentication. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-Yubikey-OTP-authentication + yubico: + enabled: false + ## Yubico server. Defaults to YubiCloud. + # server: + ## Yubico ID and Secret Key. + # clientId: + # secretKey: + + ## Logging options. https://github.com/dani-garcia/bitwarden_rs/wiki/Logging + log: + # Log to file. + file: "" + # Log level. Options are "trace", "debug", "info", "warn", "error" or "off". + level: "trace" + ## Log timestamp format. See https://docs.rs/chrono/0.4.15/chrono/format/strftime/index.html. Defaults to time in milliseconds. + # timeFormat: "" + + icons: + # Disables download of external icons. Setting to true will still serve icons from cache (/data/icon_cache). TTL will default to zero. + disableDownload: false + ## Cache time-to-live for icons fetched. 0 means no purging. + # cache: 2592000 + ## Cache time-to-live for icons that were not available. 0 means no purging. + # cacheFailed: 259200 + +persistence: + data: + enabled: true + mountPath: "/data" + type: emptyDir + + db: + forceName: "db" + enabled: true + type: emptyDir + + dbbackup: + enabled: true + type: emptyDir + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: vaultwarden + postgresqlDatabase: vaultwarden + existingSecret: dbcreds + persistence: + enabled: false + existingClaim: db diff --git a/stable/vaultwarden/3.4.0/values.yaml b/stable/vaultwarden/3.4.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/zwavejs2mqtt/6.3.0/CONFIG.md b/stable/zwavejs2mqtt/6.3.0/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/zwavejs2mqtt/6.3.0/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/zwavejs2mqtt/6.3.0/Chart.lock b/stable/zwavejs2mqtt/6.3.0/Chart.lock new file mode 100644 index 00000000000..25de7f00898 --- /dev/null +++ b/stable/zwavejs2mqtt/6.3.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +digest: sha256:ed596d2f9e2a64ab7aa4d46950d27ade9b8f11fde1cfd14f4142f6409f6b5e84 +generated: "2021-07-03T10:47:47.503912726Z" diff --git a/stable/zwavejs2mqtt/6.3.0/Chart.yaml b/stable/zwavejs2mqtt/6.3.0/Chart.yaml new file mode 100644 index 00000000000..c20b59db2a9 --- /dev/null +++ b/stable/zwavejs2mqtt/6.3.0/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.5.0 +deprecated: false +description: Fully configurable Zwave to MQTT gateway and Control Panel using NodeJS + and Vue +home: https://github.com/truecharts/apps/tree/master/charts/stable/zwavejs2mqtt +icon: https://raw.githubusercontent.com/zwave-js/zwavejs2mqtt/master/static/logo.png +keywords: +- zwavejs2mqtt +- zwave-js +- z-wave +- zwave +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: 35702532+tprelog@users.noreply.github.com + name: tprelog + url: truecharts.org +name: zwavejs2mqtt +sources: +- https://github.com/zwave-js/zwavejs2mqtt +- https://hub.docker.com/r/zwavejs/zwavejs2mqtt +type: application +version: 6.3.0 diff --git a/stable/zwavejs2mqtt/6.3.0/README.md b/stable/zwavejs2mqtt/6.3.0/README.md new file mode 100644 index 00000000000..d7133ec765c --- /dev/null +++ b/stable/zwavejs2mqtt/6.3.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Fully configurable Zwave to MQTT gateway and Control Panel using NodeJS and Vue + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `zwavejs2mqtt` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `zwavejs2mqtt` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/zwavejs2mqtt/6.3.0/app-readme.md b/stable/zwavejs2mqtt/6.3.0/app-readme.md new file mode 100644 index 00000000000..4bb94a1a5a3 --- /dev/null +++ b/stable/zwavejs2mqtt/6.3.0/app-readme.md @@ -0,0 +1,3 @@ +Fully configurable Zwave to MQTT gateway and Control Panel using NodeJS and Vue +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Fully configurable Zwave to MQTT gateway and Control Panel using NodeJS diff --git a/stable/zwavejs2mqtt/6.3.0/charts/common-6.5.0.tgz b/stable/zwavejs2mqtt/6.3.0/charts/common-6.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9437e21fc80b9e1d2ee78ad792ce8a76b9395e3e GIT binary patch literal 23425 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 literal 0 HcmV?d00001 diff --git a/stable/zwavejs2mqtt/6.3.0/ix_values.yaml b/stable/zwavejs2mqtt/6.3.0/ix_values.yaml new file mode 100644 index 00000000000..bca859db01a --- /dev/null +++ b/stable/zwavejs2mqtt/6.3.0/ix_values.yaml @@ -0,0 +1,63 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: zwavejs/zwavejs2mqtt + pullPolicy: IfNotPresent + tag: 5.2.1 + +# 5=tty 20=dialout 24=cdrom +podSecurityContext: + runAsNonRoot: true + supplementalGroups: [5, 20, 24] + +probes: + liveness: + enabled: true + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 + readiness: + enabled: true + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 + startup: + enabled: false + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/zwavejs2mqtt/6.3.0/questions.yaml b/stable/zwavejs2mqtt/6.3.0/questions.yaml new file mode 100644 index 00000000000..22355a677c6 --- /dev/null +++ b/stable/zwavejs2mqtt/6.3.0/questions.yaml @@ -0,0 +1,798 @@ +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: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + 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" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + 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: "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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: port + label: "Container Port" + schema: + type: int + default: 8091 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8091 + editable: true + 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 + default: 36022 + required: true + - variable: ws + label: "WebSocket Service" + description: "WebSocket Service" + schema: + 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: "ClusterIP" + 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: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: ws + label: "WebSocket Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - 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: port + label: "Container Port" + schema: + type: int + default: 3000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3000 + editable: true + 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 + default: 36023 + required: true + # Configure app volumes + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + 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: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/usr/src/app/store" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + 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: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + 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" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "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: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + 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: + 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: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + 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: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + 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" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/zwavejs2mqtt/6.3.0/templates/common.yaml b/stable/zwavejs2mqtt/6.3.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/zwavejs2mqtt/6.3.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/zwavejs2mqtt/6.3.0/test_values.yaml b/stable/zwavejs2mqtt/6.3.0/test_values.yaml new file mode 100644 index 00000000000..f4fb2208f85 --- /dev/null +++ b/stable/zwavejs2mqtt/6.3.0/test_values.yaml @@ -0,0 +1,103 @@ +# Default values for zwavejs2mqtt. +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/charts/tree/master/charts/common + +image: + repository: zwavejs/zwavejs2mqtt + pullPolicy: IfNotPresent + tag: 5.2.1 + +strategy: + type: Recreate + +# 5=tty 20=dialout 24=cdrom +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [5, 20, 24] + +# # See more environment variables in the zwavejs2mqtt documentation +# https://zwave-js.github.io/zwavejs2mqtt/#/guide/env-vars +env: {} + # OZW_NETWORK_KEY: + +probes: + liveness: + enabled: true + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 + readiness: + enabled: true + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 + startup: + enabled: false + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 + +service: + main: + ports: + main: + port: 8091 + ws: + enabled: true + type: ClusterIP + ports: + ws: + enabled: true + port: 3000 + protocol: TCP + +# Privileged may be required if USB controller is accessed directly through the host machine +# securityContext: +# privileged: true + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir + + +# affinity: +# nodeAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# nodeSelectorTerms: +# - matchExpressions: +# - key: app +# operator: In +# values: +# - zwave-controller diff --git a/stable/zwavejs2mqtt/6.3.0/values.yaml b/stable/zwavejs2mqtt/6.3.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d