From 28741618eb0bab500a42c09be47b251355cb45c6 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Sat, 28 Aug 2021 12:42:33 +0000 Subject: [PATCH] Commit new App releases for TrueCharts Signed-off-by: TrueCharts-Bot --- incubator/authelia/0.0.2/CONFIG.md | 0 incubator/authelia/0.0.2/Chart.lock | 12 + incubator/authelia/0.0.2/Chart.yaml | 41 + incubator/authelia/0.0.2/README.md | 0 incubator/authelia/0.0.2/app-readme.md | 1 + .../authelia/0.0.2/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes .../0.0.2/charts/postgresql-1.2.3.tgz | Bin 0 -> 29624 bytes .../authelia/0.0.2/charts/redis-14.8.11.tgz | Bin 0 -> 77728 bytes incubator/authelia/0.0.2/ix_values.yaml | 231 +++ incubator/authelia/0.0.2/questions.yaml | 1390 +++++++++++++++++ .../authelia/0.0.2/templates/_configmap.tpl | 245 +++ .../authelia/0.0.2/templates/_secrets.tpl | 112 ++ .../authelia/0.0.2/templates/common.yaml | 72 + incubator/authelia/0.0.2/test_values.yaml | 662 ++++++++ incubator/authelia/0.0.2/values.yaml | 0 incubator/nextcloud/2.3.3/CONFIG.md | 8 + incubator/nextcloud/2.3.3/Chart.lock | 12 + incubator/nextcloud/2.3.3/Chart.yaml | 36 + incubator/nextcloud/2.3.3/README.md | 45 + incubator/nextcloud/2.3.3/app-readme.md | 4 + .../nextcloud/2.3.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes .../2.3.3/charts/postgresql-1.1.0.tgz | Bin 0 -> 29484 bytes .../nextcloud/2.3.3/charts/redis-14.8.11.tgz | Bin 0 -> 77728 bytes incubator/nextcloud/2.3.3/ix_values.yaml | 187 +++ incubator/nextcloud/2.3.3/questions.yaml | 971 ++++++++++++ .../nextcloud/2.3.3/templates/_configmap.tpl | 33 + .../nextcloud/2.3.3/templates/_cronjob.tpl | 51 + .../nextcloud/2.3.3/templates/_secrets.tpl | 50 + .../nextcloud/2.3.3/templates/common.yaml | 14 + incubator/nextcloud/2.3.3/test_values.yaml | 210 +++ incubator/nextcloud/2.3.3/values.yaml | 0 stable/airsonic/1.8.3/CONFIG.md | 8 + stable/airsonic/1.8.3/Chart.lock | 6 + stable/airsonic/1.8.3/Chart.yaml | 22 + stable/airsonic/1.8.3/README.md | 44 + stable/airsonic/1.8.3/app-readme.md | 4 + .../airsonic/1.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/airsonic/1.8.3/ix_values.yaml | 19 + stable/airsonic/1.8.3/questions.yaml | 651 ++++++++ stable/airsonic/1.8.3/templates/common.yaml | 1 + stable/airsonic/1.8.3/test_values.yaml | 60 + stable/airsonic/1.8.3/values.yaml | 0 stable/appdaemon/3.8.3/CONFIG.md | 8 + stable/appdaemon/3.8.3/Chart.lock | 6 + stable/appdaemon/3.8.3/Chart.yaml | 29 + stable/appdaemon/3.8.3/README.md | 42 + stable/appdaemon/3.8.3/app-readme.md | 4 + .../appdaemon/3.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/appdaemon/3.8.3/ix_values.yaml | 16 + stable/appdaemon/3.8.3/questions.yaml | 623 ++++++++ stable/appdaemon/3.8.3/templates/common.yaml | 1 + stable/appdaemon/3.8.3/test_values.yaml | 41 + stable/appdaemon/3.8.3/values.yaml | 0 stable/bazarr/6.8.3/CONFIG.md | 8 + stable/bazarr/6.8.3/Chart.lock | 6 + stable/bazarr/6.8.3/Chart.yaml | 32 + stable/bazarr/6.8.3/README.md | 43 + stable/bazarr/6.8.3/app-readme.md | 4 + stable/bazarr/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/bazarr/6.8.3/ix_values.yaml | 15 + stable/bazarr/6.8.3/questions.yaml | 687 ++++++++ stable/bazarr/6.8.3/templates/common.yaml | 1 + stable/bazarr/6.8.3/test_values.yaml | 26 + stable/bazarr/6.8.3/values.yaml | 0 stable/booksonic-air/1.6.3/CONFIG.md | 8 + stable/booksonic-air/1.6.3/Chart.lock | 6 + stable/booksonic-air/1.6.3/Chart.yaml | 23 + stable/booksonic-air/1.6.3/README.md | 43 + stable/booksonic-air/1.6.3/app-readme.md | 4 + .../1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/booksonic-air/1.6.3/ix_values.yaml | 15 + stable/booksonic-air/1.6.3/questions.yaml | 649 ++++++++ .../booksonic-air/1.6.3/templates/common.yaml | 1 + stable/booksonic-air/1.6.3/test_values.yaml | 47 + stable/booksonic-air/1.6.3/values.yaml | 0 stable/calibre-web/6.8.3/CONFIG.md | 8 + stable/calibre-web/6.8.3/Chart.lock | 6 + stable/calibre-web/6.8.3/Chart.yaml | 26 + stable/calibre-web/6.8.3/README.md | 43 + stable/calibre-web/6.8.3/app-readme.md | 4 + .../6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/calibre-web/6.8.3/ix_values.yaml | 16 + stable/calibre-web/6.8.3/questions.yaml | 648 ++++++++ .../calibre-web/6.8.3/templates/common.yaml | 1 + stable/calibre-web/6.8.3/test_values.yaml | 28 + stable/calibre-web/6.8.3/values.yaml | 0 stable/calibre/1.6.3/CONFIG.md | 8 + stable/calibre/1.6.3/Chart.lock | 6 + stable/calibre/1.6.3/Chart.yaml | 21 + stable/calibre/1.6.3/README.md | 43 + stable/calibre/1.6.3/app-readme.md | 4 + stable/calibre/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/calibre/1.6.3/ix_values.yaml | 15 + stable/calibre/1.6.3/questions.yaml | 764 +++++++++ stable/calibre/1.6.3/templates/common.yaml | 3 + stable/calibre/1.6.3/test_values.yaml | 58 + stable/calibre/1.6.3/values.yaml | 0 stable/collabora-online/6.8.3/CONFIG.md | 8 + stable/collabora-online/6.8.3/Chart.lock | 6 + stable/collabora-online/6.8.3/Chart.yaml | 28 + stable/collabora-online/6.8.3/README.md | 44 + stable/collabora-online/6.8.3/app-readme.md | 4 + .../6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/collabora-online/6.8.3/ix_values.yaml | 14 + stable/collabora-online/6.8.3/questions.yaml | 564 +++++++ .../6.8.3/templates/common.yaml | 1 + .../collabora-online/6.8.3/test_values.yaml | 22 + stable/collabora-online/6.8.3/values.yaml | 0 stable/deconz/1.6.3/CONFIG.md | 8 + stable/deconz/1.6.3/Chart.lock | 6 + stable/deconz/1.6.3/Chart.yaml | 25 + stable/deconz/1.6.3/README.md | 43 + stable/deconz/1.6.3/app-readme.md | 4 + stable/deconz/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/deconz/1.6.3/ix_values.yaml | 15 + stable/deconz/1.6.3/questions.yaml | 868 ++++++++++ stable/deconz/1.6.3/templates/common.yaml | 1 + stable/deconz/1.6.3/test_values.yaml | 72 + stable/deconz/1.6.3/values.yaml | 0 stable/deepstack-cpu/4.8.3/CONFIG.md | 8 + stable/deepstack-cpu/4.8.3/Chart.lock | 6 + stable/deepstack-cpu/4.8.3/Chart.yaml | 28 + stable/deepstack-cpu/4.8.3/README.md | 44 + stable/deepstack-cpu/4.8.3/app-readme.md | 4 + .../4.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/deepstack-cpu/4.8.3/ix_values.yaml | 19 + stable/deepstack-cpu/4.8.3/questions.yaml | 701 +++++++++ .../deepstack-cpu/4.8.3/templates/common.yaml | 1 + stable/deepstack-cpu/4.8.3/test_values.yaml | 39 + stable/deepstack-cpu/4.8.3/values.yaml | 0 stable/deluge/6.8.3/CONFIG.md | 8 + stable/deluge/6.8.3/Chart.lock | 6 + stable/deluge/6.8.3/Chart.yaml | 24 + stable/deluge/6.8.3/README.md | 42 + stable/deluge/6.8.3/app-readme.md | 4 + stable/deluge/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/deluge/6.8.3/ix_values.yaml | 16 + stable/deluge/6.8.3/questions.yaml | 763 +++++++++ stable/deluge/6.8.3/templates/common.yaml | 1 + stable/deluge/6.8.3/test_values.yaml | 33 + stable/deluge/6.8.3/values.yaml | 0 stable/dizquetv/1.6.3/CONFIG.md | 8 + stable/dizquetv/1.6.3/Chart.lock | 6 + stable/dizquetv/1.6.3/Chart.yaml | 22 + stable/dizquetv/1.6.3/README.md | 43 + stable/dizquetv/1.6.3/app-readme.md | 4 + .../dizquetv/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/dizquetv/1.6.3/ix_values.yaml | 15 + stable/dizquetv/1.6.3/questions.yaml | 649 ++++++++ stable/dizquetv/1.6.3/templates/common.yaml | 1 + stable/dizquetv/1.6.3/test_values.yaml | 40 + stable/dizquetv/1.6.3/values.yaml | 0 stable/duplicati/1.6.3/CONFIG.md | 8 + stable/duplicati/1.6.3/Chart.lock | 6 + stable/duplicati/1.6.3/Chart.yaml | 21 + stable/duplicati/1.6.3/README.md | 43 + stable/duplicati/1.6.3/app-readme.md | 4 + .../duplicati/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/duplicati/1.6.3/ix_values.yaml | 15 + stable/duplicati/1.6.3/questions.yaml | 649 ++++++++ stable/duplicati/1.6.3/templates/common.yaml | 1 + stable/duplicati/1.6.3/test_values.yaml | 43 + stable/duplicati/1.6.3/values.yaml | 0 stable/emby/6.8.3/CONFIG.md | 8 + stable/emby/6.8.3/Chart.lock | 6 + stable/emby/6.8.3/Chart.yaml | 28 + stable/emby/6.8.3/README.md | 43 + stable/emby/6.8.3/app-readme.md | 4 + stable/emby/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/emby/6.8.3/ix_values.yaml | 15 + stable/emby/6.8.3/questions.yaml | 695 +++++++++ stable/emby/6.8.3/templates/common.yaml | 1 + stable/emby/6.8.3/test_values.yaml | 29 + stable/emby/6.8.3/values.yaml | 0 stable/esphome/6.8.3/CONFIG.md | 8 + stable/esphome/6.8.3/Chart.lock | 6 + stable/esphome/6.8.3/Chart.yaml | 27 + stable/esphome/6.8.3/README.md | 43 + stable/esphome/6.8.3/app-readme.md | 4 + stable/esphome/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/esphome/6.8.3/ix_values.yaml | 15 + stable/esphome/6.8.3/questions.yaml | 790 ++++++++++ stable/esphome/6.8.3/templates/common.yaml | 1 + stable/esphome/6.8.3/test_values.yaml | 30 + stable/esphome/6.8.3/values.yaml | 0 stable/external-service/1.1.4/CONFIG.md | 8 + stable/external-service/1.1.4/Chart.lock | 6 + stable/external-service/1.1.4/Chart.yaml | 26 + stable/external-service/1.1.4/README.md | 42 + stable/external-service/1.1.4/app-readme.md | 4 + .../1.1.4/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/external-service/1.1.4/ix_values.yaml | 15 + stable/external-service/1.1.4/questions.yaml | 245 +++ .../1.1.4/templates/common.yaml | 1 + .../external-service/1.1.4/test_values.yaml | 15 + stable/external-service/1.1.4/values.yaml | 0 stable/fireflyiii/5.3.3/CONFIG.md | 8 + stable/fireflyiii/5.3.3/Chart.lock | 9 + stable/fireflyiii/5.3.3/Chart.yaml | 30 + stable/fireflyiii/5.3.3/README.md | 43 + stable/fireflyiii/5.3.3/app-readme.md | 4 + .../fireflyiii/5.3.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes .../5.3.3/charts/postgresql-1.1.0.tgz | Bin 0 -> 29484 bytes stable/fireflyiii/5.3.3/ix_values.yaml | 54 + stable/fireflyiii/5.3.3/questions.yaml | 698 +++++++++ stable/fireflyiii/5.3.3/templates/common.yaml | 5 + .../fireflyiii/5.3.3/templates/secrets.yaml | 19 + stable/fireflyiii/5.3.3/test_values.yaml | 70 + stable/fireflyiii/5.3.3/values.yaml | 0 stable/flaresolverr/1.6.3/CONFIG.md | 8 + stable/flaresolverr/1.6.3/Chart.lock | 6 + stable/flaresolverr/1.6.3/Chart.yaml | 22 + stable/flaresolverr/1.6.3/README.md | 43 + stable/flaresolverr/1.6.3/app-readme.md | 4 + .../1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/flaresolverr/1.6.3/ix_values.yaml | 15 + stable/flaresolverr/1.6.3/questions.yaml | 686 ++++++++ .../flaresolverr/1.6.3/templates/common.yaml | 1 + stable/flaresolverr/1.6.3/test_values.yaml | 28 + stable/flaresolverr/1.6.3/values.yaml | 0 stable/flood/1.6.3/CONFIG.md | 8 + stable/flood/1.6.3/Chart.lock | 6 + stable/flood/1.6.3/Chart.yaml | 24 + stable/flood/1.6.3/README.md | 43 + stable/flood/1.6.3/app-readme.md | 4 + stable/flood/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/flood/1.6.3/ci/ct-values.yaml | 5 + stable/flood/1.6.3/ix_values.yaml | 15 + stable/flood/1.6.3/questions.yaml | 693 ++++++++ stable/flood/1.6.3/templates/common.yaml | 1 + stable/flood/1.6.3/test_values.yaml | 36 + stable/flood/1.6.3/values.yaml | 0 stable/focalboard/1.6.3/CONFIG.md | 8 + stable/focalboard/1.6.3/Chart.lock | 6 + stable/focalboard/1.6.3/Chart.yaml | 25 + stable/focalboard/1.6.3/README.md | 44 + stable/focalboard/1.6.3/app-readme.md | 4 + .../focalboard/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/focalboard/1.6.3/ix_values.yaml | 15 + stable/focalboard/1.6.3/questions.yaml | 686 ++++++++ stable/focalboard/1.6.3/templates/common.yaml | 1 + stable/focalboard/1.6.3/test_values.yaml | 36 + stable/focalboard/1.6.3/values.yaml | 0 stable/freeradius/1.4.3/CONFIG.md | 8 + stable/freeradius/1.4.3/Chart.lock | 6 + stable/freeradius/1.4.3/Chart.yaml | 27 + stable/freeradius/1.4.3/README.md | 43 + stable/freeradius/1.4.3/app-readme.md | 4 + .../freeradius/1.4.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/freeradius/1.4.3/ix_values.yaml | 34 + stable/freeradius/1.4.3/questions.yaml | 619 ++++++++ stable/freeradius/1.4.3/templates/common.yaml | 5 + stable/freeradius/1.4.3/test_values.yaml | 47 + stable/freeradius/1.4.3/values.yaml | 0 stable/freshrss/6.8.3/CONFIG.md | 8 + stable/freshrss/6.8.3/Chart.lock | 6 + stable/freshrss/6.8.3/Chart.yaml | 24 + stable/freshrss/6.8.3/README.md | 43 + stable/freshrss/6.8.3/app-readme.md | 4 + .../freshrss/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/freshrss/6.8.3/ix_values.yaml | 16 + stable/freshrss/6.8.3/questions.yaml | 648 ++++++++ stable/freshrss/6.8.3/templates/common.yaml | 1 + stable/freshrss/6.8.3/test_values.yaml | 26 + stable/freshrss/6.8.3/values.yaml | 0 stable/gaps/6.8.3/CONFIG.md | 8 + stable/gaps/6.8.3/Chart.lock | 6 + stable/gaps/6.8.3/Chart.yaml | 25 + stable/gaps/6.8.3/README.md | 42 + stable/gaps/6.8.3/app-readme.md | 4 + stable/gaps/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/gaps/6.8.3/ix_values.yaml | 15 + stable/gaps/6.8.3/questions.yaml | 686 ++++++++ stable/gaps/6.8.3/templates/common.yaml | 1 + stable/gaps/6.8.3/test_values.yaml | 24 + stable/gaps/6.8.3/values.yaml | 0 stable/gonic/1.6.3/CONFIG.md | 8 + stable/gonic/1.6.3/Chart.lock | 6 + stable/gonic/1.6.3/Chart.yaml | 22 + stable/gonic/1.6.3/README.md | 43 + stable/gonic/1.6.3/app-readme.md | 4 + stable/gonic/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/gonic/1.6.3/ci/ct-values.yaml | 21 + stable/gonic/1.6.3/ix_values.yaml | 15 + stable/gonic/1.6.3/questions.yaml | 686 ++++++++ stable/gonic/1.6.3/templates/common.yaml | 1 + stable/gonic/1.6.3/test_values.yaml | 44 + stable/gonic/1.6.3/values.yaml | 0 stable/grocy/6.8.3/CONFIG.md | 8 + stable/grocy/6.8.3/Chart.lock | 6 + stable/grocy/6.8.3/Chart.yaml | 23 + stable/grocy/6.8.3/README.md | 42 + stable/grocy/6.8.3/app-readme.md | 4 + stable/grocy/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/grocy/6.8.3/ix_values.yaml | 16 + stable/grocy/6.8.3/questions.yaml | 647 ++++++++ stable/grocy/6.8.3/templates/common.yaml | 1 + stable/grocy/6.8.3/test_values.yaml | 26 + stable/grocy/6.8.3/values.yaml | 0 stable/handbrake/6.8.3/CONFIG.md | 8 + stable/handbrake/6.8.3/Chart.lock | 6 + stable/handbrake/6.8.3/Chart.yaml | 30 + stable/handbrake/6.8.3/README.md | 44 + stable/handbrake/6.8.3/app-readme.md | 4 + .../handbrake/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/handbrake/6.8.3/ix_values.yaml | 20 + stable/handbrake/6.8.3/questions.yaml | 864 ++++++++++ stable/handbrake/6.8.3/templates/common.yaml | 1 + stable/handbrake/6.8.3/test_values.yaml | 51 + stable/handbrake/6.8.3/values.yaml | 0 stable/haste-server/1.8.3/CONFIG.md | 8 + stable/haste-server/1.8.3/Chart.lock | 6 + stable/haste-server/1.8.3/Chart.yaml | 24 + stable/haste-server/1.8.3/README.md | 43 + stable/haste-server/1.8.3/app-readme.md | 4 + .../1.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/haste-server/1.8.3/ix_values.yaml | 19 + stable/haste-server/1.8.3/questions.yaml | 692 ++++++++ .../haste-server/1.8.3/templates/common.yaml | 1 + stable/haste-server/1.8.3/test_values.yaml | 50 + stable/haste-server/1.8.3/values.yaml | 0 stable/healthchecks/1.6.3/CONFIG.md | 8 + stable/healthchecks/1.6.3/Chart.lock | 6 + stable/healthchecks/1.6.3/Chart.yaml | 25 + stable/healthchecks/1.6.3/README.md | 43 + stable/healthchecks/1.6.3/app-readme.md | 4 + .../1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/healthchecks/1.6.3/ix_values.yaml | 15 + stable/healthchecks/1.6.3/questions.yaml | 672 ++++++++ .../healthchecks/1.6.3/templates/common.yaml | 1 + stable/healthchecks/1.6.3/test_values.yaml | 41 + stable/healthchecks/1.6.3/values.yaml | 0 stable/heimdall/6.8.3/CONFIG.md | 8 + stable/heimdall/6.8.3/Chart.lock | 6 + stable/heimdall/6.8.3/Chart.yaml | 21 + stable/heimdall/6.8.3/README.md | 38 + stable/heimdall/6.8.3/app-readme.md | 4 + .../heimdall/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/heimdall/6.8.3/ix_values.yaml | 16 + stable/heimdall/6.8.3/questions.yaml | 648 ++++++++ stable/heimdall/6.8.3/templates/common.yaml | 1 + stable/heimdall/6.8.3/test_values.yaml | 30 + stable/heimdall/6.8.3/values.yaml | 0 stable/home-assistant/6.8.3/CONFIG.md | 8 + stable/home-assistant/6.8.3/Chart.lock | 6 + stable/home-assistant/6.8.3/Chart.yaml | 28 + stable/home-assistant/6.8.3/README.md | 43 + stable/home-assistant/6.8.3/app-readme.md | 4 + .../6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/home-assistant/6.8.3/ix_values.yaml | 15 + stable/home-assistant/6.8.3/questions.yaml | 703 +++++++++ .../6.8.3/templates/common.yaml | 1 + .../6.8.3/templates/secret.yaml | 15 + stable/home-assistant/6.8.3/test_values.yaml | 83 + stable/home-assistant/6.8.3/values.yaml | 0 stable/hyperion-ng/1.6.3/CONFIG.md | 8 + stable/hyperion-ng/1.6.3/Chart.lock | 6 + stable/hyperion-ng/1.6.3/Chart.yaml | 22 + stable/hyperion-ng/1.6.3/README.md | 43 + stable/hyperion-ng/1.6.3/app-readme.md | 4 + .../1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/hyperion-ng/1.6.3/ix_values.yaml | 15 + stable/hyperion-ng/1.6.3/questions.yaml | 989 ++++++++++++ .../hyperion-ng/1.6.3/templates/common.yaml | 1 + stable/hyperion-ng/1.6.3/test_values.yaml | 53 + stable/hyperion-ng/1.6.3/values.yaml | 0 stable/jackett/6.8.3/CONFIG.md | 8 + stable/jackett/6.8.3/Chart.lock | 6 + stable/jackett/6.8.3/Chart.yaml | 27 + stable/jackett/6.8.3/README.md | 42 + stable/jackett/6.8.3/app-readme.md | 4 + stable/jackett/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/jackett/6.8.3/ix_values.yaml | 25 + stable/jackett/6.8.3/questions.yaml | 686 ++++++++ stable/jackett/6.8.3/templates/common.yaml | 1 + stable/jackett/6.8.3/test_values.yaml | 39 + stable/jackett/6.8.3/values.yaml | 0 stable/jellyfin/6.8.3/CONFIG.md | 8 + stable/jellyfin/6.8.3/Chart.lock | 6 + stable/jellyfin/6.8.3/Chart.yaml | 27 + stable/jellyfin/6.8.3/README.md | 42 + stable/jellyfin/6.8.3/app-readme.md | 4 + .../jellyfin/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/jellyfin/6.8.3/ix_values.yaml | 15 + stable/jellyfin/6.8.3/questions.yaml | 705 +++++++++ stable/jellyfin/6.8.3/templates/common.yaml | 1 + stable/jellyfin/6.8.3/test_values.yaml | 29 + stable/jellyfin/6.8.3/values.yaml | 0 stable/kms/6.8.3/CONFIG.md | 8 + stable/kms/6.8.3/Chart.lock | 6 + stable/kms/6.8.3/Chart.yaml | 25 + stable/kms/6.8.3/README.md | 42 + stable/kms/6.8.3/app-readme.md | 4 + stable/kms/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/kms/6.8.3/ix_values.yaml | 16 + stable/kms/6.8.3/questions.yaml | 415 +++++ stable/kms/6.8.3/templates/common.yaml | 1 + stable/kms/6.8.3/test_values.yaml | 16 + stable/kms/6.8.3/values.yaml | 0 stable/komga/1.6.3/CONFIG.md | 8 + stable/komga/1.6.3/Chart.lock | 6 + stable/komga/1.6.3/Chart.yaml | 24 + stable/komga/1.6.3/README.md | 43 + stable/komga/1.6.3/app-readme.md | 4 + stable/komga/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/komga/1.6.3/ix_values.yaml | 15 + stable/komga/1.6.3/questions.yaml | 796 ++++++++++ stable/komga/1.6.3/templates/common.yaml | 1 + stable/komga/1.6.3/test_values.yaml | 37 + stable/komga/1.6.3/values.yaml | 0 stable/lazylibrarian/6.8.3/CONFIG.md | 8 + stable/lazylibrarian/6.8.3/Chart.lock | 6 + stable/lazylibrarian/6.8.3/Chart.yaml | 27 + stable/lazylibrarian/6.8.3/README.md | 43 + stable/lazylibrarian/6.8.3/app-readme.md | 4 + .../6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/lazylibrarian/6.8.3/ix_values.yaml | 16 + stable/lazylibrarian/6.8.3/questions.yaml | 648 ++++++++ .../lazylibrarian/6.8.3/templates/common.yaml | 1 + stable/lazylibrarian/6.8.3/test_values.yaml | 26 + stable/lazylibrarian/6.8.3/values.yaml | 0 stable/librespeed/1.6.3/CONFIG.md | 8 + stable/librespeed/1.6.3/Chart.lock | 6 + stable/librespeed/1.6.3/Chart.yaml | 23 + stable/librespeed/1.6.3/README.md | 44 + stable/librespeed/1.6.3/app-readme.md | 4 + .../librespeed/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/librespeed/1.6.3/ci/ct-values.yaml | 2 + stable/librespeed/1.6.3/ix_values.yaml | 15 + stable/librespeed/1.6.3/questions.yaml | 649 ++++++++ stable/librespeed/1.6.3/templates/common.yaml | 1 + stable/librespeed/1.6.3/test_values.yaml | 46 + stable/librespeed/1.6.3/values.yaml | 0 stable/lidarr/6.8.3/CONFIG.md | 8 + stable/lidarr/6.8.3/Chart.lock | 6 + stable/lidarr/6.8.3/Chart.yaml | 27 + stable/lidarr/6.8.3/README.md | 42 + stable/lidarr/6.8.3/app-readme.md | 4 + stable/lidarr/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/lidarr/6.8.3/ix_values.yaml | 37 + stable/lidarr/6.8.3/questions.yaml | 686 ++++++++ stable/lidarr/6.8.3/templates/common.yaml | 1 + stable/lidarr/6.8.3/test_values.yaml | 47 + stable/lidarr/6.8.3/values.yaml | 0 stable/littlelink/1.2.3/CONFIG.md | 8 + stable/littlelink/1.2.3/Chart.lock | 6 + stable/littlelink/1.2.3/Chart.yaml | 26 + stable/littlelink/1.2.3/README.md | 43 + stable/littlelink/1.2.3/app-readme.md | 4 + .../littlelink/1.2.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/littlelink/1.2.3/ix_values.yaml | 19 + stable/littlelink/1.2.3/questions.yaml | 721 +++++++++ .../littlelink/1.2.3/templates/_configmap.tpl | 127 ++ stable/littlelink/1.2.3/templates/common.yaml | 8 + stable/littlelink/1.2.3/test_values.yaml | 42 + stable/littlelink/1.2.3/values.yaml | 0 stable/lychee/6.8.3/CONFIG.md | 8 + stable/lychee/6.8.3/Chart.lock | 6 + stable/lychee/6.8.3/Chart.yaml | 26 + stable/lychee/6.8.3/README.md | 43 + stable/lychee/6.8.3/app-readme.md | 4 + stable/lychee/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/lychee/6.8.3/ix_values.yaml | 16 + stable/lychee/6.8.3/questions.yaml | 648 ++++++++ stable/lychee/6.8.3/templates/common.yaml | 1 + stable/lychee/6.8.3/test_values.yaml | 26 + stable/lychee/6.8.3/values.yaml | 0 stable/mealie/1.8.3/CONFIG.md | 8 + stable/mealie/1.8.3/Chart.lock | 6 + stable/mealie/1.8.3/Chart.yaml | 22 + stable/mealie/1.8.3/README.md | 42 + stable/mealie/1.8.3/app-readme.md | 4 + stable/mealie/1.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/mealie/1.8.3/ix_values.yaml | 19 + stable/mealie/1.8.3/questions.yaml | 644 ++++++++ stable/mealie/1.8.3/templates/common.yaml | 1 + stable/mealie/1.8.3/test_values.yaml | 43 + stable/mealie/1.8.3/values.yaml | 0 stable/mosquitto/1.8.3/CONFIG.md | 8 + stable/mosquitto/1.8.3/Chart.lock | 6 + stable/mosquitto/1.8.3/Chart.yaml | 24 + stable/mosquitto/1.8.3/README.md | 42 + stable/mosquitto/1.8.3/app-readme.md | 4 + .../mosquitto/1.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/mosquitto/1.8.3/ix_values.yaml | 18 + stable/mosquitto/1.8.3/questions.yaml | 808 ++++++++++ stable/mosquitto/1.8.3/templates/common.yaml | 17 + .../mosquitto/1.8.3/templates/configmap.yaml | 22 + stable/mosquitto/1.8.3/test_values.yaml | 39 + stable/mosquitto/1.8.3/values.yaml | 0 stable/mylar/1.6.3/CONFIG.md | 8 + stable/mylar/1.6.3/Chart.lock | 6 + stable/mylar/1.6.3/Chart.yaml | 22 + stable/mylar/1.6.3/README.md | 44 + stable/mylar/1.6.3/app-readme.md | 4 + stable/mylar/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/mylar/1.6.3/ix_values.yaml | 15 + stable/mylar/1.6.3/questions.yaml | 698 +++++++++ stable/mylar/1.6.3/templates/common.yaml | 1 + stable/mylar/1.6.3/test_values.yaml | 45 + stable/mylar/1.6.3/values.yaml | 0 stable/navidrome/6.8.3/CONFIG.md | 8 + stable/navidrome/6.8.3/Chart.lock | 6 + stable/navidrome/6.8.3/Chart.yaml | 25 + stable/navidrome/6.8.3/README.md | 43 + stable/navidrome/6.8.3/app-readme.md | 4 + .../navidrome/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/navidrome/6.8.3/ix_values.yaml | 15 + stable/navidrome/6.8.3/questions.yaml | 687 ++++++++ stable/navidrome/6.8.3/templates/common.yaml | 1 + stable/navidrome/6.8.3/test_values.yaml | 28 + stable/navidrome/6.8.3/values.yaml | 0 stable/node-red/6.8.3/CONFIG.md | 8 + stable/node-red/6.8.3/Chart.lock | 6 + stable/node-red/6.8.3/Chart.yaml | 23 + stable/node-red/6.8.3/README.md | 42 + stable/node-red/6.8.3/app-readme.md | 4 + .../node-red/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/node-red/6.8.3/ix_values.yaml | 15 + stable/node-red/6.8.3/questions.yaml | 687 ++++++++ stable/node-red/6.8.3/templates/common.yaml | 1 + stable/node-red/6.8.3/test_values.yaml | 30 + stable/node-red/6.8.3/values.yaml | 0 stable/nullserv/1.6.3/CONFIG.md | 8 + stable/nullserv/1.6.3/Chart.lock | 6 + stable/nullserv/1.6.3/Chart.yaml | 20 + stable/nullserv/1.6.3/README.md | 42 + stable/nullserv/1.6.3/app-readme.md | 4 + .../nullserv/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/nullserv/1.6.3/ix_values.yaml | 26 + stable/nullserv/1.6.3/questions.yaml | 789 ++++++++++ stable/nullserv/1.6.3/templates/common.yaml | 1 + stable/nullserv/1.6.3/test_values.yaml | 49 + stable/nullserv/1.6.3/values.yaml | 0 stable/nzbget/6.8.3/CONFIG.md | 8 + stable/nzbget/6.8.3/Chart.lock | 6 + stable/nzbget/6.8.3/Chart.yaml | 23 + stable/nzbget/6.8.3/README.md | 42 + stable/nzbget/6.8.3/app-readme.md | 4 + stable/nzbget/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/nzbget/6.8.3/ix_values.yaml | 25 + stable/nzbget/6.8.3/questions.yaml | 687 ++++++++ stable/nzbget/6.8.3/templates/common.yaml | 1 + stable/nzbget/6.8.3/test_values.yaml | 31 + stable/nzbget/6.8.3/values.yaml | 0 stable/nzbhydra/6.8.3/CONFIG.md | 8 + stable/nzbhydra/6.8.3/Chart.lock | 6 + stable/nzbhydra/6.8.3/Chart.yaml | 20 + stable/nzbhydra/6.8.3/README.md | 44 + stable/nzbhydra/6.8.3/app-readme.md | 4 + .../nzbhydra/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/nzbhydra/6.8.3/ix_values.yaml | 51 + stable/nzbhydra/6.8.3/questions.yaml | 687 ++++++++ stable/nzbhydra/6.8.3/templates/common.yaml | 1 + stable/nzbhydra/6.8.3/test_values.yaml | 62 + stable/nzbhydra/6.8.3/values.yaml | 0 stable/octoprint/1.6.3/CONFIG.md | 8 + stable/octoprint/1.6.3/Chart.lock | 6 + stable/octoprint/1.6.3/Chart.yaml | 23 + stable/octoprint/1.6.3/README.md | 43 + stable/octoprint/1.6.3/app-readme.md | 4 + .../octoprint/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/octoprint/1.6.3/ix_values.yaml | 15 + stable/octoprint/1.6.3/questions.yaml | 696 +++++++++ stable/octoprint/1.6.3/templates/common.yaml | 1 + stable/octoprint/1.6.3/test_values.yaml | 53 + stable/octoprint/1.6.3/values.yaml | 0 stable/omada-controller/1.6.3/CONFIG.md | 8 + stable/omada-controller/1.6.3/Chart.lock | 6 + stable/omada-controller/1.6.3/Chart.yaml | 22 + stable/omada-controller/1.6.3/README.md | 43 + stable/omada-controller/1.6.3/app-readme.md | 4 + .../1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/omada-controller/1.6.3/ix_values.yaml | 15 + stable/omada-controller/1.6.3/questions.yaml | 686 ++++++++ .../1.6.3/templates/common.yaml | 1 + .../omada-controller/1.6.3/test_values.yaml | 35 + stable/omada-controller/1.6.3/values.yaml | 0 stable/ombi/6.8.3/CONFIG.md | 8 + stable/ombi/6.8.3/Chart.lock | 6 + stable/ombi/6.8.3/Chart.yaml | 30 + stable/ombi/6.8.3/README.md | 42 + stable/ombi/6.8.3/app-readme.md | 4 + stable/ombi/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/ombi/6.8.3/ix_values.yaml | 15 + stable/ombi/6.8.3/questions.yaml | 686 ++++++++ stable/ombi/6.8.3/templates/common.yaml | 1 + stable/ombi/6.8.3/test_values.yaml | 40 + stable/ombi/6.8.3/values.yaml | 0 stable/openldap/1.4.3/CONFIG.md | 8 + stable/openldap/1.4.3/Chart.lock | 6 + stable/openldap/1.4.3/Chart.yaml | 29 + stable/openldap/1.4.3/README.md | 43 + stable/openldap/1.4.3/app-readme.md | 4 + .../openldap/1.4.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/openldap/1.4.3/ix_values.yaml | 50 + stable/openldap/1.4.3/questions.yaml | 817 ++++++++++ .../openldap/1.4.3/templates/_configmap.tpl | 21 + stable/openldap/1.4.3/templates/common.yaml | 8 + stable/openldap/1.4.3/test_values.yaml | 88 ++ stable/openldap/1.4.3/values.yaml | 0 stable/organizr/6.8.3/CONFIG.md | 8 + stable/organizr/6.8.3/Chart.lock | 6 + stable/organizr/6.8.3/Chart.yaml | 23 + stable/organizr/6.8.3/README.md | 43 + stable/organizr/6.8.3/app-readme.md | 4 + .../organizr/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/organizr/6.8.3/ix_values.yaml | 16 + stable/organizr/6.8.3/questions.yaml | 758 +++++++++ stable/organizr/6.8.3/templates/common.yaml | 1 + stable/organizr/6.8.3/test_values.yaml | 26 + stable/organizr/6.8.3/values.yaml | 0 stable/overseerr/1.6.3/CONFIG.md | 8 + stable/overseerr/1.6.3/Chart.lock | 6 + stable/overseerr/1.6.3/Chart.yaml | 26 + stable/overseerr/1.6.3/README.md | 43 + stable/overseerr/1.6.3/app-readme.md | 4 + .../overseerr/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/overseerr/1.6.3/ix_values.yaml | 15 + stable/overseerr/1.6.3/questions.yaml | 692 ++++++++ stable/overseerr/1.6.3/templates/common.yaml | 1 + stable/overseerr/1.6.3/test_values.yaml | 38 + stable/overseerr/1.6.3/values.yaml | 0 stable/owncast/1.6.3/CONFIG.md | 8 + stable/owncast/1.6.3/Chart.lock | 6 + stable/owncast/1.6.3/Chart.yaml | 25 + stable/owncast/1.6.3/README.md | 43 + stable/owncast/1.6.3/app-readme.md | 4 + stable/owncast/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/owncast/1.6.3/ix_values.yaml | 15 + stable/owncast/1.6.3/questions.yaml | 783 ++++++++++ stable/owncast/1.6.3/templates/common.yaml | 1 + stable/owncast/1.6.3/test_values.yaml | 41 + stable/owncast/1.6.3/values.yaml | 0 stable/owncloud-ocis/1.6.3/CONFIG.md | 8 + stable/owncloud-ocis/1.6.3/Chart.lock | 6 + stable/owncloud-ocis/1.6.3/Chart.yaml | 28 + stable/owncloud-ocis/1.6.3/README.md | 43 + stable/owncloud-ocis/1.6.3/app-readme.md | 4 + .../1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/owncloud-ocis/1.6.3/ix_values.yaml | 15 + stable/owncloud-ocis/1.6.3/questions.yaml | 686 ++++++++ .../owncloud-ocis/1.6.3/templates/common.yaml | 1 + stable/owncloud-ocis/1.6.3/test_values.yaml | 39 + stable/owncloud-ocis/1.6.3/values.yaml | 0 stable/pgadmin/1.5.3/CONFIG.md | 8 + stable/pgadmin/1.5.3/Chart.lock | 6 + stable/pgadmin/1.5.3/Chart.yaml | 27 + stable/pgadmin/1.5.3/README.md | 42 + stable/pgadmin/1.5.3/app-readme.md | 4 + stable/pgadmin/1.5.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/pgadmin/1.5.3/ix_values.yaml | 16 + stable/pgadmin/1.5.3/questions.yaml | 695 +++++++++ stable/pgadmin/1.5.3/templates/common.yaml | 1 + stable/pgadmin/1.5.3/test_values.yaml | 28 + stable/pgadmin/1.5.3/values.yaml | 0 stable/photoprism/1.6.3/CONFIG.md | 8 + stable/photoprism/1.6.3/Chart.lock | 6 + stable/photoprism/1.6.3/Chart.yaml | 25 + stable/photoprism/1.6.3/README.md | 43 + stable/photoprism/1.6.3/app-readme.md | 4 + .../photoprism/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/photoprism/1.6.3/ix_values.yaml | 15 + stable/photoprism/1.6.3/questions.yaml | 723 +++++++++ stable/photoprism/1.6.3/templates/common.yaml | 1 + stable/photoprism/1.6.3/test_values.yaml | 54 + stable/photoprism/1.6.3/values.yaml | 0 stable/phpldapadmin/1.5.3/CONFIG.md | 8 + stable/phpldapadmin/1.5.3/Chart.lock | 6 + stable/phpldapadmin/1.5.3/Chart.yaml | 27 + stable/phpldapadmin/1.5.3/README.md | 42 + stable/phpldapadmin/1.5.3/app-readme.md | 4 + .../1.5.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/phpldapadmin/1.5.3/ix_values.yaml | 16 + stable/phpldapadmin/1.5.3/questions.yaml | 583 +++++++ .../phpldapadmin/1.5.3/templates/common.yaml | 1 + stable/phpldapadmin/1.5.3/test_values.yaml | 21 + stable/phpldapadmin/1.5.3/values.yaml | 0 stable/piaware/1.6.3/CONFIG.md | 8 + stable/piaware/1.6.3/Chart.lock | 6 + stable/piaware/1.6.3/Chart.yaml | 22 + stable/piaware/1.6.3/README.md | 42 + stable/piaware/1.6.3/app-readme.md | 4 + stable/piaware/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/piaware/1.6.3/ci/ct-values.yaml | 3 + stable/piaware/1.6.3/ix_values.yaml | 15 + stable/piaware/1.6.3/questions.yaml | 726 +++++++++ stable/piaware/1.6.3/templates/common.yaml | 1 + stable/piaware/1.6.3/test_values.yaml | 55 + stable/piaware/1.6.3/values.yaml | 0 stable/plex/5.8.3/CONFIG.md | 8 + stable/plex/5.8.3/Chart.lock | 6 + stable/plex/5.8.3/Chart.yaml | 25 + stable/plex/5.8.3/README.md | 38 + stable/plex/5.8.3/app-readme.md | 4 + stable/plex/5.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/plex/5.8.3/ix_values.yaml | 15 + stable/plex/5.8.3/questions.yaml | 714 +++++++++ stable/plex/5.8.3/templates/common.yaml | 1 + stable/plex/5.8.3/test_values.yaml | 32 + stable/plex/5.8.3/values.yaml | 0 stable/podgrab/4.8.3/CONFIG.md | 8 + stable/podgrab/4.8.3/Chart.lock | 6 + stable/podgrab/4.8.3/Chart.yaml | 27 + stable/podgrab/4.8.3/README.md | 43 + stable/podgrab/4.8.3/app-readme.md | 4 + stable/podgrab/4.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/podgrab/4.8.3/ix_values.yaml | 26 + stable/podgrab/4.8.3/questions.yaml | 695 +++++++++ stable/podgrab/4.8.3/templates/common.yaml | 1 + stable/podgrab/4.8.3/test_values.yaml | 57 + stable/podgrab/4.8.3/values.yaml | 0 stable/postgresql/1.2.4/CONFIG.md | 8 + stable/postgresql/1.2.4/Chart.lock | 6 + stable/postgresql/1.2.4/Chart.yaml | 28 + stable/postgresql/1.2.4/README.md | 42 + stable/postgresql/1.2.4/app-readme.md | 4 + .../postgresql/1.2.4/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/postgresql/1.2.4/ix_values.yaml | 28 + stable/postgresql/1.2.4/questions.yaml | 650 ++++++++ .../templates/backup-postgres-config.yaml | 15 + stable/postgresql/1.2.4/templates/common.yaml | 2 + stable/postgresql/1.2.4/templates/secret.yaml | 13 + .../upgrade-backup-postgres-hook.yaml | 56 + stable/postgresql/1.2.4/test_values.yaml | 50 + stable/postgresql/1.2.4/values.yaml | 0 stable/pretend-youre-xyzzy/1.6.3/CONFIG.md | 8 + stable/pretend-youre-xyzzy/1.6.3/Chart.lock | 6 + stable/pretend-youre-xyzzy/1.6.3/Chart.yaml | 24 + stable/pretend-youre-xyzzy/1.6.3/README.md | 43 + .../pretend-youre-xyzzy/1.6.3/app-readme.md | 4 + .../1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes .../pretend-youre-xyzzy/1.6.3/ix_values.yaml | 15 + .../pretend-youre-xyzzy/1.6.3/questions.yaml | 570 +++++++ .../1.6.3/templates/common.yaml | 1 + .../1.6.3/test_values.yaml | 22 + stable/pretend-youre-xyzzy/1.6.3/values.yaml | 0 stable/protonmail-bridge/1.6.3/CONFIG.md | 8 + stable/protonmail-bridge/1.6.3/Chart.lock | 6 + stable/protonmail-bridge/1.6.3/Chart.yaml | 22 + stable/protonmail-bridge/1.6.3/README.md | 43 + stable/protonmail-bridge/1.6.3/app-readme.md | 4 + .../1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/protonmail-bridge/1.6.3/ix_values.yaml | 21 + stable/protonmail-bridge/1.6.3/questions.yaml | 698 +++++++++ .../1.6.3/templates/common.yaml | 1 + .../protonmail-bridge/1.6.3/test_values.yaml | 40 + stable/protonmail-bridge/1.6.3/values.yaml | 0 stable/prowlarr/1.8.3/CONFIG.md | 8 + stable/prowlarr/1.8.3/Chart.lock | 6 + stable/prowlarr/1.8.3/Chart.yaml | 24 + stable/prowlarr/1.8.3/README.md | 43 + stable/prowlarr/1.8.3/app-readme.md | 4 + .../prowlarr/1.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/prowlarr/1.8.3/ix_values.yaml | 19 + stable/prowlarr/1.8.3/questions.yaml | 688 ++++++++ stable/prowlarr/1.8.3/templates/common.yaml | 1 + stable/prowlarr/1.8.3/test_values.yaml | 45 + stable/prowlarr/1.8.3/values.yaml | 0 stable/pyload/1.6.3/CONFIG.md | 8 + stable/pyload/1.6.3/Chart.lock | 6 + stable/pyload/1.6.3/Chart.yaml | 24 + stable/pyload/1.6.3/README.md | 43 + stable/pyload/1.6.3/app-readme.md | 4 + stable/pyload/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/pyload/1.6.3/ix_values.yaml | 15 + stable/pyload/1.6.3/questions.yaml | 698 +++++++++ stable/pyload/1.6.3/templates/common.yaml | 1 + stable/pyload/1.6.3/test_values.yaml | 41 + stable/pyload/1.6.3/values.yaml | 0 stable/qbittorrent/6.8.3/CONFIG.md | 8 + stable/qbittorrent/6.8.3/Chart.lock | 6 + stable/qbittorrent/6.8.3/Chart.yaml | 22 + stable/qbittorrent/6.8.3/README.md | 38 + stable/qbittorrent/6.8.3/app-readme.md | 4 + .../6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/qbittorrent/6.8.3/ix_values.yaml | 15 + stable/qbittorrent/6.8.3/questions.yaml | 832 ++++++++++ .../6.8.3/templates/_configmap.tpl | 32 + .../qbittorrent/6.8.3/templates/common.yaml | 6 + stable/qbittorrent/6.8.3/test_values.yaml | 52 + stable/qbittorrent/6.8.3/values.yaml | 0 stable/radarr/6.8.3/CONFIG.md | 8 + stable/radarr/6.8.3/Chart.lock | 6 + stable/radarr/6.8.3/Chart.yaml | 27 + stable/radarr/6.8.3/README.md | 42 + stable/radarr/6.8.3/app-readme.md | 4 + stable/radarr/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/radarr/6.8.3/ix_values.yaml | 37 + stable/radarr/6.8.3/questions.yaml | 686 ++++++++ stable/radarr/6.8.3/templates/common.yaml | 1 + stable/radarr/6.8.3/test_values.yaml | 47 + stable/radarr/6.8.3/values.yaml | 0 stable/readarr/6.8.3/CONFIG.md | 8 + stable/readarr/6.8.3/Chart.lock | 6 + stable/readarr/6.8.3/Chart.yaml | 30 + stable/readarr/6.8.3/README.md | 43 + stable/readarr/6.8.3/app-readme.md | 4 + stable/readarr/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/readarr/6.8.3/ix_values.yaml | 37 + stable/readarr/6.8.3/questions.yaml | 687 ++++++++ stable/readarr/6.8.3/templates/common.yaml | 1 + stable/readarr/6.8.3/test_values.yaml | 47 + stable/readarr/6.8.3/values.yaml | 0 stable/reg/1.8.3/CONFIG.md | 8 + stable/reg/1.8.3/Chart.lock | 6 + stable/reg/1.8.3/Chart.yaml | 22 + stable/reg/1.8.3/README.md | 43 + stable/reg/1.8.3/app-readme.md | 4 + stable/reg/1.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/reg/1.8.3/ci/ct-values.yaml | 2 + stable/reg/1.8.3/ix_values.yaml | 19 + stable/reg/1.8.3/questions.yaml | 682 ++++++++ stable/reg/1.8.3/templates/common.yaml | 1 + stable/reg/1.8.3/test_values.yaml | 40 + stable/reg/1.8.3/values.yaml | 0 stable/resilio-sync/1.6.3/CONFIG.md | 8 + stable/resilio-sync/1.6.3/Chart.lock | 6 + stable/resilio-sync/1.6.3/Chart.yaml | 24 + stable/resilio-sync/1.6.3/README.md | 42 + stable/resilio-sync/1.6.3/app-readme.md | 4 + .../1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/resilio-sync/1.6.3/ix_values.yaml | 15 + stable/resilio-sync/1.6.3/questions.yaml | 875 +++++++++++ .../resilio-sync/1.6.3/templates/common.yaml | 1 + stable/resilio-sync/1.6.3/test_values.yaml | 72 + stable/resilio-sync/1.6.3/values.yaml | 0 stable/sabnzbd/6.8.3/CONFIG.md | 8 + stable/sabnzbd/6.8.3/Chart.lock | 6 + stable/sabnzbd/6.8.3/Chart.yaml | 23 + stable/sabnzbd/6.8.3/README.md | 42 + stable/sabnzbd/6.8.3/app-readme.md | 4 + stable/sabnzbd/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/sabnzbd/6.8.3/ix_values.yaml | 15 + stable/sabnzbd/6.8.3/questions.yaml | 694 ++++++++ stable/sabnzbd/6.8.3/templates/common.yaml | 1 + stable/sabnzbd/6.8.3/test_values.yaml | 26 + stable/sabnzbd/6.8.3/values.yaml | 0 stable/ser2sock/1.6.3/CONFIG.md | 8 + stable/ser2sock/1.6.3/Chart.lock | 6 + stable/ser2sock/1.6.3/Chart.yaml | 21 + stable/ser2sock/1.6.3/README.md | 43 + stable/ser2sock/1.6.3/app-readme.md | 4 + .../ser2sock/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/ser2sock/1.6.3/ix_values.yaml | 15 + stable/ser2sock/1.6.3/questions.yaml | 747 +++++++++ stable/ser2sock/1.6.3/templates/common.yaml | 1 + stable/ser2sock/1.6.3/test_values.yaml | 63 + stable/ser2sock/1.6.3/values.yaml | 0 stable/sonarr/6.8.3/CONFIG.md | 8 + stable/sonarr/6.8.3/Chart.lock | 6 + stable/sonarr/6.8.3/Chart.yaml | 27 + stable/sonarr/6.8.3/README.md | 42 + stable/sonarr/6.8.3/app-readme.md | 4 + stable/sonarr/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/sonarr/6.8.3/ix_values.yaml | 37 + stable/sonarr/6.8.3/questions.yaml | 686 ++++++++ stable/sonarr/6.8.3/templates/common.yaml | 1 + stable/sonarr/6.8.3/test_values.yaml | 47 + stable/sonarr/6.8.3/values.yaml | 0 stable/stash/1.6.3/CONFIG.md | 8 + stable/stash/1.6.3/Chart.lock | 6 + stable/stash/1.6.3/Chart.yaml | 21 + stable/stash/1.6.3/README.md | 43 + stable/stash/1.6.3/app-readme.md | 4 + stable/stash/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/stash/1.6.3/ci/ct-values.yaml | 15 + stable/stash/1.6.3/ix_values.yaml | 15 + stable/stash/1.6.3/questions.yaml | 691 ++++++++ stable/stash/1.6.3/templates/common.yaml | 1 + stable/stash/1.6.3/test_values.yaml | 44 + stable/stash/1.6.3/values.yaml | 0 stable/syncthing/6.8.3/CONFIG.md | 8 + stable/syncthing/6.8.3/Chart.lock | 6 + stable/syncthing/6.8.3/Chart.yaml | 27 + stable/syncthing/6.8.3/README.md | 44 + stable/syncthing/6.8.3/app-readme.md | 4 + .../syncthing/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/syncthing/6.8.3/ix_values.yaml | 15 + stable/syncthing/6.8.3/questions.yaml | 944 +++++++++++ stable/syncthing/6.8.3/templates/common.yaml | 1 + stable/syncthing/6.8.3/test_values.yaml | 38 + stable/syncthing/6.8.3/values.yaml | 0 stable/tautulli/6.8.3/CONFIG.md | 8 + stable/tautulli/6.8.3/Chart.lock | 6 + stable/tautulli/6.8.3/Chart.yaml | 26 + stable/tautulli/6.8.3/README.md | 42 + stable/tautulli/6.8.3/app-readme.md | 4 + .../tautulli/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/tautulli/6.8.3/ix_values.yaml | 15 + stable/tautulli/6.8.3/questions.yaml | 686 ++++++++ stable/tautulli/6.8.3/templates/common.yaml | 1 + stable/tautulli/6.8.3/test_values.yaml | 26 + stable/tautulli/6.8.3/values.yaml | 0 stable/thelounge/1.8.3/CONFIG.md | 8 + stable/thelounge/1.8.3/Chart.lock | 6 + stable/thelounge/1.8.3/Chart.yaml | 24 + stable/thelounge/1.8.3/README.md | 42 + stable/thelounge/1.8.3/app-readme.md | 4 + .../thelounge/1.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/thelounge/1.8.3/ix_values.yaml | 19 + stable/thelounge/1.8.3/questions.yaml | 644 ++++++++ stable/thelounge/1.8.3/templates/common.yaml | 1 + stable/thelounge/1.8.3/test_values.yaml | 44 + stable/thelounge/1.8.3/values.yaml | 0 stable/traefik/6.10.3/CONFIG.md | 8 + stable/traefik/6.10.3/Chart.lock | 6 + stable/traefik/6.10.3/Chart.yaml | 29 + stable/traefik/6.10.3/LICENSE | 202 +++ stable/traefik/6.10.3/README.md | 44 + stable/traefik/6.10.3/app-readme.md | 4 + .../traefik/6.10.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/traefik/6.10.3/crds/ingressroute.yaml | 12 + .../traefik/6.10.3/crds/ingressroutetcp.yaml | 12 + .../traefik/6.10.3/crds/ingressrouteudp.yaml | 13 + stable/traefik/6.10.3/crds/middlewares.yaml | 12 + .../6.10.3/crds/serverstransports.yaml | 12 + stable/traefik/6.10.3/crds/tlsoptions.yaml | 12 + stable/traefik/6.10.3/crds/tlsstores.yaml | 13 + .../traefik/6.10.3/crds/traefikservices.yaml | 12 + stable/traefik/6.10.3/ix_values.yaml | 332 ++++ stable/traefik/6.10.3/questions.yaml | 508 ++++++ stable/traefik/6.10.3/templates/_helpers.tpl | 62 + .../traefik/6.10.3/templates/_podtemplate.tpl | 265 ++++ .../6.10.3/templates/custom/common.yaml | 0 .../custom/middleware-namespace.yaml | 7 + .../custom/middlewares/basic-middleware.yaml | 58 + .../custom/middlewares/basicauth.yaml | 29 + .../templates/custom/middlewares/chain.yaml | 16 + .../custom/middlewares/forwardauth.yaml | 23 + .../custom/middlewares/ratelimit.yaml | 14 + .../custom/middlewares/redirectScheme.yaml | 14 + .../6.10.3/templates/custom/portal.yaml | 45 + .../6.10.3/templates/custom/portalhook.yaml | 12 + .../traefik/6.10.3/templates/daemonset.yaml | 40 + .../dashboard-hook-ingressroute.yaml | 28 + .../traefik/6.10.3/templates/deployment.yaml | 47 + stable/traefik/6.10.3/templates/gateway.yaml | 33 + .../6.10.3/templates/gatewayclass.yaml | 9 + stable/traefik/6.10.3/templates/hpa.yaml | 20 + .../6.10.3/templates/ingressclass.yaml | 23 + .../6.10.3/templates/poddisruptionbudget.yaml | 22 + .../6.10.3/templates/rbac/clusterrole.yaml | 112 ++ .../templates/rbac/clusterrolebinding.yaml | 19 + .../templates/rbac/podsecuritypolicy.yaml | 68 + .../traefik/6.10.3/templates/rbac/role.yaml | 61 + .../6.10.3/templates/rbac/rolebinding.yaml | 19 + .../6.10.3/templates/rbac/serviceaccount.yaml | 15 + stable/traefik/6.10.3/templates/service.yaml | 114 ++ .../traefik/6.10.3/templates/tlsoption.yaml | 14 + stable/traefik/6.10.3/test_values.yaml | 438 ++++++ stable/traefik/6.10.3/values.yaml | 0 stable/transmission/6.8.3/CONFIG.md | 8 + stable/transmission/6.8.3/Chart.lock | 6 + stable/transmission/6.8.3/Chart.yaml | 28 + stable/transmission/6.8.3/README.md | 43 + stable/transmission/6.8.3/app-readme.md | 4 + .../6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/transmission/6.8.3/ix_values.yaml | 50 + stable/transmission/6.8.3/questions.yaml | 1173 ++++++++++++++ .../transmission/6.8.3/templates/common.yaml | 2 + stable/transmission/6.8.3/test_values.yaml | 106 ++ stable/transmission/6.8.3/values.yaml | 0 stable/truecommand/6.8.3/CONFIG.md | 8 + stable/truecommand/6.8.3/Chart.lock | 6 + stable/truecommand/6.8.3/Chart.yaml | 25 + stable/truecommand/6.8.3/README.md | 42 + stable/truecommand/6.8.3/app-readme.md | 4 + .../6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/truecommand/6.8.3/ix_values.yaml | 15 + stable/truecommand/6.8.3/questions.yaml | 648 ++++++++ .../truecommand/6.8.3/templates/common.yaml | 1 + stable/truecommand/6.8.3/test_values.yaml | 26 + stable/truecommand/6.8.3/values.yaml | 0 stable/tvheadend/7.8.3/CONFIG.md | 8 + stable/tvheadend/7.8.3/Chart.lock | 6 + stable/tvheadend/7.8.3/Chart.yaml | 25 + stable/tvheadend/7.8.3/README.md | 42 + stable/tvheadend/7.8.3/app-readme.md | 4 + .../tvheadend/7.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/tvheadend/7.8.3/ix_values.yaml | 15 + stable/tvheadend/7.8.3/questions.yaml | 743 +++++++++ stable/tvheadend/7.8.3/templates/common.yaml | 1 + stable/tvheadend/7.8.3/test_values.yaml | 36 + stable/tvheadend/7.8.3/values.yaml | 0 stable/unifi/6.8.3/CONFIG.md | 8 + stable/unifi/6.8.3/Chart.lock | 6 + stable/unifi/6.8.3/Chart.yaml | 24 + stable/unifi/6.8.3/README.md | 43 + stable/unifi/6.8.3/app-readme.md | 4 + stable/unifi/6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/unifi/6.8.3/ix_values.yaml | 19 + stable/unifi/6.8.3/questions.yaml | 839 ++++++++++ stable/unifi/6.8.3/templates/common.yaml | 1 + stable/unifi/6.8.3/test_values.yaml | 48 + stable/unifi/6.8.3/values.yaml | 0 stable/unpackerr/1.8.3/CONFIG.md | 8 + stable/unpackerr/1.8.3/Chart.lock | 6 + stable/unpackerr/1.8.3/Chart.yaml | 29 + stable/unpackerr/1.8.3/README.md | 43 + stable/unpackerr/1.8.3/app-readme.md | 4 + .../unpackerr/1.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/unpackerr/1.8.3/ix_values.yaml | 32 + stable/unpackerr/1.8.3/questions.yaml | 560 +++++++ stable/unpackerr/1.8.3/templates/common.yaml | 1 + stable/unpackerr/1.8.3/test_values.yaml | 51 + stable/unpackerr/1.8.3/values.yaml | 0 stable/vaultwarden/4.3.3/CONFIG.md | 8 + stable/vaultwarden/4.3.3/Chart.lock | 9 + stable/vaultwarden/4.3.3/Chart.yaml | 34 + stable/vaultwarden/4.3.3/README.md | 43 + stable/vaultwarden/4.3.3/app-readme.md | 4 + .../4.3.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes .../4.3.3/charts/postgresql-1.1.0.tgz | Bin 0 -> 29484 bytes stable/vaultwarden/4.3.3/ix_values.yaml | 55 + stable/vaultwarden/4.3.3/questions.yaml | 1079 +++++++++++++ .../4.3.3/templates/_configmap.tpl | 116 ++ .../vaultwarden/4.3.3/templates/_secrets.tpl | 59 + .../vaultwarden/4.3.3/templates/_validate.tpl | 17 + .../vaultwarden/4.3.3/templates/common.yaml | 11 + stable/vaultwarden/4.3.3/test_values.yaml | 159 ++ stable/vaultwarden/4.3.3/values.yaml | 0 stable/xteve/1.6.3/CONFIG.md | 8 + stable/xteve/1.6.3/Chart.lock | 6 + stable/xteve/1.6.3/Chart.yaml | 24 + stable/xteve/1.6.3/README.md | 43 + stable/xteve/1.6.3/app-readme.md | 4 + stable/xteve/1.6.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/xteve/1.6.3/ix_values.yaml | 15 + stable/xteve/1.6.3/questions.yaml | 686 ++++++++ stable/xteve/1.6.3/templates/common.yaml | 1 + stable/xteve/1.6.3/test_values.yaml | 33 + stable/xteve/1.6.3/values.yaml | 0 stable/zwavejs2mqtt/6.8.3/CONFIG.md | 8 + stable/zwavejs2mqtt/6.8.3/Chart.lock | 6 + stable/zwavejs2mqtt/6.8.3/Chart.yaml | 30 + stable/zwavejs2mqtt/6.8.3/README.md | 43 + stable/zwavejs2mqtt/6.8.3/app-readme.md | 4 + .../6.8.3/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes stable/zwavejs2mqtt/6.8.3/ix_values.yaml | 58 + stable/zwavejs2mqtt/6.8.3/questions.yaml | 815 ++++++++++ .../zwavejs2mqtt/6.8.3/templates/common.yaml | 1 + stable/zwavejs2mqtt/6.8.3/test_values.yaml | 103 ++ stable/zwavejs2mqtt/6.8.3/values.yaml | 0 1044 files changed, 81705 insertions(+) create mode 100644 incubator/authelia/0.0.2/CONFIG.md create mode 100644 incubator/authelia/0.0.2/Chart.lock create mode 100644 incubator/authelia/0.0.2/Chart.yaml create mode 100644 incubator/authelia/0.0.2/README.md create mode 100644 incubator/authelia/0.0.2/app-readme.md create mode 100644 incubator/authelia/0.0.2/charts/common-6.10.7.tgz create mode 100644 incubator/authelia/0.0.2/charts/postgresql-1.2.3.tgz create mode 100644 incubator/authelia/0.0.2/charts/redis-14.8.11.tgz create mode 100644 incubator/authelia/0.0.2/ix_values.yaml create mode 100644 incubator/authelia/0.0.2/questions.yaml create mode 100644 incubator/authelia/0.0.2/templates/_configmap.tpl create mode 100644 incubator/authelia/0.0.2/templates/_secrets.tpl create mode 100644 incubator/authelia/0.0.2/templates/common.yaml create mode 100644 incubator/authelia/0.0.2/test_values.yaml create mode 100644 incubator/authelia/0.0.2/values.yaml create mode 100644 incubator/nextcloud/2.3.3/CONFIG.md create mode 100644 incubator/nextcloud/2.3.3/Chart.lock create mode 100644 incubator/nextcloud/2.3.3/Chart.yaml create mode 100644 incubator/nextcloud/2.3.3/README.md create mode 100644 incubator/nextcloud/2.3.3/app-readme.md create mode 100644 incubator/nextcloud/2.3.3/charts/common-6.10.7.tgz create mode 100644 incubator/nextcloud/2.3.3/charts/postgresql-1.1.0.tgz create mode 100644 incubator/nextcloud/2.3.3/charts/redis-14.8.11.tgz create mode 100644 incubator/nextcloud/2.3.3/ix_values.yaml create mode 100644 incubator/nextcloud/2.3.3/questions.yaml create mode 100644 incubator/nextcloud/2.3.3/templates/_configmap.tpl create mode 100644 incubator/nextcloud/2.3.3/templates/_cronjob.tpl create mode 100644 incubator/nextcloud/2.3.3/templates/_secrets.tpl create mode 100644 incubator/nextcloud/2.3.3/templates/common.yaml create mode 100644 incubator/nextcloud/2.3.3/test_values.yaml create mode 100644 incubator/nextcloud/2.3.3/values.yaml create mode 100644 stable/airsonic/1.8.3/CONFIG.md create mode 100644 stable/airsonic/1.8.3/Chart.lock create mode 100644 stable/airsonic/1.8.3/Chart.yaml create mode 100644 stable/airsonic/1.8.3/README.md create mode 100644 stable/airsonic/1.8.3/app-readme.md create mode 100644 stable/airsonic/1.8.3/charts/common-6.10.7.tgz create mode 100644 stable/airsonic/1.8.3/ix_values.yaml create mode 100644 stable/airsonic/1.8.3/questions.yaml create mode 100644 stable/airsonic/1.8.3/templates/common.yaml create mode 100644 stable/airsonic/1.8.3/test_values.yaml create mode 100644 stable/airsonic/1.8.3/values.yaml create mode 100644 stable/appdaemon/3.8.3/CONFIG.md create mode 100644 stable/appdaemon/3.8.3/Chart.lock create mode 100644 stable/appdaemon/3.8.3/Chart.yaml create mode 100644 stable/appdaemon/3.8.3/README.md create mode 100644 stable/appdaemon/3.8.3/app-readme.md create mode 100644 stable/appdaemon/3.8.3/charts/common-6.10.7.tgz create mode 100644 stable/appdaemon/3.8.3/ix_values.yaml create mode 100644 stable/appdaemon/3.8.3/questions.yaml create mode 100644 stable/appdaemon/3.8.3/templates/common.yaml create mode 100644 stable/appdaemon/3.8.3/test_values.yaml create mode 100644 stable/appdaemon/3.8.3/values.yaml create mode 100644 stable/bazarr/6.8.3/CONFIG.md create mode 100644 stable/bazarr/6.8.3/Chart.lock create mode 100644 stable/bazarr/6.8.3/Chart.yaml create mode 100644 stable/bazarr/6.8.3/README.md create mode 100644 stable/bazarr/6.8.3/app-readme.md create mode 100644 stable/bazarr/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/bazarr/6.8.3/ix_values.yaml create mode 100644 stable/bazarr/6.8.3/questions.yaml create mode 100644 stable/bazarr/6.8.3/templates/common.yaml create mode 100644 stable/bazarr/6.8.3/test_values.yaml create mode 100644 stable/bazarr/6.8.3/values.yaml create mode 100644 stable/booksonic-air/1.6.3/CONFIG.md create mode 100644 stable/booksonic-air/1.6.3/Chart.lock create mode 100644 stable/booksonic-air/1.6.3/Chart.yaml create mode 100644 stable/booksonic-air/1.6.3/README.md create mode 100644 stable/booksonic-air/1.6.3/app-readme.md create mode 100644 stable/booksonic-air/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/booksonic-air/1.6.3/ix_values.yaml create mode 100644 stable/booksonic-air/1.6.3/questions.yaml create mode 100644 stable/booksonic-air/1.6.3/templates/common.yaml create mode 100644 stable/booksonic-air/1.6.3/test_values.yaml create mode 100644 stable/booksonic-air/1.6.3/values.yaml create mode 100644 stable/calibre-web/6.8.3/CONFIG.md create mode 100644 stable/calibre-web/6.8.3/Chart.lock create mode 100644 stable/calibre-web/6.8.3/Chart.yaml create mode 100644 stable/calibre-web/6.8.3/README.md create mode 100644 stable/calibre-web/6.8.3/app-readme.md create mode 100644 stable/calibre-web/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/calibre-web/6.8.3/ix_values.yaml create mode 100644 stable/calibre-web/6.8.3/questions.yaml create mode 100644 stable/calibre-web/6.8.3/templates/common.yaml create mode 100644 stable/calibre-web/6.8.3/test_values.yaml create mode 100644 stable/calibre-web/6.8.3/values.yaml create mode 100644 stable/calibre/1.6.3/CONFIG.md create mode 100644 stable/calibre/1.6.3/Chart.lock create mode 100644 stable/calibre/1.6.3/Chart.yaml create mode 100644 stable/calibre/1.6.3/README.md create mode 100644 stable/calibre/1.6.3/app-readme.md create mode 100644 stable/calibre/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/calibre/1.6.3/ix_values.yaml create mode 100644 stable/calibre/1.6.3/questions.yaml create mode 100644 stable/calibre/1.6.3/templates/common.yaml create mode 100644 stable/calibre/1.6.3/test_values.yaml create mode 100644 stable/calibre/1.6.3/values.yaml create mode 100644 stable/collabora-online/6.8.3/CONFIG.md create mode 100644 stable/collabora-online/6.8.3/Chart.lock create mode 100644 stable/collabora-online/6.8.3/Chart.yaml create mode 100644 stable/collabora-online/6.8.3/README.md create mode 100644 stable/collabora-online/6.8.3/app-readme.md create mode 100644 stable/collabora-online/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/collabora-online/6.8.3/ix_values.yaml create mode 100644 stable/collabora-online/6.8.3/questions.yaml create mode 100644 stable/collabora-online/6.8.3/templates/common.yaml create mode 100644 stable/collabora-online/6.8.3/test_values.yaml create mode 100644 stable/collabora-online/6.8.3/values.yaml create mode 100644 stable/deconz/1.6.3/CONFIG.md create mode 100644 stable/deconz/1.6.3/Chart.lock create mode 100644 stable/deconz/1.6.3/Chart.yaml create mode 100644 stable/deconz/1.6.3/README.md create mode 100644 stable/deconz/1.6.3/app-readme.md create mode 100644 stable/deconz/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/deconz/1.6.3/ix_values.yaml create mode 100644 stable/deconz/1.6.3/questions.yaml create mode 100644 stable/deconz/1.6.3/templates/common.yaml create mode 100644 stable/deconz/1.6.3/test_values.yaml create mode 100644 stable/deconz/1.6.3/values.yaml create mode 100644 stable/deepstack-cpu/4.8.3/CONFIG.md create mode 100644 stable/deepstack-cpu/4.8.3/Chart.lock create mode 100644 stable/deepstack-cpu/4.8.3/Chart.yaml create mode 100644 stable/deepstack-cpu/4.8.3/README.md create mode 100644 stable/deepstack-cpu/4.8.3/app-readme.md create mode 100644 stable/deepstack-cpu/4.8.3/charts/common-6.10.7.tgz create mode 100644 stable/deepstack-cpu/4.8.3/ix_values.yaml create mode 100644 stable/deepstack-cpu/4.8.3/questions.yaml create mode 100644 stable/deepstack-cpu/4.8.3/templates/common.yaml create mode 100644 stable/deepstack-cpu/4.8.3/test_values.yaml create mode 100644 stable/deepstack-cpu/4.8.3/values.yaml create mode 100644 stable/deluge/6.8.3/CONFIG.md create mode 100644 stable/deluge/6.8.3/Chart.lock create mode 100644 stable/deluge/6.8.3/Chart.yaml create mode 100644 stable/deluge/6.8.3/README.md create mode 100644 stable/deluge/6.8.3/app-readme.md create mode 100644 stable/deluge/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/deluge/6.8.3/ix_values.yaml create mode 100644 stable/deluge/6.8.3/questions.yaml create mode 100644 stable/deluge/6.8.3/templates/common.yaml create mode 100644 stable/deluge/6.8.3/test_values.yaml create mode 100644 stable/deluge/6.8.3/values.yaml create mode 100644 stable/dizquetv/1.6.3/CONFIG.md create mode 100644 stable/dizquetv/1.6.3/Chart.lock create mode 100644 stable/dizquetv/1.6.3/Chart.yaml create mode 100644 stable/dizquetv/1.6.3/README.md create mode 100644 stable/dizquetv/1.6.3/app-readme.md create mode 100644 stable/dizquetv/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/dizquetv/1.6.3/ix_values.yaml create mode 100644 stable/dizquetv/1.6.3/questions.yaml create mode 100644 stable/dizquetv/1.6.3/templates/common.yaml create mode 100644 stable/dizquetv/1.6.3/test_values.yaml create mode 100644 stable/dizquetv/1.6.3/values.yaml create mode 100644 stable/duplicati/1.6.3/CONFIG.md create mode 100644 stable/duplicati/1.6.3/Chart.lock create mode 100644 stable/duplicati/1.6.3/Chart.yaml create mode 100644 stable/duplicati/1.6.3/README.md create mode 100644 stable/duplicati/1.6.3/app-readme.md create mode 100644 stable/duplicati/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/duplicati/1.6.3/ix_values.yaml create mode 100644 stable/duplicati/1.6.3/questions.yaml create mode 100644 stable/duplicati/1.6.3/templates/common.yaml create mode 100644 stable/duplicati/1.6.3/test_values.yaml create mode 100644 stable/duplicati/1.6.3/values.yaml create mode 100644 stable/emby/6.8.3/CONFIG.md create mode 100644 stable/emby/6.8.3/Chart.lock create mode 100644 stable/emby/6.8.3/Chart.yaml create mode 100644 stable/emby/6.8.3/README.md create mode 100644 stable/emby/6.8.3/app-readme.md create mode 100644 stable/emby/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/emby/6.8.3/ix_values.yaml create mode 100644 stable/emby/6.8.3/questions.yaml create mode 100644 stable/emby/6.8.3/templates/common.yaml create mode 100644 stable/emby/6.8.3/test_values.yaml create mode 100644 stable/emby/6.8.3/values.yaml create mode 100644 stable/esphome/6.8.3/CONFIG.md create mode 100644 stable/esphome/6.8.3/Chart.lock create mode 100644 stable/esphome/6.8.3/Chart.yaml create mode 100644 stable/esphome/6.8.3/README.md create mode 100644 stable/esphome/6.8.3/app-readme.md create mode 100644 stable/esphome/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/esphome/6.8.3/ix_values.yaml create mode 100644 stable/esphome/6.8.3/questions.yaml create mode 100644 stable/esphome/6.8.3/templates/common.yaml create mode 100644 stable/esphome/6.8.3/test_values.yaml create mode 100644 stable/esphome/6.8.3/values.yaml create mode 100644 stable/external-service/1.1.4/CONFIG.md create mode 100644 stable/external-service/1.1.4/Chart.lock create mode 100644 stable/external-service/1.1.4/Chart.yaml create mode 100644 stable/external-service/1.1.4/README.md create mode 100644 stable/external-service/1.1.4/app-readme.md create mode 100644 stable/external-service/1.1.4/charts/common-6.10.7.tgz create mode 100644 stable/external-service/1.1.4/ix_values.yaml create mode 100644 stable/external-service/1.1.4/questions.yaml create mode 100644 stable/external-service/1.1.4/templates/common.yaml create mode 100644 stable/external-service/1.1.4/test_values.yaml create mode 100644 stable/external-service/1.1.4/values.yaml create mode 100644 stable/fireflyiii/5.3.3/CONFIG.md create mode 100644 stable/fireflyiii/5.3.3/Chart.lock create mode 100644 stable/fireflyiii/5.3.3/Chart.yaml create mode 100644 stable/fireflyiii/5.3.3/README.md create mode 100644 stable/fireflyiii/5.3.3/app-readme.md create mode 100644 stable/fireflyiii/5.3.3/charts/common-6.10.7.tgz create mode 100644 stable/fireflyiii/5.3.3/charts/postgresql-1.1.0.tgz create mode 100644 stable/fireflyiii/5.3.3/ix_values.yaml create mode 100644 stable/fireflyiii/5.3.3/questions.yaml create mode 100644 stable/fireflyiii/5.3.3/templates/common.yaml create mode 100644 stable/fireflyiii/5.3.3/templates/secrets.yaml create mode 100644 stable/fireflyiii/5.3.3/test_values.yaml create mode 100644 stable/fireflyiii/5.3.3/values.yaml create mode 100644 stable/flaresolverr/1.6.3/CONFIG.md create mode 100644 stable/flaresolverr/1.6.3/Chart.lock create mode 100644 stable/flaresolverr/1.6.3/Chart.yaml create mode 100644 stable/flaresolverr/1.6.3/README.md create mode 100644 stable/flaresolverr/1.6.3/app-readme.md create mode 100644 stable/flaresolverr/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/flaresolverr/1.6.3/ix_values.yaml create mode 100644 stable/flaresolverr/1.6.3/questions.yaml create mode 100644 stable/flaresolverr/1.6.3/templates/common.yaml create mode 100644 stable/flaresolverr/1.6.3/test_values.yaml create mode 100644 stable/flaresolverr/1.6.3/values.yaml create mode 100644 stable/flood/1.6.3/CONFIG.md create mode 100644 stable/flood/1.6.3/Chart.lock create mode 100644 stable/flood/1.6.3/Chart.yaml create mode 100644 stable/flood/1.6.3/README.md create mode 100644 stable/flood/1.6.3/app-readme.md create mode 100644 stable/flood/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/flood/1.6.3/ci/ct-values.yaml create mode 100644 stable/flood/1.6.3/ix_values.yaml create mode 100644 stable/flood/1.6.3/questions.yaml create mode 100644 stable/flood/1.6.3/templates/common.yaml create mode 100644 stable/flood/1.6.3/test_values.yaml create mode 100644 stable/flood/1.6.3/values.yaml create mode 100644 stable/focalboard/1.6.3/CONFIG.md create mode 100644 stable/focalboard/1.6.3/Chart.lock create mode 100644 stable/focalboard/1.6.3/Chart.yaml create mode 100644 stable/focalboard/1.6.3/README.md create mode 100644 stable/focalboard/1.6.3/app-readme.md create mode 100644 stable/focalboard/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/focalboard/1.6.3/ix_values.yaml create mode 100644 stable/focalboard/1.6.3/questions.yaml create mode 100644 stable/focalboard/1.6.3/templates/common.yaml create mode 100644 stable/focalboard/1.6.3/test_values.yaml create mode 100644 stable/focalboard/1.6.3/values.yaml create mode 100644 stable/freeradius/1.4.3/CONFIG.md create mode 100644 stable/freeradius/1.4.3/Chart.lock create mode 100644 stable/freeradius/1.4.3/Chart.yaml create mode 100644 stable/freeradius/1.4.3/README.md create mode 100644 stable/freeradius/1.4.3/app-readme.md create mode 100644 stable/freeradius/1.4.3/charts/common-6.10.7.tgz create mode 100644 stable/freeradius/1.4.3/ix_values.yaml create mode 100644 stable/freeradius/1.4.3/questions.yaml create mode 100644 stable/freeradius/1.4.3/templates/common.yaml create mode 100644 stable/freeradius/1.4.3/test_values.yaml create mode 100644 stable/freeradius/1.4.3/values.yaml create mode 100644 stable/freshrss/6.8.3/CONFIG.md create mode 100644 stable/freshrss/6.8.3/Chart.lock create mode 100644 stable/freshrss/6.8.3/Chart.yaml create mode 100644 stable/freshrss/6.8.3/README.md create mode 100644 stable/freshrss/6.8.3/app-readme.md create mode 100644 stable/freshrss/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/freshrss/6.8.3/ix_values.yaml create mode 100644 stable/freshrss/6.8.3/questions.yaml create mode 100644 stable/freshrss/6.8.3/templates/common.yaml create mode 100644 stable/freshrss/6.8.3/test_values.yaml create mode 100644 stable/freshrss/6.8.3/values.yaml create mode 100644 stable/gaps/6.8.3/CONFIG.md create mode 100644 stable/gaps/6.8.3/Chart.lock create mode 100644 stable/gaps/6.8.3/Chart.yaml create mode 100644 stable/gaps/6.8.3/README.md create mode 100644 stable/gaps/6.8.3/app-readme.md create mode 100644 stable/gaps/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/gaps/6.8.3/ix_values.yaml create mode 100644 stable/gaps/6.8.3/questions.yaml create mode 100644 stable/gaps/6.8.3/templates/common.yaml create mode 100644 stable/gaps/6.8.3/test_values.yaml create mode 100644 stable/gaps/6.8.3/values.yaml create mode 100644 stable/gonic/1.6.3/CONFIG.md create mode 100644 stable/gonic/1.6.3/Chart.lock create mode 100644 stable/gonic/1.6.3/Chart.yaml create mode 100644 stable/gonic/1.6.3/README.md create mode 100644 stable/gonic/1.6.3/app-readme.md create mode 100644 stable/gonic/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/gonic/1.6.3/ci/ct-values.yaml create mode 100644 stable/gonic/1.6.3/ix_values.yaml create mode 100644 stable/gonic/1.6.3/questions.yaml create mode 100644 stable/gonic/1.6.3/templates/common.yaml create mode 100644 stable/gonic/1.6.3/test_values.yaml create mode 100644 stable/gonic/1.6.3/values.yaml create mode 100644 stable/grocy/6.8.3/CONFIG.md create mode 100644 stable/grocy/6.8.3/Chart.lock create mode 100644 stable/grocy/6.8.3/Chart.yaml create mode 100644 stable/grocy/6.8.3/README.md create mode 100644 stable/grocy/6.8.3/app-readme.md create mode 100644 stable/grocy/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/grocy/6.8.3/ix_values.yaml create mode 100644 stable/grocy/6.8.3/questions.yaml create mode 100644 stable/grocy/6.8.3/templates/common.yaml create mode 100644 stable/grocy/6.8.3/test_values.yaml create mode 100644 stable/grocy/6.8.3/values.yaml create mode 100644 stable/handbrake/6.8.3/CONFIG.md create mode 100644 stable/handbrake/6.8.3/Chart.lock create mode 100644 stable/handbrake/6.8.3/Chart.yaml create mode 100644 stable/handbrake/6.8.3/README.md create mode 100644 stable/handbrake/6.8.3/app-readme.md create mode 100644 stable/handbrake/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/handbrake/6.8.3/ix_values.yaml create mode 100644 stable/handbrake/6.8.3/questions.yaml create mode 100644 stable/handbrake/6.8.3/templates/common.yaml create mode 100644 stable/handbrake/6.8.3/test_values.yaml create mode 100644 stable/handbrake/6.8.3/values.yaml create mode 100644 stable/haste-server/1.8.3/CONFIG.md create mode 100644 stable/haste-server/1.8.3/Chart.lock create mode 100644 stable/haste-server/1.8.3/Chart.yaml create mode 100644 stable/haste-server/1.8.3/README.md create mode 100644 stable/haste-server/1.8.3/app-readme.md create mode 100644 stable/haste-server/1.8.3/charts/common-6.10.7.tgz create mode 100644 stable/haste-server/1.8.3/ix_values.yaml create mode 100644 stable/haste-server/1.8.3/questions.yaml create mode 100644 stable/haste-server/1.8.3/templates/common.yaml create mode 100644 stable/haste-server/1.8.3/test_values.yaml create mode 100644 stable/haste-server/1.8.3/values.yaml create mode 100644 stable/healthchecks/1.6.3/CONFIG.md create mode 100644 stable/healthchecks/1.6.3/Chart.lock create mode 100644 stable/healthchecks/1.6.3/Chart.yaml create mode 100644 stable/healthchecks/1.6.3/README.md create mode 100644 stable/healthchecks/1.6.3/app-readme.md create mode 100644 stable/healthchecks/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/healthchecks/1.6.3/ix_values.yaml create mode 100644 stable/healthchecks/1.6.3/questions.yaml create mode 100644 stable/healthchecks/1.6.3/templates/common.yaml create mode 100644 stable/healthchecks/1.6.3/test_values.yaml create mode 100644 stable/healthchecks/1.6.3/values.yaml create mode 100644 stable/heimdall/6.8.3/CONFIG.md create mode 100644 stable/heimdall/6.8.3/Chart.lock create mode 100644 stable/heimdall/6.8.3/Chart.yaml create mode 100644 stable/heimdall/6.8.3/README.md create mode 100644 stable/heimdall/6.8.3/app-readme.md create mode 100644 stable/heimdall/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/heimdall/6.8.3/ix_values.yaml create mode 100644 stable/heimdall/6.8.3/questions.yaml create mode 100644 stable/heimdall/6.8.3/templates/common.yaml create mode 100644 stable/heimdall/6.8.3/test_values.yaml create mode 100644 stable/heimdall/6.8.3/values.yaml create mode 100644 stable/home-assistant/6.8.3/CONFIG.md create mode 100644 stable/home-assistant/6.8.3/Chart.lock create mode 100644 stable/home-assistant/6.8.3/Chart.yaml create mode 100644 stable/home-assistant/6.8.3/README.md create mode 100644 stable/home-assistant/6.8.3/app-readme.md create mode 100644 stable/home-assistant/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/home-assistant/6.8.3/ix_values.yaml create mode 100644 stable/home-assistant/6.8.3/questions.yaml create mode 100644 stable/home-assistant/6.8.3/templates/common.yaml create mode 100644 stable/home-assistant/6.8.3/templates/secret.yaml create mode 100644 stable/home-assistant/6.8.3/test_values.yaml create mode 100644 stable/home-assistant/6.8.3/values.yaml create mode 100644 stable/hyperion-ng/1.6.3/CONFIG.md create mode 100644 stable/hyperion-ng/1.6.3/Chart.lock create mode 100644 stable/hyperion-ng/1.6.3/Chart.yaml create mode 100644 stable/hyperion-ng/1.6.3/README.md create mode 100644 stable/hyperion-ng/1.6.3/app-readme.md create mode 100644 stable/hyperion-ng/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/hyperion-ng/1.6.3/ix_values.yaml create mode 100644 stable/hyperion-ng/1.6.3/questions.yaml create mode 100644 stable/hyperion-ng/1.6.3/templates/common.yaml create mode 100644 stable/hyperion-ng/1.6.3/test_values.yaml create mode 100644 stable/hyperion-ng/1.6.3/values.yaml create mode 100644 stable/jackett/6.8.3/CONFIG.md create mode 100644 stable/jackett/6.8.3/Chart.lock create mode 100644 stable/jackett/6.8.3/Chart.yaml create mode 100644 stable/jackett/6.8.3/README.md create mode 100644 stable/jackett/6.8.3/app-readme.md create mode 100644 stable/jackett/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/jackett/6.8.3/ix_values.yaml create mode 100644 stable/jackett/6.8.3/questions.yaml create mode 100644 stable/jackett/6.8.3/templates/common.yaml create mode 100644 stable/jackett/6.8.3/test_values.yaml create mode 100644 stable/jackett/6.8.3/values.yaml create mode 100644 stable/jellyfin/6.8.3/CONFIG.md create mode 100644 stable/jellyfin/6.8.3/Chart.lock create mode 100644 stable/jellyfin/6.8.3/Chart.yaml create mode 100644 stable/jellyfin/6.8.3/README.md create mode 100644 stable/jellyfin/6.8.3/app-readme.md create mode 100644 stable/jellyfin/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/jellyfin/6.8.3/ix_values.yaml create mode 100644 stable/jellyfin/6.8.3/questions.yaml create mode 100644 stable/jellyfin/6.8.3/templates/common.yaml create mode 100644 stable/jellyfin/6.8.3/test_values.yaml create mode 100644 stable/jellyfin/6.8.3/values.yaml create mode 100644 stable/kms/6.8.3/CONFIG.md create mode 100644 stable/kms/6.8.3/Chart.lock create mode 100644 stable/kms/6.8.3/Chart.yaml create mode 100644 stable/kms/6.8.3/README.md create mode 100644 stable/kms/6.8.3/app-readme.md create mode 100644 stable/kms/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/kms/6.8.3/ix_values.yaml create mode 100644 stable/kms/6.8.3/questions.yaml create mode 100644 stable/kms/6.8.3/templates/common.yaml create mode 100644 stable/kms/6.8.3/test_values.yaml create mode 100644 stable/kms/6.8.3/values.yaml create mode 100644 stable/komga/1.6.3/CONFIG.md create mode 100644 stable/komga/1.6.3/Chart.lock create mode 100644 stable/komga/1.6.3/Chart.yaml create mode 100644 stable/komga/1.6.3/README.md create mode 100644 stable/komga/1.6.3/app-readme.md create mode 100644 stable/komga/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/komga/1.6.3/ix_values.yaml create mode 100644 stable/komga/1.6.3/questions.yaml create mode 100644 stable/komga/1.6.3/templates/common.yaml create mode 100644 stable/komga/1.6.3/test_values.yaml create mode 100644 stable/komga/1.6.3/values.yaml create mode 100644 stable/lazylibrarian/6.8.3/CONFIG.md create mode 100644 stable/lazylibrarian/6.8.3/Chart.lock create mode 100644 stable/lazylibrarian/6.8.3/Chart.yaml create mode 100644 stable/lazylibrarian/6.8.3/README.md create mode 100644 stable/lazylibrarian/6.8.3/app-readme.md create mode 100644 stable/lazylibrarian/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/lazylibrarian/6.8.3/ix_values.yaml create mode 100644 stable/lazylibrarian/6.8.3/questions.yaml create mode 100644 stable/lazylibrarian/6.8.3/templates/common.yaml create mode 100644 stable/lazylibrarian/6.8.3/test_values.yaml create mode 100644 stable/lazylibrarian/6.8.3/values.yaml create mode 100644 stable/librespeed/1.6.3/CONFIG.md create mode 100644 stable/librespeed/1.6.3/Chart.lock create mode 100644 stable/librespeed/1.6.3/Chart.yaml create mode 100644 stable/librespeed/1.6.3/README.md create mode 100644 stable/librespeed/1.6.3/app-readme.md create mode 100644 stable/librespeed/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/librespeed/1.6.3/ci/ct-values.yaml create mode 100644 stable/librespeed/1.6.3/ix_values.yaml create mode 100644 stable/librespeed/1.6.3/questions.yaml create mode 100644 stable/librespeed/1.6.3/templates/common.yaml create mode 100644 stable/librespeed/1.6.3/test_values.yaml create mode 100644 stable/librespeed/1.6.3/values.yaml create mode 100644 stable/lidarr/6.8.3/CONFIG.md create mode 100644 stable/lidarr/6.8.3/Chart.lock create mode 100644 stable/lidarr/6.8.3/Chart.yaml create mode 100644 stable/lidarr/6.8.3/README.md create mode 100644 stable/lidarr/6.8.3/app-readme.md create mode 100644 stable/lidarr/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/lidarr/6.8.3/ix_values.yaml create mode 100644 stable/lidarr/6.8.3/questions.yaml create mode 100644 stable/lidarr/6.8.3/templates/common.yaml create mode 100644 stable/lidarr/6.8.3/test_values.yaml create mode 100644 stable/lidarr/6.8.3/values.yaml create mode 100644 stable/littlelink/1.2.3/CONFIG.md create mode 100644 stable/littlelink/1.2.3/Chart.lock create mode 100644 stable/littlelink/1.2.3/Chart.yaml create mode 100644 stable/littlelink/1.2.3/README.md create mode 100644 stable/littlelink/1.2.3/app-readme.md create mode 100644 stable/littlelink/1.2.3/charts/common-6.10.7.tgz create mode 100644 stable/littlelink/1.2.3/ix_values.yaml create mode 100644 stable/littlelink/1.2.3/questions.yaml create mode 100644 stable/littlelink/1.2.3/templates/_configmap.tpl create mode 100644 stable/littlelink/1.2.3/templates/common.yaml create mode 100644 stable/littlelink/1.2.3/test_values.yaml create mode 100644 stable/littlelink/1.2.3/values.yaml create mode 100644 stable/lychee/6.8.3/CONFIG.md create mode 100644 stable/lychee/6.8.3/Chart.lock create mode 100644 stable/lychee/6.8.3/Chart.yaml create mode 100644 stable/lychee/6.8.3/README.md create mode 100644 stable/lychee/6.8.3/app-readme.md create mode 100644 stable/lychee/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/lychee/6.8.3/ix_values.yaml create mode 100644 stable/lychee/6.8.3/questions.yaml create mode 100644 stable/lychee/6.8.3/templates/common.yaml create mode 100644 stable/lychee/6.8.3/test_values.yaml create mode 100644 stable/lychee/6.8.3/values.yaml create mode 100644 stable/mealie/1.8.3/CONFIG.md create mode 100644 stable/mealie/1.8.3/Chart.lock create mode 100644 stable/mealie/1.8.3/Chart.yaml create mode 100644 stable/mealie/1.8.3/README.md create mode 100644 stable/mealie/1.8.3/app-readme.md create mode 100644 stable/mealie/1.8.3/charts/common-6.10.7.tgz create mode 100644 stable/mealie/1.8.3/ix_values.yaml create mode 100644 stable/mealie/1.8.3/questions.yaml create mode 100644 stable/mealie/1.8.3/templates/common.yaml create mode 100644 stable/mealie/1.8.3/test_values.yaml create mode 100644 stable/mealie/1.8.3/values.yaml create mode 100644 stable/mosquitto/1.8.3/CONFIG.md create mode 100644 stable/mosquitto/1.8.3/Chart.lock create mode 100644 stable/mosquitto/1.8.3/Chart.yaml create mode 100644 stable/mosquitto/1.8.3/README.md create mode 100644 stable/mosquitto/1.8.3/app-readme.md create mode 100644 stable/mosquitto/1.8.3/charts/common-6.10.7.tgz create mode 100644 stable/mosquitto/1.8.3/ix_values.yaml create mode 100644 stable/mosquitto/1.8.3/questions.yaml create mode 100644 stable/mosquitto/1.8.3/templates/common.yaml create mode 100644 stable/mosquitto/1.8.3/templates/configmap.yaml create mode 100644 stable/mosquitto/1.8.3/test_values.yaml create mode 100644 stable/mosquitto/1.8.3/values.yaml create mode 100644 stable/mylar/1.6.3/CONFIG.md create mode 100644 stable/mylar/1.6.3/Chart.lock create mode 100644 stable/mylar/1.6.3/Chart.yaml create mode 100644 stable/mylar/1.6.3/README.md create mode 100644 stable/mylar/1.6.3/app-readme.md create mode 100644 stable/mylar/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/mylar/1.6.3/ix_values.yaml create mode 100644 stable/mylar/1.6.3/questions.yaml create mode 100644 stable/mylar/1.6.3/templates/common.yaml create mode 100644 stable/mylar/1.6.3/test_values.yaml create mode 100644 stable/mylar/1.6.3/values.yaml create mode 100644 stable/navidrome/6.8.3/CONFIG.md create mode 100644 stable/navidrome/6.8.3/Chart.lock create mode 100644 stable/navidrome/6.8.3/Chart.yaml create mode 100644 stable/navidrome/6.8.3/README.md create mode 100644 stable/navidrome/6.8.3/app-readme.md create mode 100644 stable/navidrome/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/navidrome/6.8.3/ix_values.yaml create mode 100644 stable/navidrome/6.8.3/questions.yaml create mode 100644 stable/navidrome/6.8.3/templates/common.yaml create mode 100644 stable/navidrome/6.8.3/test_values.yaml create mode 100644 stable/navidrome/6.8.3/values.yaml create mode 100644 stable/node-red/6.8.3/CONFIG.md create mode 100644 stable/node-red/6.8.3/Chart.lock create mode 100644 stable/node-red/6.8.3/Chart.yaml create mode 100644 stable/node-red/6.8.3/README.md create mode 100644 stable/node-red/6.8.3/app-readme.md create mode 100644 stable/node-red/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/node-red/6.8.3/ix_values.yaml create mode 100644 stable/node-red/6.8.3/questions.yaml create mode 100644 stable/node-red/6.8.3/templates/common.yaml create mode 100644 stable/node-red/6.8.3/test_values.yaml create mode 100644 stable/node-red/6.8.3/values.yaml create mode 100644 stable/nullserv/1.6.3/CONFIG.md create mode 100644 stable/nullserv/1.6.3/Chart.lock create mode 100644 stable/nullserv/1.6.3/Chart.yaml create mode 100644 stable/nullserv/1.6.3/README.md create mode 100644 stable/nullserv/1.6.3/app-readme.md create mode 100644 stable/nullserv/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/nullserv/1.6.3/ix_values.yaml create mode 100644 stable/nullserv/1.6.3/questions.yaml create mode 100644 stable/nullserv/1.6.3/templates/common.yaml create mode 100644 stable/nullserv/1.6.3/test_values.yaml create mode 100644 stable/nullserv/1.6.3/values.yaml create mode 100644 stable/nzbget/6.8.3/CONFIG.md create mode 100644 stable/nzbget/6.8.3/Chart.lock create mode 100644 stable/nzbget/6.8.3/Chart.yaml create mode 100644 stable/nzbget/6.8.3/README.md create mode 100644 stable/nzbget/6.8.3/app-readme.md create mode 100644 stable/nzbget/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/nzbget/6.8.3/ix_values.yaml create mode 100644 stable/nzbget/6.8.3/questions.yaml create mode 100644 stable/nzbget/6.8.3/templates/common.yaml create mode 100644 stable/nzbget/6.8.3/test_values.yaml create mode 100644 stable/nzbget/6.8.3/values.yaml create mode 100644 stable/nzbhydra/6.8.3/CONFIG.md create mode 100644 stable/nzbhydra/6.8.3/Chart.lock create mode 100644 stable/nzbhydra/6.8.3/Chart.yaml create mode 100644 stable/nzbhydra/6.8.3/README.md create mode 100644 stable/nzbhydra/6.8.3/app-readme.md create mode 100644 stable/nzbhydra/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/nzbhydra/6.8.3/ix_values.yaml create mode 100644 stable/nzbhydra/6.8.3/questions.yaml create mode 100644 stable/nzbhydra/6.8.3/templates/common.yaml create mode 100644 stable/nzbhydra/6.8.3/test_values.yaml create mode 100644 stable/nzbhydra/6.8.3/values.yaml create mode 100644 stable/octoprint/1.6.3/CONFIG.md create mode 100644 stable/octoprint/1.6.3/Chart.lock create mode 100644 stable/octoprint/1.6.3/Chart.yaml create mode 100644 stable/octoprint/1.6.3/README.md create mode 100644 stable/octoprint/1.6.3/app-readme.md create mode 100644 stable/octoprint/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/octoprint/1.6.3/ix_values.yaml create mode 100644 stable/octoprint/1.6.3/questions.yaml create mode 100644 stable/octoprint/1.6.3/templates/common.yaml create mode 100644 stable/octoprint/1.6.3/test_values.yaml create mode 100644 stable/octoprint/1.6.3/values.yaml create mode 100644 stable/omada-controller/1.6.3/CONFIG.md create mode 100644 stable/omada-controller/1.6.3/Chart.lock create mode 100644 stable/omada-controller/1.6.3/Chart.yaml create mode 100644 stable/omada-controller/1.6.3/README.md create mode 100644 stable/omada-controller/1.6.3/app-readme.md create mode 100644 stable/omada-controller/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/omada-controller/1.6.3/ix_values.yaml create mode 100644 stable/omada-controller/1.6.3/questions.yaml create mode 100644 stable/omada-controller/1.6.3/templates/common.yaml create mode 100644 stable/omada-controller/1.6.3/test_values.yaml create mode 100644 stable/omada-controller/1.6.3/values.yaml create mode 100644 stable/ombi/6.8.3/CONFIG.md create mode 100644 stable/ombi/6.8.3/Chart.lock create mode 100644 stable/ombi/6.8.3/Chart.yaml create mode 100644 stable/ombi/6.8.3/README.md create mode 100644 stable/ombi/6.8.3/app-readme.md create mode 100644 stable/ombi/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/ombi/6.8.3/ix_values.yaml create mode 100644 stable/ombi/6.8.3/questions.yaml create mode 100644 stable/ombi/6.8.3/templates/common.yaml create mode 100644 stable/ombi/6.8.3/test_values.yaml create mode 100644 stable/ombi/6.8.3/values.yaml create mode 100644 stable/openldap/1.4.3/CONFIG.md create mode 100644 stable/openldap/1.4.3/Chart.lock create mode 100644 stable/openldap/1.4.3/Chart.yaml create mode 100644 stable/openldap/1.4.3/README.md create mode 100644 stable/openldap/1.4.3/app-readme.md create mode 100644 stable/openldap/1.4.3/charts/common-6.10.7.tgz create mode 100644 stable/openldap/1.4.3/ix_values.yaml create mode 100644 stable/openldap/1.4.3/questions.yaml create mode 100644 stable/openldap/1.4.3/templates/_configmap.tpl create mode 100644 stable/openldap/1.4.3/templates/common.yaml create mode 100644 stable/openldap/1.4.3/test_values.yaml create mode 100644 stable/openldap/1.4.3/values.yaml create mode 100644 stable/organizr/6.8.3/CONFIG.md create mode 100644 stable/organizr/6.8.3/Chart.lock create mode 100644 stable/organizr/6.8.3/Chart.yaml create mode 100644 stable/organizr/6.8.3/README.md create mode 100644 stable/organizr/6.8.3/app-readme.md create mode 100644 stable/organizr/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/organizr/6.8.3/ix_values.yaml create mode 100644 stable/organizr/6.8.3/questions.yaml create mode 100644 stable/organizr/6.8.3/templates/common.yaml create mode 100644 stable/organizr/6.8.3/test_values.yaml create mode 100644 stable/organizr/6.8.3/values.yaml create mode 100644 stable/overseerr/1.6.3/CONFIG.md create mode 100644 stable/overseerr/1.6.3/Chart.lock create mode 100644 stable/overseerr/1.6.3/Chart.yaml create mode 100644 stable/overseerr/1.6.3/README.md create mode 100644 stable/overseerr/1.6.3/app-readme.md create mode 100644 stable/overseerr/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/overseerr/1.6.3/ix_values.yaml create mode 100644 stable/overseerr/1.6.3/questions.yaml create mode 100644 stable/overseerr/1.6.3/templates/common.yaml create mode 100644 stable/overseerr/1.6.3/test_values.yaml create mode 100644 stable/overseerr/1.6.3/values.yaml create mode 100644 stable/owncast/1.6.3/CONFIG.md create mode 100644 stable/owncast/1.6.3/Chart.lock create mode 100644 stable/owncast/1.6.3/Chart.yaml create mode 100644 stable/owncast/1.6.3/README.md create mode 100644 stable/owncast/1.6.3/app-readme.md create mode 100644 stable/owncast/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/owncast/1.6.3/ix_values.yaml create mode 100644 stable/owncast/1.6.3/questions.yaml create mode 100644 stable/owncast/1.6.3/templates/common.yaml create mode 100644 stable/owncast/1.6.3/test_values.yaml create mode 100644 stable/owncast/1.6.3/values.yaml create mode 100644 stable/owncloud-ocis/1.6.3/CONFIG.md create mode 100644 stable/owncloud-ocis/1.6.3/Chart.lock create mode 100644 stable/owncloud-ocis/1.6.3/Chart.yaml create mode 100644 stable/owncloud-ocis/1.6.3/README.md create mode 100644 stable/owncloud-ocis/1.6.3/app-readme.md create mode 100644 stable/owncloud-ocis/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/owncloud-ocis/1.6.3/ix_values.yaml create mode 100644 stable/owncloud-ocis/1.6.3/questions.yaml create mode 100644 stable/owncloud-ocis/1.6.3/templates/common.yaml create mode 100644 stable/owncloud-ocis/1.6.3/test_values.yaml create mode 100644 stable/owncloud-ocis/1.6.3/values.yaml create mode 100644 stable/pgadmin/1.5.3/CONFIG.md create mode 100644 stable/pgadmin/1.5.3/Chart.lock create mode 100644 stable/pgadmin/1.5.3/Chart.yaml create mode 100644 stable/pgadmin/1.5.3/README.md create mode 100644 stable/pgadmin/1.5.3/app-readme.md create mode 100644 stable/pgadmin/1.5.3/charts/common-6.10.7.tgz create mode 100644 stable/pgadmin/1.5.3/ix_values.yaml create mode 100644 stable/pgadmin/1.5.3/questions.yaml create mode 100644 stable/pgadmin/1.5.3/templates/common.yaml create mode 100644 stable/pgadmin/1.5.3/test_values.yaml create mode 100644 stable/pgadmin/1.5.3/values.yaml create mode 100644 stable/photoprism/1.6.3/CONFIG.md create mode 100644 stable/photoprism/1.6.3/Chart.lock create mode 100644 stable/photoprism/1.6.3/Chart.yaml create mode 100644 stable/photoprism/1.6.3/README.md create mode 100644 stable/photoprism/1.6.3/app-readme.md create mode 100644 stable/photoprism/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/photoprism/1.6.3/ix_values.yaml create mode 100644 stable/photoprism/1.6.3/questions.yaml create mode 100644 stable/photoprism/1.6.3/templates/common.yaml create mode 100644 stable/photoprism/1.6.3/test_values.yaml create mode 100644 stable/photoprism/1.6.3/values.yaml create mode 100644 stable/phpldapadmin/1.5.3/CONFIG.md create mode 100644 stable/phpldapadmin/1.5.3/Chart.lock create mode 100644 stable/phpldapadmin/1.5.3/Chart.yaml create mode 100644 stable/phpldapadmin/1.5.3/README.md create mode 100644 stable/phpldapadmin/1.5.3/app-readme.md create mode 100644 stable/phpldapadmin/1.5.3/charts/common-6.10.7.tgz create mode 100644 stable/phpldapadmin/1.5.3/ix_values.yaml create mode 100644 stable/phpldapadmin/1.5.3/questions.yaml create mode 100644 stable/phpldapadmin/1.5.3/templates/common.yaml create mode 100644 stable/phpldapadmin/1.5.3/test_values.yaml create mode 100644 stable/phpldapadmin/1.5.3/values.yaml create mode 100644 stable/piaware/1.6.3/CONFIG.md create mode 100644 stable/piaware/1.6.3/Chart.lock create mode 100644 stable/piaware/1.6.3/Chart.yaml create mode 100644 stable/piaware/1.6.3/README.md create mode 100644 stable/piaware/1.6.3/app-readme.md create mode 100644 stable/piaware/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/piaware/1.6.3/ci/ct-values.yaml create mode 100644 stable/piaware/1.6.3/ix_values.yaml create mode 100644 stable/piaware/1.6.3/questions.yaml create mode 100644 stable/piaware/1.6.3/templates/common.yaml create mode 100644 stable/piaware/1.6.3/test_values.yaml create mode 100644 stable/piaware/1.6.3/values.yaml create mode 100644 stable/plex/5.8.3/CONFIG.md create mode 100644 stable/plex/5.8.3/Chart.lock create mode 100644 stable/plex/5.8.3/Chart.yaml create mode 100644 stable/plex/5.8.3/README.md create mode 100644 stable/plex/5.8.3/app-readme.md create mode 100644 stable/plex/5.8.3/charts/common-6.10.7.tgz create mode 100644 stable/plex/5.8.3/ix_values.yaml create mode 100644 stable/plex/5.8.3/questions.yaml create mode 100644 stable/plex/5.8.3/templates/common.yaml create mode 100644 stable/plex/5.8.3/test_values.yaml create mode 100644 stable/plex/5.8.3/values.yaml create mode 100644 stable/podgrab/4.8.3/CONFIG.md create mode 100644 stable/podgrab/4.8.3/Chart.lock create mode 100644 stable/podgrab/4.8.3/Chart.yaml create mode 100644 stable/podgrab/4.8.3/README.md create mode 100644 stable/podgrab/4.8.3/app-readme.md create mode 100644 stable/podgrab/4.8.3/charts/common-6.10.7.tgz create mode 100644 stable/podgrab/4.8.3/ix_values.yaml create mode 100644 stable/podgrab/4.8.3/questions.yaml create mode 100644 stable/podgrab/4.8.3/templates/common.yaml create mode 100644 stable/podgrab/4.8.3/test_values.yaml create mode 100644 stable/podgrab/4.8.3/values.yaml create mode 100644 stable/postgresql/1.2.4/CONFIG.md create mode 100644 stable/postgresql/1.2.4/Chart.lock create mode 100644 stable/postgresql/1.2.4/Chart.yaml create mode 100644 stable/postgresql/1.2.4/README.md create mode 100644 stable/postgresql/1.2.4/app-readme.md create mode 100644 stable/postgresql/1.2.4/charts/common-6.10.7.tgz create mode 100644 stable/postgresql/1.2.4/ix_values.yaml create mode 100644 stable/postgresql/1.2.4/questions.yaml create mode 100644 stable/postgresql/1.2.4/templates/backup-postgres-config.yaml create mode 100644 stable/postgresql/1.2.4/templates/common.yaml create mode 100644 stable/postgresql/1.2.4/templates/secret.yaml create mode 100644 stable/postgresql/1.2.4/templates/upgrade-backup-postgres-hook.yaml create mode 100644 stable/postgresql/1.2.4/test_values.yaml create mode 100644 stable/postgresql/1.2.4/values.yaml create mode 100644 stable/pretend-youre-xyzzy/1.6.3/CONFIG.md create mode 100644 stable/pretend-youre-xyzzy/1.6.3/Chart.lock create mode 100644 stable/pretend-youre-xyzzy/1.6.3/Chart.yaml create mode 100644 stable/pretend-youre-xyzzy/1.6.3/README.md create mode 100644 stable/pretend-youre-xyzzy/1.6.3/app-readme.md create mode 100644 stable/pretend-youre-xyzzy/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/pretend-youre-xyzzy/1.6.3/ix_values.yaml create mode 100644 stable/pretend-youre-xyzzy/1.6.3/questions.yaml create mode 100644 stable/pretend-youre-xyzzy/1.6.3/templates/common.yaml create mode 100644 stable/pretend-youre-xyzzy/1.6.3/test_values.yaml create mode 100644 stable/pretend-youre-xyzzy/1.6.3/values.yaml create mode 100644 stable/protonmail-bridge/1.6.3/CONFIG.md create mode 100644 stable/protonmail-bridge/1.6.3/Chart.lock create mode 100644 stable/protonmail-bridge/1.6.3/Chart.yaml create mode 100644 stable/protonmail-bridge/1.6.3/README.md create mode 100644 stable/protonmail-bridge/1.6.3/app-readme.md create mode 100644 stable/protonmail-bridge/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/protonmail-bridge/1.6.3/ix_values.yaml create mode 100644 stable/protonmail-bridge/1.6.3/questions.yaml create mode 100644 stable/protonmail-bridge/1.6.3/templates/common.yaml create mode 100644 stable/protonmail-bridge/1.6.3/test_values.yaml create mode 100644 stable/protonmail-bridge/1.6.3/values.yaml create mode 100644 stable/prowlarr/1.8.3/CONFIG.md create mode 100644 stable/prowlarr/1.8.3/Chart.lock create mode 100644 stable/prowlarr/1.8.3/Chart.yaml create mode 100644 stable/prowlarr/1.8.3/README.md create mode 100644 stable/prowlarr/1.8.3/app-readme.md create mode 100644 stable/prowlarr/1.8.3/charts/common-6.10.7.tgz create mode 100644 stable/prowlarr/1.8.3/ix_values.yaml create mode 100644 stable/prowlarr/1.8.3/questions.yaml create mode 100644 stable/prowlarr/1.8.3/templates/common.yaml create mode 100644 stable/prowlarr/1.8.3/test_values.yaml create mode 100644 stable/prowlarr/1.8.3/values.yaml create mode 100644 stable/pyload/1.6.3/CONFIG.md create mode 100644 stable/pyload/1.6.3/Chart.lock create mode 100644 stable/pyload/1.6.3/Chart.yaml create mode 100644 stable/pyload/1.6.3/README.md create mode 100644 stable/pyload/1.6.3/app-readme.md create mode 100644 stable/pyload/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/pyload/1.6.3/ix_values.yaml create mode 100644 stable/pyload/1.6.3/questions.yaml create mode 100644 stable/pyload/1.6.3/templates/common.yaml create mode 100644 stable/pyload/1.6.3/test_values.yaml create mode 100644 stable/pyload/1.6.3/values.yaml create mode 100644 stable/qbittorrent/6.8.3/CONFIG.md create mode 100644 stable/qbittorrent/6.8.3/Chart.lock create mode 100644 stable/qbittorrent/6.8.3/Chart.yaml create mode 100644 stable/qbittorrent/6.8.3/README.md create mode 100644 stable/qbittorrent/6.8.3/app-readme.md create mode 100644 stable/qbittorrent/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/qbittorrent/6.8.3/ix_values.yaml create mode 100644 stable/qbittorrent/6.8.3/questions.yaml create mode 100644 stable/qbittorrent/6.8.3/templates/_configmap.tpl create mode 100644 stable/qbittorrent/6.8.3/templates/common.yaml create mode 100644 stable/qbittorrent/6.8.3/test_values.yaml create mode 100644 stable/qbittorrent/6.8.3/values.yaml create mode 100644 stable/radarr/6.8.3/CONFIG.md create mode 100644 stable/radarr/6.8.3/Chart.lock create mode 100644 stable/radarr/6.8.3/Chart.yaml create mode 100644 stable/radarr/6.8.3/README.md create mode 100644 stable/radarr/6.8.3/app-readme.md create mode 100644 stable/radarr/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/radarr/6.8.3/ix_values.yaml create mode 100644 stable/radarr/6.8.3/questions.yaml create mode 100644 stable/radarr/6.8.3/templates/common.yaml create mode 100644 stable/radarr/6.8.3/test_values.yaml create mode 100644 stable/radarr/6.8.3/values.yaml create mode 100644 stable/readarr/6.8.3/CONFIG.md create mode 100644 stable/readarr/6.8.3/Chart.lock create mode 100644 stable/readarr/6.8.3/Chart.yaml create mode 100644 stable/readarr/6.8.3/README.md create mode 100644 stable/readarr/6.8.3/app-readme.md create mode 100644 stable/readarr/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/readarr/6.8.3/ix_values.yaml create mode 100644 stable/readarr/6.8.3/questions.yaml create mode 100644 stable/readarr/6.8.3/templates/common.yaml create mode 100644 stable/readarr/6.8.3/test_values.yaml create mode 100644 stable/readarr/6.8.3/values.yaml create mode 100644 stable/reg/1.8.3/CONFIG.md create mode 100644 stable/reg/1.8.3/Chart.lock create mode 100644 stable/reg/1.8.3/Chart.yaml create mode 100644 stable/reg/1.8.3/README.md create mode 100644 stable/reg/1.8.3/app-readme.md create mode 100644 stable/reg/1.8.3/charts/common-6.10.7.tgz create mode 100644 stable/reg/1.8.3/ci/ct-values.yaml create mode 100644 stable/reg/1.8.3/ix_values.yaml create mode 100644 stable/reg/1.8.3/questions.yaml create mode 100644 stable/reg/1.8.3/templates/common.yaml create mode 100644 stable/reg/1.8.3/test_values.yaml create mode 100644 stable/reg/1.8.3/values.yaml create mode 100644 stable/resilio-sync/1.6.3/CONFIG.md create mode 100644 stable/resilio-sync/1.6.3/Chart.lock create mode 100644 stable/resilio-sync/1.6.3/Chart.yaml create mode 100644 stable/resilio-sync/1.6.3/README.md create mode 100644 stable/resilio-sync/1.6.3/app-readme.md create mode 100644 stable/resilio-sync/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/resilio-sync/1.6.3/ix_values.yaml create mode 100644 stable/resilio-sync/1.6.3/questions.yaml create mode 100644 stable/resilio-sync/1.6.3/templates/common.yaml create mode 100644 stable/resilio-sync/1.6.3/test_values.yaml create mode 100644 stable/resilio-sync/1.6.3/values.yaml create mode 100644 stable/sabnzbd/6.8.3/CONFIG.md create mode 100644 stable/sabnzbd/6.8.3/Chart.lock create mode 100644 stable/sabnzbd/6.8.3/Chart.yaml create mode 100644 stable/sabnzbd/6.8.3/README.md create mode 100644 stable/sabnzbd/6.8.3/app-readme.md create mode 100644 stable/sabnzbd/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/sabnzbd/6.8.3/ix_values.yaml create mode 100644 stable/sabnzbd/6.8.3/questions.yaml create mode 100644 stable/sabnzbd/6.8.3/templates/common.yaml create mode 100644 stable/sabnzbd/6.8.3/test_values.yaml create mode 100644 stable/sabnzbd/6.8.3/values.yaml create mode 100644 stable/ser2sock/1.6.3/CONFIG.md create mode 100644 stable/ser2sock/1.6.3/Chart.lock create mode 100644 stable/ser2sock/1.6.3/Chart.yaml create mode 100644 stable/ser2sock/1.6.3/README.md create mode 100644 stable/ser2sock/1.6.3/app-readme.md create mode 100644 stable/ser2sock/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/ser2sock/1.6.3/ix_values.yaml create mode 100644 stable/ser2sock/1.6.3/questions.yaml create mode 100644 stable/ser2sock/1.6.3/templates/common.yaml create mode 100644 stable/ser2sock/1.6.3/test_values.yaml create mode 100644 stable/ser2sock/1.6.3/values.yaml create mode 100644 stable/sonarr/6.8.3/CONFIG.md create mode 100644 stable/sonarr/6.8.3/Chart.lock create mode 100644 stable/sonarr/6.8.3/Chart.yaml create mode 100644 stable/sonarr/6.8.3/README.md create mode 100644 stable/sonarr/6.8.3/app-readme.md create mode 100644 stable/sonarr/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/sonarr/6.8.3/ix_values.yaml create mode 100644 stable/sonarr/6.8.3/questions.yaml create mode 100644 stable/sonarr/6.8.3/templates/common.yaml create mode 100644 stable/sonarr/6.8.3/test_values.yaml create mode 100644 stable/sonarr/6.8.3/values.yaml create mode 100644 stable/stash/1.6.3/CONFIG.md create mode 100644 stable/stash/1.6.3/Chart.lock create mode 100644 stable/stash/1.6.3/Chart.yaml create mode 100644 stable/stash/1.6.3/README.md create mode 100644 stable/stash/1.6.3/app-readme.md create mode 100644 stable/stash/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/stash/1.6.3/ci/ct-values.yaml create mode 100644 stable/stash/1.6.3/ix_values.yaml create mode 100644 stable/stash/1.6.3/questions.yaml create mode 100644 stable/stash/1.6.3/templates/common.yaml create mode 100644 stable/stash/1.6.3/test_values.yaml create mode 100644 stable/stash/1.6.3/values.yaml create mode 100644 stable/syncthing/6.8.3/CONFIG.md create mode 100644 stable/syncthing/6.8.3/Chart.lock create mode 100644 stable/syncthing/6.8.3/Chart.yaml create mode 100644 stable/syncthing/6.8.3/README.md create mode 100644 stable/syncthing/6.8.3/app-readme.md create mode 100644 stable/syncthing/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/syncthing/6.8.3/ix_values.yaml create mode 100644 stable/syncthing/6.8.3/questions.yaml create mode 100644 stable/syncthing/6.8.3/templates/common.yaml create mode 100644 stable/syncthing/6.8.3/test_values.yaml create mode 100644 stable/syncthing/6.8.3/values.yaml create mode 100644 stable/tautulli/6.8.3/CONFIG.md create mode 100644 stable/tautulli/6.8.3/Chart.lock create mode 100644 stable/tautulli/6.8.3/Chart.yaml create mode 100644 stable/tautulli/6.8.3/README.md create mode 100644 stable/tautulli/6.8.3/app-readme.md create mode 100644 stable/tautulli/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/tautulli/6.8.3/ix_values.yaml create mode 100644 stable/tautulli/6.8.3/questions.yaml create mode 100644 stable/tautulli/6.8.3/templates/common.yaml create mode 100644 stable/tautulli/6.8.3/test_values.yaml create mode 100644 stable/tautulli/6.8.3/values.yaml create mode 100644 stable/thelounge/1.8.3/CONFIG.md create mode 100644 stable/thelounge/1.8.3/Chart.lock create mode 100644 stable/thelounge/1.8.3/Chart.yaml create mode 100644 stable/thelounge/1.8.3/README.md create mode 100644 stable/thelounge/1.8.3/app-readme.md create mode 100644 stable/thelounge/1.8.3/charts/common-6.10.7.tgz create mode 100644 stable/thelounge/1.8.3/ix_values.yaml create mode 100644 stable/thelounge/1.8.3/questions.yaml create mode 100644 stable/thelounge/1.8.3/templates/common.yaml create mode 100644 stable/thelounge/1.8.3/test_values.yaml create mode 100644 stable/thelounge/1.8.3/values.yaml create mode 100644 stable/traefik/6.10.3/CONFIG.md create mode 100644 stable/traefik/6.10.3/Chart.lock create mode 100644 stable/traefik/6.10.3/Chart.yaml create mode 100644 stable/traefik/6.10.3/LICENSE create mode 100644 stable/traefik/6.10.3/README.md create mode 100644 stable/traefik/6.10.3/app-readme.md create mode 100644 stable/traefik/6.10.3/charts/common-6.10.7.tgz create mode 100644 stable/traefik/6.10.3/crds/ingressroute.yaml create mode 100644 stable/traefik/6.10.3/crds/ingressroutetcp.yaml create mode 100644 stable/traefik/6.10.3/crds/ingressrouteudp.yaml create mode 100644 stable/traefik/6.10.3/crds/middlewares.yaml create mode 100644 stable/traefik/6.10.3/crds/serverstransports.yaml create mode 100644 stable/traefik/6.10.3/crds/tlsoptions.yaml create mode 100644 stable/traefik/6.10.3/crds/tlsstores.yaml create mode 100644 stable/traefik/6.10.3/crds/traefikservices.yaml create mode 100644 stable/traefik/6.10.3/ix_values.yaml create mode 100644 stable/traefik/6.10.3/questions.yaml create mode 100644 stable/traefik/6.10.3/templates/_helpers.tpl create mode 100644 stable/traefik/6.10.3/templates/_podtemplate.tpl create mode 100644 stable/traefik/6.10.3/templates/custom/common.yaml create mode 100644 stable/traefik/6.10.3/templates/custom/middleware-namespace.yaml create mode 100644 stable/traefik/6.10.3/templates/custom/middlewares/basic-middleware.yaml create mode 100644 stable/traefik/6.10.3/templates/custom/middlewares/basicauth.yaml create mode 100644 stable/traefik/6.10.3/templates/custom/middlewares/chain.yaml create mode 100644 stable/traefik/6.10.3/templates/custom/middlewares/forwardauth.yaml create mode 100644 stable/traefik/6.10.3/templates/custom/middlewares/ratelimit.yaml create mode 100644 stable/traefik/6.10.3/templates/custom/middlewares/redirectScheme.yaml create mode 100644 stable/traefik/6.10.3/templates/custom/portal.yaml create mode 100644 stable/traefik/6.10.3/templates/custom/portalhook.yaml create mode 100644 stable/traefik/6.10.3/templates/daemonset.yaml create mode 100644 stable/traefik/6.10.3/templates/dashboard-hook-ingressroute.yaml create mode 100644 stable/traefik/6.10.3/templates/deployment.yaml create mode 100644 stable/traefik/6.10.3/templates/gateway.yaml create mode 100644 stable/traefik/6.10.3/templates/gatewayclass.yaml create mode 100644 stable/traefik/6.10.3/templates/hpa.yaml create mode 100644 stable/traefik/6.10.3/templates/ingressclass.yaml create mode 100644 stable/traefik/6.10.3/templates/poddisruptionbudget.yaml create mode 100644 stable/traefik/6.10.3/templates/rbac/clusterrole.yaml create mode 100644 stable/traefik/6.10.3/templates/rbac/clusterrolebinding.yaml create mode 100644 stable/traefik/6.10.3/templates/rbac/podsecuritypolicy.yaml create mode 100644 stable/traefik/6.10.3/templates/rbac/role.yaml create mode 100644 stable/traefik/6.10.3/templates/rbac/rolebinding.yaml create mode 100644 stable/traefik/6.10.3/templates/rbac/serviceaccount.yaml create mode 100644 stable/traefik/6.10.3/templates/service.yaml create mode 100644 stable/traefik/6.10.3/templates/tlsoption.yaml create mode 100644 stable/traefik/6.10.3/test_values.yaml create mode 100644 stable/traefik/6.10.3/values.yaml create mode 100644 stable/transmission/6.8.3/CONFIG.md create mode 100644 stable/transmission/6.8.3/Chart.lock create mode 100644 stable/transmission/6.8.3/Chart.yaml create mode 100644 stable/transmission/6.8.3/README.md create mode 100644 stable/transmission/6.8.3/app-readme.md create mode 100644 stable/transmission/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/transmission/6.8.3/ix_values.yaml create mode 100644 stable/transmission/6.8.3/questions.yaml create mode 100644 stable/transmission/6.8.3/templates/common.yaml create mode 100644 stable/transmission/6.8.3/test_values.yaml create mode 100644 stable/transmission/6.8.3/values.yaml create mode 100644 stable/truecommand/6.8.3/CONFIG.md create mode 100644 stable/truecommand/6.8.3/Chart.lock create mode 100644 stable/truecommand/6.8.3/Chart.yaml create mode 100644 stable/truecommand/6.8.3/README.md create mode 100644 stable/truecommand/6.8.3/app-readme.md create mode 100644 stable/truecommand/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/truecommand/6.8.3/ix_values.yaml create mode 100644 stable/truecommand/6.8.3/questions.yaml create mode 100644 stable/truecommand/6.8.3/templates/common.yaml create mode 100644 stable/truecommand/6.8.3/test_values.yaml create mode 100644 stable/truecommand/6.8.3/values.yaml create mode 100644 stable/tvheadend/7.8.3/CONFIG.md create mode 100644 stable/tvheadend/7.8.3/Chart.lock create mode 100644 stable/tvheadend/7.8.3/Chart.yaml create mode 100644 stable/tvheadend/7.8.3/README.md create mode 100644 stable/tvheadend/7.8.3/app-readme.md create mode 100644 stable/tvheadend/7.8.3/charts/common-6.10.7.tgz create mode 100644 stable/tvheadend/7.8.3/ix_values.yaml create mode 100644 stable/tvheadend/7.8.3/questions.yaml create mode 100644 stable/tvheadend/7.8.3/templates/common.yaml create mode 100644 stable/tvheadend/7.8.3/test_values.yaml create mode 100644 stable/tvheadend/7.8.3/values.yaml create mode 100644 stable/unifi/6.8.3/CONFIG.md create mode 100644 stable/unifi/6.8.3/Chart.lock create mode 100644 stable/unifi/6.8.3/Chart.yaml create mode 100644 stable/unifi/6.8.3/README.md create mode 100644 stable/unifi/6.8.3/app-readme.md create mode 100644 stable/unifi/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/unifi/6.8.3/ix_values.yaml create mode 100644 stable/unifi/6.8.3/questions.yaml create mode 100644 stable/unifi/6.8.3/templates/common.yaml create mode 100644 stable/unifi/6.8.3/test_values.yaml create mode 100644 stable/unifi/6.8.3/values.yaml create mode 100644 stable/unpackerr/1.8.3/CONFIG.md create mode 100644 stable/unpackerr/1.8.3/Chart.lock create mode 100644 stable/unpackerr/1.8.3/Chart.yaml create mode 100644 stable/unpackerr/1.8.3/README.md create mode 100644 stable/unpackerr/1.8.3/app-readme.md create mode 100644 stable/unpackerr/1.8.3/charts/common-6.10.7.tgz create mode 100644 stable/unpackerr/1.8.3/ix_values.yaml create mode 100644 stable/unpackerr/1.8.3/questions.yaml create mode 100644 stable/unpackerr/1.8.3/templates/common.yaml create mode 100644 stable/unpackerr/1.8.3/test_values.yaml create mode 100644 stable/unpackerr/1.8.3/values.yaml create mode 100644 stable/vaultwarden/4.3.3/CONFIG.md create mode 100644 stable/vaultwarden/4.3.3/Chart.lock create mode 100644 stable/vaultwarden/4.3.3/Chart.yaml create mode 100644 stable/vaultwarden/4.3.3/README.md create mode 100644 stable/vaultwarden/4.3.3/app-readme.md create mode 100644 stable/vaultwarden/4.3.3/charts/common-6.10.7.tgz create mode 100644 stable/vaultwarden/4.3.3/charts/postgresql-1.1.0.tgz create mode 100644 stable/vaultwarden/4.3.3/ix_values.yaml create mode 100644 stable/vaultwarden/4.3.3/questions.yaml create mode 100644 stable/vaultwarden/4.3.3/templates/_configmap.tpl create mode 100644 stable/vaultwarden/4.3.3/templates/_secrets.tpl create mode 100644 stable/vaultwarden/4.3.3/templates/_validate.tpl create mode 100644 stable/vaultwarden/4.3.3/templates/common.yaml create mode 100644 stable/vaultwarden/4.3.3/test_values.yaml create mode 100644 stable/vaultwarden/4.3.3/values.yaml create mode 100644 stable/xteve/1.6.3/CONFIG.md create mode 100644 stable/xteve/1.6.3/Chart.lock create mode 100644 stable/xteve/1.6.3/Chart.yaml create mode 100644 stable/xteve/1.6.3/README.md create mode 100644 stable/xteve/1.6.3/app-readme.md create mode 100644 stable/xteve/1.6.3/charts/common-6.10.7.tgz create mode 100644 stable/xteve/1.6.3/ix_values.yaml create mode 100644 stable/xteve/1.6.3/questions.yaml create mode 100644 stable/xteve/1.6.3/templates/common.yaml create mode 100644 stable/xteve/1.6.3/test_values.yaml create mode 100644 stable/xteve/1.6.3/values.yaml create mode 100644 stable/zwavejs2mqtt/6.8.3/CONFIG.md create mode 100644 stable/zwavejs2mqtt/6.8.3/Chart.lock create mode 100644 stable/zwavejs2mqtt/6.8.3/Chart.yaml create mode 100644 stable/zwavejs2mqtt/6.8.3/README.md create mode 100644 stable/zwavejs2mqtt/6.8.3/app-readme.md create mode 100644 stable/zwavejs2mqtt/6.8.3/charts/common-6.10.7.tgz create mode 100644 stable/zwavejs2mqtt/6.8.3/ix_values.yaml create mode 100644 stable/zwavejs2mqtt/6.8.3/questions.yaml create mode 100644 stable/zwavejs2mqtt/6.8.3/templates/common.yaml create mode 100644 stable/zwavejs2mqtt/6.8.3/test_values.yaml create mode 100644 stable/zwavejs2mqtt/6.8.3/values.yaml diff --git a/incubator/authelia/0.0.2/CONFIG.md b/incubator/authelia/0.0.2/CONFIG.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/authelia/0.0.2/Chart.lock b/incubator/authelia/0.0.2/Chart.lock new file mode 100644 index 00000000000..e55f97778e2 --- /dev/null +++ b/incubator/authelia/0.0.2/Chart.lock @@ -0,0 +1,12 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +- name: postgresql + repository: https://truecharts.org/ + version: 1.2.3 +- name: redis + repository: https://charts.bitnami.com/bitnami + version: 14.8.11 +digest: sha256:828defa5ad7e3157f54408b86d5a2a23c92c72844df7f15c341e7a830307762a +generated: "2021-08-28T12:41:44.659566247Z" diff --git a/incubator/authelia/0.0.2/Chart.yaml b/incubator/authelia/0.0.2/Chart.yaml new file mode 100644 index 00000000000..8ddb3fc113f --- /dev/null +++ b/incubator/authelia/0.0.2/Chart.yaml @@ -0,0 +1,41 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +- condition: postgresql.enabled + name: postgresql + repository: https://truecharts.org/ + version: 1.2.3 +- condition: redis.enabled + name: redis + repository: https://charts.bitnami.com/bitnami + version: 14.8.11 +deprecated: false +description: Authelia is a Single Sign-On Multi-Factor portal for web apps +home: https://github.com/truecharts/apps/tree/master/charts/stable/authelia +icon: https://avatars2.githubusercontent.com/u/59122411?s=200&v=4 +keywords: +- authelia +- authentication +- login +- SSO +- Authentication +- Security +- Two-Factor +- U2F +- YubiKey +- Push Notifications +- LDAP +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: authelia +sources: +- https://github.com/authelia/chartrepo +- https://github.com/authelia/authelia +type: application +version: 0.0.2 diff --git a/incubator/authelia/0.0.2/README.md b/incubator/authelia/0.0.2/README.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/authelia/0.0.2/app-readme.md b/incubator/authelia/0.0.2/app-readme.md new file mode 100644 index 00000000000..535996cc7a7 --- /dev/null +++ b/incubator/authelia/0.0.2/app-readme.md @@ -0,0 +1 @@ +Authelia is a Single Sign-On Multi-Factor portal for web apps diff --git a/incubator/authelia/0.0.2/charts/common-6.10.7.tgz b/incubator/authelia/0.0.2/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/incubator/authelia/0.0.2/charts/postgresql-1.2.3.tgz b/incubator/authelia/0.0.2/charts/postgresql-1.2.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..db11cc1b85ce019888e6da8c8d51c352a1673336 GIT binary patch literal 29624 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

    %NY-f$@Q6^{{CL$lJk|3!wMu;o(6Xd8slzJ?-9E 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�^2DN}zv7J5cFJTY}f^>#Y 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�=yH#q9`?V4uyjfh`yBN& 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://

    [:]" + schema: + type: string + default: "ldap://openldap.default.svc.cluster.local" + required: true + - variable: timeout + label: "Connection Timeout" + schema: + type: string + default: "5s" + required: true + - variable: start_tls + label: "Start TLS" + description: "Use StartTLS with the LDAP connection" + schema: + type: boolean + default: false + - variable: tls + label: "TLS Settings" + schema: + type: dict + attrs: + - variable: server_name + label: "Server Name" + description: "Server Name for certificate validation (in case it's not set correctly in the URL)." + schema: + type: string + default: "" + - variable: skip_verify + label: "Skip Certificate Verification" + description: "Skip verifying the server certificate (to allow a self-signed certificate)" + schema: + type: boolean + default: false + - variable: minimum_version + label: "Minimum TLS version" + description: "Minimum TLS version for either Secure LDAP or LDAP StartTLS." + schema: + type: string + default: "TLS1.2" + enum: + - value: "TLS1.0" + description: "TLS1.0" + - value: "TLS1.1" + description: "TLS1.1" + - value: "TLS1.2" + description: "TLS1.2" + - value: "TLS1.3" + description: "TLS1.3" + - variable: base_dn + label: "Base DN" + description: "The base dn for every LDAP query." + schema: + type: string + defaults: "DC=example,DC=com" + required: true + - variable: username_attribute + label: "Username Attribute" + description: "The attribute holding the username of the user" + schema: + type: string + defaults: "" + required: true + - variable: additional_users_dn + label: "Additional Users DN" + description: "An additional dn to define the scope to all users." + schema: + type: string + defaults: "OU=Users" + required: true + - variable: users_filter + label: "Users Filter" + description: "The groups filter used in search queries to find the groups of the user." + schema: + type: string + defaults: "" + required: true + - variable: additional_groups_dn + label: "Additional Groups DN" + description: "An additional dn to define the scope of groups." + schema: + type: string + defaults: "OU=Groups" + required: true + - variable: groups_filter + label: "Groups Filter" + description: "The groups filter used in search queries to find the groups of the user." + schema: + type: string + defaults: "" + required: true + - variable: group_name_attribute + label: "Group name Attribute" + description: "The attribute holding the name of the group" + schema: + type: string + defaults: "" + required: true + - variable: mail_attribute + label: "Mail Attribute" + description: "The attribute holding the primary mail address of the user" + schema: + type: string + defaults: "" + required: true + - variable: display_name_attribute + label: "Display Name Attribute" + description: "he attribute holding the display name of the user. This will be used to greet an authenticated user." + schema: + type: string + defaults: "" + - variable: user + label: "Admin User" + description: "The username of the admin user used to connect to LDAP." + schema: + type: string + defaults: "CN=Authelia,DC=example,DC=com" + required: true + - variable: plain_password + label: "Password" + schema: + type: string + defaults: "" + required: true + - variable: file + label: "File backend configuration" + description: "With this backend, the users database is stored in a file which is updated when users reset their passwords." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: path + label: "Path" + schema: + type: string + defaults: "/config/users_database.yml" + required: true + - variable: password + label: "Password Settings" + schema: + type: dict + attrs: + - variable: algorithm + label: "Algorithm" + schema: + type: string + default: "argon2id" + enum: + - value: "argon2id" + description: "argon2id" + - value: "sha512" + description: "sha512" + - variable: iterations + label: "Iterations" + schema: + type: int + default: 1 + required: true + - variable: key_length + label: "Key Length" + schema: + type: int + default: 32 + required: true + - variable: salt_length + label: "Salt Length" + schema: + type: int + default: 16 + required: true + - variable: memory + label: "Memory" + schema: + type: int + default: 1024 + required: true + - variable: parallelism + label: "Parallelism" + schema: + type: int + default: 8 + required: true + + + - variable: notifier + group: "App Configuration" + label: "Notifier Configuration" + description: "otifications are sent to users when they require a password reset, a u2f registration or a TOTP registration." + schema: + type: dict + attrs: + - variable: disable_startup_check + label: "Disable Startup Check" + schema: + type: boolean + default: false + - variable: filesystem + label: "Filesystem Provider" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: filename + label: "File Path" + schema: + type: string + defaults: "/config/notification.txt" + required: true + - variable: smtp + label: "SMTP Provider" + description: "Use a SMTP server for sending notifications. Authelia uses the PLAIN or LOGIN methods to authenticate." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: true + show_subquestions_if: true + subquestions: + - variable: host + label: "Host" + schema: + type: string + defaults: "smtp.mail.svc.cluster.local" + required: true + - variable: port + label: "Port" + schema: + type: int + defaults: 25 + required: true + - variable: timeout + label: "Timeout" + schema: + type: string + defaults: "5s" + required: true + - variable: username + label: "Username" + schema: + type: string + defaults: "" + required: true + - variable: plain_password + label: "Password" + schema: + type: string + defaults: "" + required: true + - variable: sender + label: "Sender" + schema: + type: string + defaults: "" + required: true + - variable: identifier + label: "Identifier" + description: "HELO/EHLO Identifier. Some SMTP Servers may reject the default of localhost." + schema: + type: string + defaults: "localhost" + required: true + - variable: subject + label: "Subject" + description: "Subject configuration of the emails sent, {title} is replaced by the text from the notifier" + schema: + type: string + defaults: "[Authelia] {title}" + required: true + - variable: startup_check_address + label: "Startup Check Address" + description: "This address is used during the startup check to verify the email configuration is correct." + schema: + type: string + defaults: "test@authelia.com" + required: true + - variable: disable_require_tls + label: "Disable Require TLS" + schema: + type: boolean + default: false + - variable: disable_html_emails + label: "Disable HTML emails" + schema: + type: boolean + default: false + - variable: tls + label: "TLS Settings" + schema: + type: dict + attrs: + - variable: server_name + label: "Server Name" + description: "Server Name for certificate validation (in case it's not set correctly in the URL)." + schema: + type: string + default: "" + - variable: skip_verify + label: "Skip Certificate Verification" + description: "Skip verifying the server certificate (to allow a self-signed certificate)" + schema: + type: boolean + default: false + - variable: minimum_version + label: "Minimum TLS version" + description: "Minimum TLS version for either Secure LDAP or LDAP StartTLS." + schema: + type: string + default: "TLS1.2" + enum: + - value: "TLS1.0" + description: "TLS1.0" + - value: "TLS1.1" + description: "TLS1.1" + - value: "TLS1.2" + description: "TLS1.2" + - value: "TLS1.3" + description: "TLS1.3" + - variable: access_control + group: "App Configuration" + label: "Access Control Configuration" + description: "Access control is a list of rules defining the authorizations applied for one resource to users or group of users." + schema: + type: dict + attrs: + - variable: default_policy + label: "Default Policy" + description: "Default policy can either be 'bypass', 'one_factor', 'two_factor' or 'deny'." + schema: + type: string + default: "two_factor" + enum: + - value: "bypass" + description: "bypass" + - value: "one_factor" + description: "one_factor" + - value: "two_factor" + description: "two_factor" + - value: "deny" + description: "deny" + + - variable: networks + label: "Networks" + schema: + type: list + default: [] + items: + - variable: networkItem + label: "Network Item" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: networks + label: "Networks" + schema: + type: list + default: [] + items: + - variable: network + label: "network" + schema: + type: string + default: "" + required: true + + - variable: rules + label: "Rules" + schema: + type: list + default: [] + items: + - variable: rulesItem + label: "Rule" + schema: + type: dict + attrs: + - variable: domain + label: "Domain" + description: "defines which domain or set of domains the rule applies to." + schema: + type: string + default: "" + required: true + - variable: policy + label: "Policy" + description: "The policy to apply to resources. It must be either 'bypass', 'one_factor', 'two_factor' or 'deny'." + schema: + type: string + default: "two_factor" + enum: + - value: "bypass" + description: "bypass" + - value: "one_factor" + description: "one_factor" + - value: "two_factor" + description: "two_factor" + - value: "deny" + description: "two_factor" + - variable: subject + label: "Subject" + description: "defines the subject to apply authorizations to. This parameter is optional and matching any user if not provided" + schema: + type: list + default: [] + items: + - variable: subjectitem + label: "Subject" + schema: + type: string + default: "" + required: true + - variable: networks + label: "Networks" + schema: + type: list + default: [] + items: + - variable: network + label: "Network" + schema: + type: string + default: "" + required: true + - variable: resources + label: "Resources" + description: "is a list of regular expressions that matches a set of resources to apply the policy to" + schema: + type: list + default: [] + items: + - variable: resource + label: "Resource" + schema: + type: string + default: "" + required: true + + - variable: 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: 36000 + 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: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: true + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + + - variable: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/authelia/0.0.2/templates/_configmap.tpl b/incubator/authelia/0.0.2/templates/_configmap.tpl new file mode 100644 index 00000000000..4bdeefd71cd --- /dev/null +++ b/incubator/authelia/0.0.2/templates/_configmap.tpl @@ -0,0 +1,245 @@ +{{/* Define the configmap */}} +{{- define "authelia.configmap" -}} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.names.fullname" . }}-paths +data: + AUTHELIA_SERVER_DISABLE_HEALTHCHECK: "true" + AUTHELIA_JWT_SECRET_FILE: "/secrets/JWT_TOKEN" + AUTHELIA_SESSION_SECRET_FILE: "/secrets/SESSION_ENCRYPTION_KEY" + AUTHELIA_STORAGE_POSTGRES_PASSWORD_FILE: "/secrets/STORAGE_PASSWORD" + {{- if .Values.authentication_backend.ldap.enabled }} + AUTHELIA_AUTHENTICATION_BACKEND_LDAP_PASSWORD_FILE: "/secrets/LDAP_PASSWORD" + {{- end }} + {{- if .Values.notifier.smtp.enabled }} + AUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE: "/secrets/SMTP_PASSWORD" + {{- end }} + AUTHELIA_SESSION_REDIS_PASSWORD_FILE: "/secrets/REDIS_PASSWORD" + {{- if and .Values.redisProvider.high_availability.enabled}} + AUTHELIA_SESSION_REDIS_HIGH_AVAILABILITY_SENTINEL_PASSWORD_FILE: "/secrets/REDIS_SENTINEL_PASSWORD" + {{- end }} + {{- if .Values.duo_api.enabled }} + AUTHELIA_DUO_API_SECRET_KEY_FILE: "/secrets/DUO_API_KEY" + {{- end }} + {{- if .Values.identity_providers.oidc.enabled }} + AUTHELIA_IDENTITY_PROVIDERS_OIDC_HMAC_SECRET_FILE: "/secrets/OIDC_HMAC_SECRET" + AUTHELIA_IDENTITY_PROVIDERS_OIDC_ISSUER_PRIVATE_KEY_FILE: "/secrets/OIDC_PRIVATE_KEY" + {{- end }} + +--- + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.names.fullname" . }}-configfile +data: + configuration.yaml: | + --- + theme: {{ default "light" .Values.theme }} + default_redirection_url: {{ default (printf "https://www.%s" .Values.domain) .Values.default_redirection_url }} + server: + host: 0.0.0.0 + port: {{ default 9091 .Values.server.port }} + {{- if not (eq "" (default "" .Values.server.path)) }} + path: {{ .Values.server.path }} + {{- end }} + read_buffer_size: {{ default 4096 .Values.server.read_buffer_size }} + write_buffer_size: {{ default 4096 .Values.server.write_buffer_size }} + enable_pprof: {{ default false .Values.server.enable_pprof }} + enable_expvars: {{ default false .Values.server.enable_expvars }} + log: + level: {{ default "info" .Values.log.level }} + format: {{ default "text" .Values.log.format }} + {{- if not (eq "" (default "" .Values.log.file_path)) }} + file_path: {{ .Values.log.file_path }} + keep_stdout: true + {{- end }} + totp: + issuer: {{ default .Values.domain .Values.totp.issuer }} + period: {{ default 30 .Values.totp.period }} + skew: {{ default 1 .Values.totp.skew }} + {{- if .Values.duo_api.enabled }} + duo_api: + hostname: {{ .Values.duo_api.hostname }} + integration_key: {{ .Values.duo_api.integration_key }} + {{- end }} + {{- with $auth := .Values.authentication_backend }} + authentication_backend: + disable_reset_password: {{ $auth.disable_reset_password }} + {{- if $auth.file.enabled }} + file: + path: {{ $auth.file.path }} + password: {{ toYaml $auth.file.password | nindent 10 }} + {{- end }} + {{- if $auth.ldap.enabled }} + ldap: + implementation: {{ default "custom" $auth.ldap.implementation }} + url: {{ $auth.ldap.url }} + timeout: {{ default "5s" $auth.ldap.timeout }} + start_tls: {{ $auth.ldap.start_tls }} + tls: + {{- if hasKey $auth.ldap.tls "server_name" }} + server_name: {{ default $auth.ldap.host $auth.ldap.tls.server_name }} + {{- end }} + minimum_version: {{ default "TLS1.2" $auth.ldap.tls.minimum_version }} + skip_verify: {{ default false $auth.ldap.tls.skip_verify }} + {{- if $auth.ldap.base_dn }} + base_dn: {{ $auth.ldap.base_dn }} + {{- end }} + {{- if $auth.ldap.username_attribute }} + username_attribute: {{ $auth.ldap.username_attribute }} + {{- end }} + {{- if $auth.ldap.additional_users_dn }} + additional_users_dn: {{ $auth.ldap.additional_users_dn }} + {{- end }} + {{- if $auth.ldap.users_filter }} + users_filter: {{ $auth.ldap.users_filter }} + {{- end }} + {{- if $auth.ldap.additional_groups_dn }} + additional_groups_dn: {{ $auth.ldap.additional_groups_dn }} + {{- end }} + {{- if $auth.ldap.groups_filter }} + groups_filter: {{ $auth.ldap.groups_filter }} + {{- end }} + {{- if $auth.ldap.group_name_attribute }} + group_name_attribute: {{ $auth.ldap.group_name_attribute }} + {{- end }} + {{- if $auth.ldap.mail_attribute }} + mail_attribute: {{ $auth.ldap.mail_attribute }} + {{- end }} + {{- if $auth.ldap.display_name_attribute }} + display_name_attribute: {{ $auth.ldap.display_name_attribute }} + {{- end }} + user: {{ $auth.ldap.user }} + {{- end }} + {{- end }} + {{- with $session := .Values.session }} + session: + name: {{ default "authelia_session" $session.name }} + domain: {{ required "A valid .Values.domain entry required!" $.Values.domain }} + same_site: {{ default "lax" $session.same_site }} + expiration: {{ default "1M" $session.expiration }} + inactivity: {{ default "5m" $session.inactivity }} + remember_me_duration: {{ default "1M" $session.remember_me_duration }} + {{- end }} + redis: + host: {{ ( printf "%v-%v" .Release.Name "redis-master" ) }} + {{- with $redis := .Values.redisProvider }} + port: {{ default 6379 $redis.port }} + {{- if not (eq $redis.username "") }} + username: {{ $redis.username }} + {{- end }} + maximum_active_connections: {{ default 8 $redis.maximum_active_connections }} + minimum_idle_connections: {{ default 0 $redis.minimum_idle_connections }} + {{- if $redis.tls.enabled }} + tls: + server_name: {{ $redis.tls.server_name }} + minimum_version: {{ default "TLS1.2" $redis.tls.minimum_version }} + skip_verify: {{ $redis.tls.skip_verify }} + {{- end }} + {{- if $redis.high_availability.enabled }} + high_availability: + sentinel_name: {{ $redis.high_availability.sentinel_name }} + {{- if $redis.high_availability.nodes }} + nodes: {{ toYaml $redis.high_availability.nodes | nindent 10 }} + {{- end }} + route_by_latency: {{ $redis.high_availability.route_by_latency }} + route_randomly: {{ $redis.high_availability.route_randomly }} + {{- end }} + {{- end }} + + regulation: {{ toYaml .Values.regulation | nindent 6 }} + storage: + postgres: + host: {{ printf "%v-%v" .Release.Name "postgresql" }} + {{- with $storage := .Values.storage }} + port: {{ default 5432 $storage.postgres.port }} + database: {{ default "authelia" $storage.postgres.database }} + username: {{ default "authelia" $storage.postgres.username }} + timeout: {{ default "5s" $storage.postgres.timeout }} + sslmode: {{ default "disable" $storage.postgres.sslmode }} + {{- end }} + {{- with $notifier := .Values.notifier }} + notifier: + disable_startup_check: {{ $.Values.notifier.disable_startup_check }} + {{- if $notifier.filesystem.enabled }} + filesystem: + filename: {{ $notifier.filesystem.filename }} + {{- end }} + {{- if $notifier.smtp.enabled }} + smtp: + host: {{ $notifier.smtp.host }} + port: {{ default 25 $notifier.smtp.port }} + timeout: {{ default "5s" $notifier.smtp.timeout }} + username: {{ $notifier.smtp.username }} + sender: {{ $notifier.smtp.sender }} + identifier: {{ $notifier.smtp.identifier }} + subject: {{ $notifier.smtp.subject | quote }} + startup_check_address: {{ $notifier.smtp.startup_check_address }} + disable_require_tls: {{ $notifier.smtp.disable_require_tls }} + disable_html_emails: {{ $notifier.smtp.disable_html_emails }} + tls: + server_name: {{ default $notifier.smtp.host $notifier.smtp.tls.server_name }} + minimum_version: {{ default "TLS1.2" $notifier.smtp.tls.minimum_version }} + skip_verify: {{ default false $notifier.smtp.tls.skip_verify }} + {{- end }} + {{- end }} + {{- if .Values.identity_providers.oidc.enabled }} + identity_providers: + oidc: + access_token_lifespan: {{ default "1h" .Values.identity_providers.oidc.access_token_lifespan }} + authorize_code_lifespan: {{ default "1m" .Values.identity_providers.oidc.authorize_code_lifespan }} + id_token_lifespan: {{ default "1h" .Values.identity_providers.oidc.id_token_lifespan }} + refresh_token_lifespan: {{ default "90m" .Values.identity_providers.oidc.refresh_token_lifespan }} + enable_client_debug_messages: {{ default false .Values.identity_providers.oidc.enable_client_debug_messages }} + minimum_parameter_entropy: {{ default 8 .Values.identity_providers.oidc.minimum_parameter_entropy }} + {{- if gt (len .Values.identity_providers.oidc.clients) 0 }} + clients: + {{- range $client := .Values.identity_providers.oidc.clients }} + - id: {{ $client.id }} + description: {{ default $client.id $client.description }} + secret: {{ default (randAlphaNum 128) $client.secret }} + {{- if hasKey $client "public" }} + public: {{ $client.public }} + {{- end }} + authorization_policy: {{ default "two_factor" $client.authorization_policy }} + redirect_uris: {{ toYaml $client.redirect_uris | nindent 10 }} + {{- if hasKey $client "audience" }} + audience: {{ toYaml $client.audience | nindent 10 }} + {{- end }} + scopes: {{ toYaml (default (list "openid" "profile" "email" "groups") $client.scopes) | nindent 10 }} + grant_types: {{ toYaml (default (list "refresh_token" "authorization_code") $client.grant_types) | nindent 10 }} + response_types: {{ toYaml (default (list "code") $client.response_types) | nindent 10 }} + {{- if hasKey $client "response_modes" }} + response_modes: {{ toYaml $client.response_modes | nindent 10 }} + {{- end }} + userinfo_signing_algorithm: {{ default "none" $client.userinfo_signing_algorithm }} + {{- end }} + {{- end }} + {{- end }} + access_control: + {{- if (eq (len .Values.access_control.rules) 0) }} + {{- if (eq .Values.access_control.default_policy "bypass") }} + default_policy: one_factor + {{- else if (eq .Values.access_control.default_policy "deny") }} + default_policy: two_factor + {{- else }} + default_policy: {{ .Values.access_control.default_policy }} + {{- end }} + {{- else }} + default_policy: {{ .Values.access_control.default_policy }} + {{- end }} + {{- if (eq (len .Values.access_control.networks) 0) }} + networks: [] + {{- else }} + networks: {{ toYaml .Values.access_control.networks | nindent 6 }} + {{- end }} + {{- if (eq (len .Values.access_control.rules) 0) }} + rules: [] + {{- else }} + rules: {{ toYaml .Values.access_control.rules | nindent 6 }} + {{- end }} + ... +{{- end -}} diff --git a/incubator/authelia/0.0.2/templates/_secrets.tpl b/incubator/authelia/0.0.2/templates/_secrets.tpl new file mode 100644 index 00000000000..44f8b0e1548 --- /dev/null +++ b/incubator/authelia/0.0.2/templates/_secrets.tpl @@ -0,0 +1,112 @@ +{{/* Define the secrets */}} +{{- define "authelia.secrets" -}} +--- + +apiVersion: v1 +kind: Secret +metadata: + labels: + {{- include "common.labels" . | nindent 4 }} + name: {{ .Release.Name }}-dbcreds +{{- $dbprevious := lookup "v1" "Secret" .Release.Namespace ( ( printf "%v-%v" .Release.Name "dbcreds" ) | quote ) }} +{{- $dbPass := "" }} +data: +{{- if $dbprevious }} + postgresql-password: {{ ( index $dbprevious.data "postgresql-password" ) }} + postgresql-postgres-password: {{ ( index $dbprevious.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 + + +--- + +apiVersion: v1 +kind: Secret +metadata: + labels: + {{- include "common.labels" . | nindent 4 }} + name: rediscreds +{{- $redisprevious := lookup "v1" "Secret" .Release.Namespace "rediscreds" }} +{{- $redisPass := "" }} +{{- $sentinelPass := "" }} +data: +{{- if $redisprevious }} + redis-password: {{ ( index $redisprevious.data "redis-password" ) }} + sentinel-password: {{ ( index $redisprevious.data "sentinel-password" ) }} +{{- else }} + {{- $redisPass = randAlphaNum 50 }} + {{- $sentinelPass = randAlphaNum 50 }} + redis-password: {{ $redisPass | b64enc | quote }} + sentinel-password: {{ $sentinelPass | b64enc | quote }} +{{- end }} + masterhost: {{ ( printf "%v-%v" .Release.Name "redis-master" ) | b64enc | quote }} + slavehost: {{ ( printf "%v-%v" .Release.Name "redis-master" ) | b64enc | quote }} +type: Opaque + + +--- + +apiVersion: v1 +kind: Secret +type: Opaque +metadata: + name: {{ include "common.names.fullname" . }}-secrets +{{- $autheliaprevious := lookup "v1" "Secret" .Release.Namespace ( ( printf "%v-%v" ( ( include "common.names.fullname" . ) | quote ) "-secrets" ) | quote ) }} +{{- $oidckey := "" }} +{{- $oidcsecret := "" }} +{{- $jwtsecret := "" }} +{{- $sessionsecret := "" }} +data: + {{- if $autheliaprevious }} + SESSION_ENCRYPTION_KEY: {{ index $autheliaprevious.data "SESSION_ENCRYPTION_KEY" }} + JWT_TOKEN: {{ index $autheliaprevious.data "JWT_TOKEN" }} + {{- else }} + {{- $jwtsecret := randAlphaNum 50 }} + {{- $sessionsecret := randAlphaNum 50 }} + SESSION_ENCRYPTION_KEY: {{ $jwtsecret | b64enc | quote }} + JWT_TOKEN: {{ $jwtsecret | b64enc | quote }} + {{- end }} + {{- if .Values.authentication_backend.ldap.enabled }} + LDAP_PASSWORD: {{ .Values.authentication_backend.ldap.plain_password }} + {{- end }} + {{- if .Values.notifier.smtp.enabled }} + SMTP_PASSWORD: {{ .Values.notifier.smtp.plain_password }} + {{- end }} + {{- if .Values.duo_api.enabled }} + DUO_API_KEY: {{ .Values.duo_api.plain_api_key | b64enc }} + {{- end }} + {{- if $dbprevious }} + STORAGE_PASSWORD: {{ ( index $dbprevious.data "postgresql-password" ) }} + {{- else }} + STORAGE_PASSWORD: {{ $dbPass | b64enc | quote }} + {{- end }} + {{- if $redisprevious }} + REDIS_PASSWORD: {{ ( index $redisprevious.data "redis-password" ) }} + {{- if .Values.redisProvider.high_availability.enabled}} + REDIS_SENTINEL_PASSWORD: {{ ( index $redisprevious.data "sentinel-password" ) }} + {{- end }} + {{- else }} + REDIS_PASSWORD: {{ $redisPass | b64enc | quote }} + {{- if .Values.redisProvider.high_availability.enabled}} + REDIS_SENTINEL_PASSWORD: {{ $sentinelPass | b64enc | quote }} + {{- end }} + {{- end }} + {{- if .Values.identity_providers.oidc.enabled }} + {{- if $autheliaprevious }} + OIDC_PRIVATE_KEY: {{ index $autheliaprevious.data "OIDC_PRIVATE_KEY" }} + OIDC_HMAC_SECRET: {{index $autheliaprevious.data "OIDC_HMAC_SECRET" }} + {{- else }} + {{- $oidckey := genPrivateKey "rsa" }} + {{- $oidcsecret := randAlphaNum 32 }} + OIDC_PRIVATE_KEY: {{ $oidckey | b64enc }} + OIDC_HMAC_SECRET: {{ $oidcsecret | b64enc }} + {{- end }} + {{- end }} + + +{{- end -}} diff --git a/incubator/authelia/0.0.2/templates/common.yaml b/incubator/authelia/0.0.2/templates/common.yaml new file mode 100644 index 00000000000..caa2c91f302 --- /dev/null +++ b/incubator/authelia/0.0.2/templates/common.yaml @@ -0,0 +1,72 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Render configmap for authelia */}} +{{- include "authelia.configmap" . }} + +{{/* Render secrets for authelia */}} +{{- include "authelia.secrets" . }} + +{{/* Append the general configMap volume to the volumes */}} +{{- define "authelia.configmapVolume" -}} +enabled: "true" +mountPath: " /configuration.yaml" +readOnly: true +subPath: configuration.yaml +type: "custom" +volumeSpec: + configMap: + name: {{ include "common.names.fullname" . }}-configfile + items: + - key: configuration.yaml + path: configuration.yaml +{{- end -}} + +{{/* Append the general secret volumes to the volumes */}} +{{- define "authelia.secretVolumes" -}} +enabled: "true" +mountPath: " /secrets" +readOnly: true +type: "custom" +volumeSpec: + secret: + secretName: {{ include "common.names.fullname" . }}-secrets + items: + - key: "JWT_TOKEN" + path: JWT_TOKEN + - key: "SESSION_ENCRYPTION_KEY" + path: SESSION_ENCRYPTION_KEY + - key: "STORAGE_PASSWORD" + path: STORAGE_PASSWORD + {{- if .Values.authentication_backend.ldap.enabled }} + - key: "LDAP_PASSWORD" + path: LDAP_PASSWORD + {{- end }} + {{- if .Values.notifier.smtp.enabled }} + - key: "SMTP_PASSWORD" + path: SMTP_PASSWORD + {{- end }} + - key: "REDIS_PASSWORD" + path: REDIS_PASSWORD + {{- if .Values.redisProvider.high_availability.enabled}} + - key: "REDIS_SENTINEL_PASSWORD" + path: REDIS_SENTINEL_PASSWORD + {{- end }} + {{- if .Values.duo_api.enabled }} + - key: "DUO_API_KEY" + path: DUO_API_KEY + {{- end }} + {{- if .Values.identity_providers.oidc.enabled }} + - key: "OIDC_PRIVATE_KEY" + path: OIDC_PRIVATE_KEY + - key: "OIDC_HMAC_SECRET" + path: OIDC_HMAC_SECRET + {{- end }} +{{- end -}} + +{{- $_ := set .Values.persistence "authelia-configfile" (include "authelia.configmapVolume" . | fromYaml) -}} +{{- $_ := set .Values.persistence "authelia-secrets" (include "authelia.secretVolumes" . | fromYaml) -}} + + +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/incubator/authelia/0.0.2/test_values.yaml b/incubator/authelia/0.0.2/test_values.yaml new file mode 100644 index 00000000000..f416a33a438 --- /dev/null +++ b/incubator/authelia/0.0.2/test_values.yaml @@ -0,0 +1,662 @@ +# Default values for Bitwarden. + +image: + repository: ghcr.io/authelia/authelia + pullPolicy: IfNotPresent + tag: "4.30.4" + +command: ["authelia"] +args: ["--config=/configuration.yaml"] + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 9091 + +persistence: + config: + enabled: true + mountPath: "/config" + type: pvc + accessMode: ReadWriteOnce + size: "100Gi" + redismaster: + noMount: true + forceName: "redismaster" + enabled: true + type: pvc + accessMode: ReadWriteOnce + size: "100Gi" + +# Enabled postgres +postgresql: + enabled: true + postgresqlUsername: authelia + postgresqlDatabase: authelia + existingSecret: "{{ .Release.Name }}-dbcreds" + +# Enabled redis +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/redis +redis: + volumePermissions: + enabled: true + architecture: standalone + enabled: true + auth: + existingSecret: rediscreds + existingSecretPasswordKey: redis-password + master: + persistence: + enabled: false + existingClaim: redismaster + replica: + replicaCount: 0 + persistence: + enabled: false + + +podSecurityContext: + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + +securityContext: + readOnlyRootFilesystem: true + allowPrivilegeEscalation: false + privileged: false + + +resources: + limits: {} + # limits: + # cpu: "4.00" + # memory: 125Mi + requests: {} + # requests: + # cpu: "0.25" + # memory: 50Mi + +envFrom: + - configMapRef: + name: '{{ include "common.names.fullname" . }}-paths' + +probes: + liveness: + type: HTTP + path: /api/health" + + readiness: + type: HTTP + path: "/api/health" + + startup: + type: HTTP + path: "/api/health" + +domain: example.com + +## +## Server Configuration +## +server: + ## + ## Port sets the configured port for the daemon, service, and the probes. + ## Default is 9091 and should not need to be changed. + ## + port: 9091 + + ## Buffers usually should be configured to be the same value. + ## Explanation at https://www.authelia.com/docs/configuration/server.html + ## Read buffer size adjusts the server's max incoming request size in bytes. + ## Write buffer size does the same for outgoing responses. + read_buffer_size: 4096 + write_buffer_size: 4096 + ## Set the single level path Authelia listens on. + ## Must be alphanumeric chars and should not contain any slashes. + path: "" + +log: + ## Level of verbosity for logs: info, debug, trace. + level: trace + + ## Format the logs are written as: json, text. + format: text + + ## TODO: Statefulness check should check if this is set, and the configMap should enable it. + ## File path where the logs will be written. If not set logs are written to stdout. + # file_path: /config/authelia.log + +## Default redirection URL +## +## If user tries to authenticate without any referer, Authelia does not know where to redirect the user to at the end +## of the authentication process. This parameter allows you to specify the default redirection URL Authelia will use +## in such a case. +## +## Note: this parameter is optional. If not provided, user won't be redirected upon successful authentication. +## Default is https://www. (value at the top of the values.yaml). +default_redirection_url: "" +# default_redirection_url: https://example.com + +theme: light + +## +## TOTP Configuration +## +## Parameters used for TOTP generation +totp: + ## The issuer name displayed in the Authenticator application of your choice + ## See: https://github.com/google/google-authenticator/wiki/Key-Uri-Format for more info on issuer names + ## Defaults to . + issuer: "" + ## The period in seconds a one-time password is current for. Changing this will require all users to register + ## their TOTP applications again. Warning: before changing period read the docs link below. + period: 30 + ## The skew controls number of one-time passwords either side of the current one that are valid. + ## Warning: before changing skew read the docs link below. + ## See: https://www.authelia.com/docs/configuration/one-time-password.html#period-and-skew to read the documentation. + skew: 1 + +## +## Duo Push API Configuration +## +## Parameters used to contact the Duo API. Those are generated when you protect an application of type +## "Partner Auth API" in the management panel. +duo_api: + enabled: false + hostname: api-123456789.example.com + integration_key: ABCDEF + plain_api_key: "" + +## +## Authentication Backend Provider Configuration +## +## Used for verifying user passwords and retrieve information such as email address and groups users belong to. +## +## The available providers are: `file`, `ldap`. You must use one and only one of these providers. +authentication_backend: + ## Disable both the HTML element and the API for reset password functionality + disable_reset_password: false + + ## The amount of time to wait before we refresh data from the authentication backend. Uses duration notation. + ## To disable this feature set it to 'disable', this will slightly reduce security because for Authelia, users will + ## always belong to groups they belonged to at the time of login even if they have been removed from them in LDAP. + ## To force update on every request you can set this to '0' or 'always', this will increase processor demand. + ## See the below documentation for more information. + ## Duration Notation docs: https://www.authelia.com/docs/configuration/index.html#duration-notation-format + ## Refresh Interval docs: https://www.authelia.com/docs/configuration/authentication/ldap.html#refresh-interval + refresh_interval: 5m + + ## LDAP backend configuration. + ## + ## This backend allows Authelia to be scaled to more + ## than one instance and therefore is recommended for + ## production. + ldap: + + ## Enable LDAP Backend. + enabled: false + + ## The LDAP implementation, this affects elements like the attribute utilised for resetting a password. + ## Acceptable options are as follows: + ## - 'activedirectory' - For Microsoft Active Directory. + ## - 'custom' - For custom specifications of attributes and filters. + ## This currently defaults to 'custom' to maintain existing behaviour. + ## + ## Depending on the option here certain other values in this section have a default value, notably all of the + ## attribute mappings have a default value that this config overrides, you can read more about these default values + ## at https://www.authelia.com/docs/configuration/authentication/ldap.html#defaults + implementation: activedirectory + + ## The url to the ldap server. Format: ://
    [:]. + ## Scheme can be ldap or ldaps in the format (port optional). + url: ldap://openldap.default.svc.cluster.local + + ## Connection Timeout. + timeout: 5s + + ## Use StartTLS with the LDAP connection. + start_tls: false + + tls: + ## Server Name for certificate validation (in case it's not set correctly in the URL). + server_name: "" + + ## Skip verifying the server certificate (to allow a self-signed certificate). + ## In preference to setting this we strongly recommend you add the public portion of the certificate to the + ## certificates directory which is defined by the `certificates_directory` option at the top of the config. + skip_verify: false + + ## Minimum TLS version for either Secure LDAP or LDAP StartTLS. + minimum_version: TLS1.2 + + ## The base dn for every LDAP query. + base_dn: DC=example,DC=com + + ## The attribute holding the username of the user. This attribute is used to populate the username in the session + ## information. It was introduced due to #561 to handle case insensitive search queries. For you information, + ## Microsoft Active Directory usually uses 'sAMAccountName' and OpenLDAP usually uses 'uid'. Beware that this + ## attribute holds the unique identifiers for the users binding the user and the configuration stored in database. + ## Therefore only single value attributes are allowed and the value must never be changed once attributed to a user + ## otherwise it would break the configuration for that user. Technically, non-unique attributes like 'mail' can also + ## be used but we don't recommend using them, we instead advise to use the attributes mentioned above + ## (sAMAccountName and uid) to follow https://www.ietf.org/rfc/rfc2307.txt. + username_attribute: "" + + ## An additional dn to define the scope to all users. + additional_users_dn: OU=Users + + ## The users filter used in search queries to find the user profile based on input filled in login form. + ## Various placeholders are available in the user filter: + ## - {input} is a placeholder replaced by what the user inputs in the login form. + ## - {username_attribute} is a mandatory placeholder replaced by what is configured in `username_attribute`. + ## - {mail_attribute} is a placeholder replaced by what is configured in `mail_attribute`. + ## - DON'T USE - {0} is an alias for {input} supported for backward compatibility but it will be deprecated in later + ## versions, so please don't use it. + ## + ## Recommended settings are as follows: + ## - Microsoft Active Directory: (&({username_attribute}={input})(objectCategory=person)(objectClass=user)) + ## - OpenLDAP: + ## - (&({username_attribute}={input})(objectClass=person)) + ## - (&({username_attribute}={input})(objectClass=inetOrgPerson)) + ## + ## To allow sign in both with username and email, one can use a filter like + ## (&(|({username_attribute}={input})({mail_attribute}={input}))(objectClass=person)) + users_filter: "" + + ## An additional dn to define the scope of groups. + additional_groups_dn: OU=Groups + + ## The groups filter used in search queries to find the groups of the user. + ## - {input} is a placeholder replaced by what the user inputs in the login form. + ## - {username} is a placeholder replace by the username stored in LDAP (based on `username_attribute`). + ## - {dn} is a matcher replaced by the user distinguished name, aka, user DN. + ## - {username_attribute} is a placeholder replaced by what is configured in `username_attribute`. + ## - {mail_attribute} is a placeholder replaced by what is configured in `mail_attribute`. + ## - DON'T USE - {0} is an alias for {input} supported for backward compatibility but it will be deprecated in later + ## versions, so please don't use it. + ## - DON'T USE - {1} is an alias for {username} supported for backward compatibility but it will be deprecated in + ## later version, so please don't use it. + ## + ## If your groups use the `groupOfUniqueNames` structure use this instead: + ## (&(uniquemember={dn})(objectclass=groupOfUniqueNames)) + groups_filter: "" + + ## The attribute holding the name of the group + group_name_attribute: "" + + ## The attribute holding the mail address of the user. If multiple email addresses are defined for a user, only the + ## first one returned by the LDAP server is used. + mail_attribute: "" + + ## The attribute holding the display name of the user. This will be used to greet an authenticated user. + display_name_attribute: "" + + ## The username of the admin user. + user: CN=Authelia,DC=example,DC=com + plain_password: "" + + ## + ## File (Authentication Provider) + ## + ## With this backend, the users database is stored in a file which is updated when users reset their passwords. + ## Therefore, this backend is meant to be used in a dev environment and not in production since it prevents Authelia + ## to be scaled to more than one instance. The options under 'password' have sane defaults, and as it has security + ## implications it is highly recommended you leave the default values. Before considering changing these settings + ## please read the docs page below: + ## https://www.authelia.com/docs/configuration/authentication/file.html#password-hash-algorithm-tuning + ## + ## Important: Kubernetes (or HA) users must read https://www.authelia.com/docs/features/statelessness.html + ## + file: + enabled: true + path: /config/users_database.yml + password: + algorithm: argon2id + iterations: 1 + key_length: 32 + salt_length: 16 + memory: 1024 + parallelism: 8 + +## +## Access Control Configuration +## +## Access control is a list of rules defining the authorizations applied for one resource to users or group of users. +## +## If 'access_control' is not defined, ACL rules are disabled and the 'bypass' rule is applied, i.e., access is allowed +## to anyone. Otherwise restrictions follow the rules defined. +## +## Note: One can use the wildcard * to match any subdomain. +## It must stand at the beginning of the pattern. (example: *.mydomain.com) +## +## Note: You must put patterns containing wildcards between simple quotes for the YAML to be syntactically correct. +## +## Definition: A 'rule' is an object with the following keys: 'domain', 'subject', 'policy' and 'resources'. +## +## - 'domain' defines which domain or set of domains the rule applies to. +## +## - 'subject' defines the subject to apply authorizations to. This parameter is optional and matching any user if not +## provided. If provided, the parameter represents either a user or a group. It should be of the form +## 'user:' or 'group:'. +## +## - 'policy' is the policy to apply to resources. It must be either 'bypass', 'one_factor', 'two_factor' or 'deny'. +## +## - 'resources' is a list of regular expressions that matches a set of resources to apply the policy to. This parameter +## is optional and matches any resource if not provided. +## +## Note: the order of the rules is important. The first policy matching (domain, resource, subject) applies. +access_control: + ## Default policy can either be 'bypass', 'one_factor', 'two_factor' or 'deny'. It is the policy applied to any + ## resource if there is no policy to be applied to the user. + default_policy: deny + + networks: [] + # networks: + # - name: private + # networks: + # - 10.0.0.0/8 + # - 172.16.0.0/12 + # - 192.168.0.0/16 + # - name: vpn + # networks: + # - 10.9.0.0/16 + + rules: [] + # rules: + # - domain: public.example.com + # policy: bypass + # - domain: "*.example.com" + # policy: bypass + # methods: + # - OPTIONS + # - domain: secure.example.com + # policy: one_factor + # networks: + # - private + # - vpn + # - 192.168.1.0/24 + # - 10.0.0.1 + # - domain: + # - secure.example.com + # - private.example.com + # policy: two_factor + # - domain: singlefactor.example.com + # policy: one_factor + # - domain: "mx2.mail.example.com" + # subject: "group:admins" + # policy: deny + # - domain: "*.example.com" + # subject: + # - "group:admins" + # - "group:moderators" + # policy: two_factor + # - domain: dev.example.com + # resources: + # - "^/groups/dev/.*$" + # subject: "group:dev" + # policy: two_factor + # - domain: dev.example.com + # resources: + # - "^/users/john/.*$" + # subject: + # - ["group:dev", "user:john"] + # - "group:admins" + # policy: two_factor + # - domain: "{user}.example.com" + # policy: bypass + +## +## Session Provider Configuration +## +## The session cookies identify the user once logged in. +## The available providers are: `memory`, `redis`. Memory is the provider unless redis is defined. +session: + ## The name of the session cookie. (default: authelia_session). + name: authelia_session + + ## Sets the Cookie SameSite value. Possible options are none, lax, or strict. + ## Please read https://www.authelia.com/docs/configuration/session.html#same_site + same_site: lax + + ## The time in seconds before the cookie expires and session is reset. + expiration: 1h + + ## The inactivity time in seconds before the session is reset. + inactivity: 5m + + ## The remember me duration. + ## Value is in seconds, or duration notation. Value of 0 disables remember me. + ## See: https://www.authelia.com/docs/configuration/index.html#duration-notation-format + ## Longer periods are considered less secure because a stolen cookie will last longer giving attackers more time to + ## spy or attack. Currently the default is 1M or 1 month. + remember_me_duration: 1M + +## +## Redis Provider +## +## Important: Kubernetes (or HA) users must read https://www.authelia.com/docs/features/statelessness.html +## +## The redis connection details +redisProvider: + port: 6379 + + ## Optional username to be used with authentication. + # username: authelia + username: "" + + ## This is the Redis DB Index https://redis.io/commands/select (sometimes referred to as database number, DB, etc). + database_index: 0 + + ## The maximum number of concurrent active connections to Redis. + maximum_active_connections: 8 + + ## The target number of idle connections to have open ready for work. Useful when opening connections is slow. + minimum_idle_connections: 0 + + ## The Redis TLS configuration. If defined will require a TLS connection to the Redis instance(s). + tls: + enabled: false + + ## Server Name for certificate validation (in case you are using the IP or non-FQDN in the host option). + server_name: "" + + ## Skip verifying the server certificate (to allow a self-signed certificate). + ## In preference to setting this we strongly recommend you add the public portion of the certificate to the + ## certificates directory which is defined by the `certificates_directory` option at the top of the config. + skip_verify: false + + ## Minimum TLS version for the connection. + minimum_version: TLS1.2 + + ## The Redis HA configuration options. + ## This provides specific options to Redis Sentinel, sentinel_name must be defined (Master Name). + high_availability: + enabled: false + enabledSecret: false + ## Sentinel Name / Master Name + sentinel_name: mysentinel + + ## The additional nodes to pre-seed the redis provider with (for sentinel). + ## If the host in the above section is defined, it will be combined with this list to connect to sentinel. + ## For high availability to be used you must have either defined; the host above or at least one node below. + nodes: [] + # nodes: + # - host: sentinel-0.databases.svc.cluster.local + # port: 26379 + # - host: sentinel-1.databases.svc.cluster.local + # port: 26379 + + ## Choose the host with the lowest latency. + route_by_latency: false + + ## Choose the host randomly. + route_randomly: false + +## +## Regulation Configuration +## +## This mechanism prevents attackers from brute forcing the first factor. It bans the user if too many attempts are done +## in a short period of time. +regulation: + ## The number of failed login attempts before user is banned. Set it to 0 to disable regulation. + max_retries: 3 + + ## The time range during which the user can attempt login before being banned. The user is banned if the + ## authentication failed 'max_retries' times in a 'find_time' seconds window. Find Time accepts duration notation. + ## See: https://www.authelia.com/docs/configuration/index.html#duration-notation-format + find_time: 2m + + ## The length of time before a banned user can login again. Ban Time accepts duration notation. + ## See: https://www.authelia.com/docs/configuration/index.html#duration-notation-format + ban_time: 5m + + +## +## Storage Provider Configuration +## +## The available providers are: `local`, `mysql`, `postgres`. You must use one and only one of these providers. +storage: + ## + ## PostgreSQL (Storage Provider) + ## + postgres: + port: 5432 + database: authelia + username: authelia + sslmode: disable + timeout: 5s + +## +## Notification Provider +## +## +## Notifications are sent to users when they require a password reset, a u2f registration or a TOTP registration. +## The available providers are: filesystem, smtp. You must use one and only one of these providers. +notifier: + ## You can disable the notifier startup check by setting this to true. + disable_startup_check: false + + ## + ## File System (Notification Provider) + ## + ## Important: Kubernetes (or HA) users must read https://www.authelia.com/docs/features/statelessness.html + ## + filesystem: + enabled: true + filename: /config/notification.txt + + ## + ## SMTP (Notification Provider) + ## + ## Use a SMTP server for sending notifications. Authelia uses the PLAIN or LOGIN methods to authenticate. + ## [Security] By default Authelia will: + ## - force all SMTP connections over TLS including unauthenticated connections + ## - use the disable_require_tls boolean value to disable this requirement + ## (only works for unauthenticated connections) + ## - validate the SMTP server x509 certificate during the TLS handshake against the hosts trusted certificates + ## (configure in tls section) + smtp: + enabled: false + enabledSecret: false + host: smtp.mail.svc.cluster.local + port: 25 + timeout: 5s + username: test + plain_password: test + sender: admin@example.com + ## HELO/EHLO Identifier. Some SMTP Servers may reject the default of localhost. + identifier: localhost + ## Subject configuration of the emails sent. + ## {title} is replaced by the text from the notifier + subject: "[Authelia] {title}" + ## This address is used during the startup check to verify the email configuration is correct. + ## It's not important what it is except if your email server only allows local delivery. + startup_check_address: test@authelia.com + disable_require_tls: false + disable_html_emails: false + + tls: + ## Server Name for certificate validation (in case you are using the IP or non-FQDN in the host option). + server_name: "" + + ## Skip verifying the server certificate (to allow a self-signed certificate). + ## In preference to setting this we strongly recommend you add the public portion of the certificate to the + ## certificates directory which is defined by the `certificates_directory` option at the top of the config. + skip_verify: false + + ## Minimum TLS version for either StartTLS or SMTPS. + minimum_version: TLS1.2 + +identity_providers: + oidc: + ## Enables this in the config map. Currently in beta stage. + ## See https://www.authelia.com/docs/configuration/identity-providers/oidc.html#roadmap + enabled: false + + access_token_lifespan: 1h + authorize_code_lifespan: 1m + id_token_lifespan: 1h + refresh_token_lifespan: 90m + + enable_client_debug_messages: false + + ## SECURITY NOTICE: It's not recommended changing this option, and highly discouraged to have it below 8 for + ## security reasons. + minimum_parameter_entropy: 8 + + clients: [] + # clients: + # - + ## The ID is the OpenID Connect ClientID which is used to link an application to a configuration. + # id: myapp + + ## The description to show to users when they end up on the consent screen. Defaults to the ID above. + # description: My Application + + ## The client secret is a shared secret between Authelia and the consumer of this client. + # secret: apple123 + + ## Sets the client to public. This should typically not be set, please see the documentation for usage. + # public: false + + ## The policy to require for this client; one_factor or two_factor. + # authorization_policy: two_factor + + ## Audience this client is allowed to request. + # audience: [] + + ## Scopes this client is allowed to request. + # scopes: + # - openid + # - profile + # - email + # - groups + + ## Redirect URI's specifies a list of valid case-sensitive callbacks for this client. + # redirect_uris: + # - https://oidc.example.com/oauth2/callback + + ## Grant Types configures which grants this client can obtain. + ## It's not recommended to configure this unless you know what you're doing. + # grant_types: + # - refresh_token + # - authorization_code + + ## Response Types configures which responses this client can be sent. + ## It's not recommended to configure this unless you know what you're doing. + # response_types: + # - code + + ## Response Modes configures which response modes this client supports. + ## It's not recommended to configure this unless you know what you're doing. + # response_modes: + # - form_post + # - query + # - fragment + + ## The algorithm used to sign userinfo endpoint responses for this client, either none or RS256. + # userinfo_signing_algorithm: none diff --git a/incubator/authelia/0.0.2/values.yaml b/incubator/authelia/0.0.2/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/nextcloud/2.3.3/CONFIG.md b/incubator/nextcloud/2.3.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/incubator/nextcloud/2.3.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/nextcloud/2.3.3/Chart.lock b/incubator/nextcloud/2.3.3/Chart.lock new file mode 100644 index 00000000000..a7cb0fa6988 --- /dev/null +++ b/incubator/nextcloud/2.3.3/Chart.lock @@ -0,0 +1,12 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +- name: postgresql + repository: https://truecharts.org/ + version: 1.1.0 +- name: redis + repository: https://charts.bitnami.com/bitnami + version: 14.8.11 +digest: sha256:f424036a376deb87b242f665b6fe1f19f7a903fbe48a3efd59d7314912c763f6 +generated: "2021-08-28T12:41:54.259313034Z" diff --git a/incubator/nextcloud/2.3.3/Chart.yaml b/incubator/nextcloud/2.3.3/Chart.yaml new file mode 100644 index 00000000000..f25c5df2b6f --- /dev/null +++ b/incubator/nextcloud/2.3.3/Chart.yaml @@ -0,0 +1,36 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +- condition: postgresql.enabled + name: postgresql + repository: https://truecharts.org/ + version: 1.1.0 +- condition: redis.enabled + name: redis + repository: https://charts.bitnami.com/bitnami + version: 14.8.11 +deprecated: false +description: A private cloud server that puts the control and security of your own + data back into your hands. +home: https://nextcloud.com/ +icon: https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Nextcloud_Logo.svg/1280px-Nextcloud_Logo.svg.png +keywords: +- nextcloud +- storage +- http +- web +- php +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: nextcloud +sources: +- https://github.com/nextcloud/docker +- https://github.com/nextcloud/helm +type: application +version: 2.3.3 diff --git a/incubator/nextcloud/2.3.3/README.md b/incubator/nextcloud/2.3.3/README.md new file mode 100644 index 00000000000..0810c1f4ebd --- /dev/null +++ b/incubator/nextcloud/2.3.3/README.md @@ -0,0 +1,45 @@ +# Introduction + +![Version: 2.3.2](https://img.shields.io/badge/Version-2.3.2-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 private cloud server that puts the control and security of your own data back into your hands. + +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 | redis | 14.8.11 | +| https://truecharts.org/ | common | 6.10.6 | +| https://truecharts.org/ | postgresql | 1.1.0 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/nextcloud/2.3.3/app-readme.md b/incubator/nextcloud/2.3.3/app-readme.md new file mode 100644 index 00000000000..e7f74fea014 --- /dev/null +++ b/incubator/nextcloud/2.3.3/app-readme.md @@ -0,0 +1,4 @@ +A private cloud server that puts the control and security of your own data back into your hands. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A private cloud server that puts the control and security of your own diff --git a/incubator/nextcloud/2.3.3/charts/common-6.10.7.tgz b/incubator/nextcloud/2.3.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/incubator/nextcloud/2.3.3/charts/postgresql-1.1.0.tgz b/incubator/nextcloud/2.3.3/charts/postgresql-1.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..e02064f4a0fbbba046f937023554def8f68481d6 GIT binary patch literal 29484 zcmV)sK$yQDiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMa0ciXnIApU+`{uL;lZmq0IN&c2r@A>X?ZMV%falEmUe%{ON zNnjF^P*WsJfO1?X`?r4%z7iloiLxEH_g?Yzq!tMb27|$1Fc{3_8KIK`k>8X4(G(Um zyn(ai-yZfE34rP zgu>$A2KR2O-noB}2j=)KDhSTf5twg#FwgZ*SklakQI66Wr4dGCAAT1Oy%>?Gz&Yiw&Ljh#|KAth zG-JROoC&7W@-mFFnE|p7^PKc)flz-22}MPpPr8yFxeDSrKyz=!U94$?u65 zfSAHdNRSr*_WP>5M4FV}{Ow>E4)?=BF!;usL7Y;EQ&ezxXa;dI0yrIK|7nxX1Crbq zMTz+ABpv`|k&HmCpoVhw8%pB;B+)c0DN2I`U0&jJ5~hiU^{PlQB*X8%+i8I%idAyK zBUxEQV)PYNudlDes)QJ3dXu9OfO($a2(q#D^so=ZVL0&qY*t@Cj;A62lPtP=;5L@X z|H01opdtVFcGmL$F`h3X-|++yIs#-0xA*o(`@6ew4EInx+}#~N+ui-{yWI$WyF1+9 z+lhzKw>!_i+uI)O4|jHl`|)^t=es!G-~Vo~jfQAj)j$jc--%Mu*jjKK5pX-3ZqL{LgS04SV{fIr*`cYV(zl+Dn|4Fe@K zf!8Q15TwZSJc5cjj(9Un`CZyqw7_LQyL4iZ9!+ znq_55&mf(SfZw0Pf~kppW7@=!LZ6ou{m$nR{{^E65%MyNIW1uPOMxkRl|}+8!G9n| zy}{r|?DO_TFGwdebm{vx>{T5(gM=_8cLaQj2+biOzVZ1DL4{Zx_-FIeF%+7w{$@%-U!}IfBUcEjReJ8xm&*PEEq`-+3&OWTOxZ1fPasBPSSA!~0-Q!k86)6}Wh`WsNjNT(g#G1%5cI(3&)-PU zSLkL0{HixWE(zgtj4$%U!u8Gh$?FmD4NRIe0-rzoW}V~j+iED%@fsVt#{YfszDXP> z2!*TzfV-Yq-j@Fq&GH0NMEY_<>3vX?rDHs~^UAPH|J&cL$^Y%av%&sa{y)ZJ?f-|~ z6;9(3IO5~|66W3vQOE?`Nbeu@ObH~HOtb7ta!4?PIb(d7rWxgXKq=0OEJ;}9+gnh; zG(Jr7DLgG_U=Mr(zn2+h{O_rDP)duNJi{ps$#euh1suf2SN%(z_Q{n0ie~YF-;cBC z3KfA>K`&lHG@?07fdAw+n#G@e@IOI}Np_w7JO5Uu6el2`yvL+KFuwVB5NA>-kOZL| z?1^%5mLl<2K6xLPvm69(K&t=%pFe{jc7HdfJNO%@#CZS7_lHM6zd3t-yc(n zbXc(=EW^%5otTO>b!Uhk&<=^y9(7aG{3&HugK zVRQcPuIK+_JkIrB=+utI-ytlT%Jt{Z9smivM2TGeZ*PM}HSwJl{{&K;#wev=S5&QO z53Kezrc=F~8s9|)QHEy!1!sv1Ap43^rt(T7^{X8IULvhu|oAR@g&|`%1qb$E+yL&GP0?!m~mykx&z7}!+C%bfRZVIG~NSxcZ zo!c3IijrAKrhQh#9|5CQ^LucO@MKE;5%7n;<8zD>L{X4)Bbz@0{3R))2%#9o-M3F9 zM-jKa$!RQ5HTzf@Qr!InK*8XRA~rLqGX9;SIV$9*D60-I#haj7AVP7DbSms1L2bLJ zEqcQ6$SULoPU#rZSRG^O{_oj#Py#Kr=MkFdWF-;7AQ~xDV`&cLpn9y!!-6bK#C?@ zlLDK0fyVeFiUs?B)e8X=D3@cPEi41o)ho+7~EtfND+$Jmq?TYl*xy~Jg-V0<~adb%6%A556{8* z(cz1eEs!UODS!nUqky#s|NbIJye>egsTP9HWuf;*B(e zX$h15|K%0VS%t5+2S2hZq(9sZ6464yy+~Cj59bgkY{x4Xe2_^ZJWsiQ!MLPlfkfYO zI6(jtFv%oM2zq7Mb_y5~|w!L2eALZF#^GtX_<1F>Ouim|_ymklS_V%xvYNp}YBqURe zl9+@z>tDing8H&_APNUK9cRUivo%cqH=#EPIv6LA2ITh=7N`fldUsLx6JF8+D<2re zyR>mwb7No9L{&UsrI)tgd8XI8SGi{cSRfE1f+wkvi2ikfq5@2!25z zf+%;F)j!V zy#So^sffV4U+@)fgWU51a8#jmj7gLgaaB4NFT%;BPv4TWi=TeEparYMngkHM+yk33!bsQ%b;VL{KqDF$loL6dCtpz?s~d z{n_j4Kgwh1e|%E+F-5Zn_5okE{~PYt&;NIa>+}D|c_K*BBrC8mkp>`^rg?si?mfRB z_OMs!{_GB~AM0t(|Bvq<`Xb1Z`9Iv-->v)q4EOie^ZzlPjSXeh<)%t$%^=`y#RL2$ zN-3aINWlcLZB87E{SDKLvXbT{H+LxQL)7y&z;pTy0k2M9{1=!Zm{M*DwV?5>2tftg zsGPpK0O(_mA}Vc4Q69j{Y&U=Y6p8Sv`nO2)U>_zG_+fTqv{Ss}L0VrwYZLZKcrg#PR~Z$1tAZxiD|+E^_A_jdQ6 zHT=J~ch>sfqdb!$lb6oavABPvynDcNE?mVO2s37b&p$}}R!P|YPYQNk&#yxh$Jj1F z>hJ+^16Pv47{n+~vYQ!7X#V3XvQ|c#Nak zF@Xi_6j9a_wnD))2Iu1DBU#*cS;?xgfTZU%D;WJ*@w4h0qpJ=1nHMEfZk=RXbH4Us z0tm_>+rW$cyO3F~7N4g)%!QK`#HS_&D|As*7MR{Bd}mnL92V1rs9KTqGGw)LyS8rP zHIhLpc&TI5O7n9*gg2m275cF#ESVW5Nftq=fGC!7X-7Zd=^W#T$`?}{$0)Vjb|9sN z;TmINCNH2Go-GQ86aK~bOn(@Y2%;uuCeb~ndTAu3r;vqeD}LfZF{T13adp@HCVF|9 zWeI|*%SorIWcIG|t!dESlvS$Bo#?xOn5=9oy`(*pNX}$snJ%s6Anjxz0o zi&N?z*+(80?*JNS^5xC^@K+KHy1}XHJ=nsU*&)a%rQ>6E=&4Uqu>Ehx$UUFv#xVDHP#E# zr0fe!sDp5*PPk6QcTqP{4H%t$_p5w^DVnuv8uRBA&77Ks#!dIE+W;6N?HunW7EHTq z@V7$b6wVyn?`qye!odZ0n|y+`Hp%3qbSG3<<$Iu7>gt`*RaXP=gzlMjEno$dTac__In4-_yG#qch1*qI z;|D)wgo3IQKn=IWMhhiKj1aGeDnNE$+qTR&hFnywPPdAUbf@Y zKIZ15$G@RziKlhnw{Q<-_dpI#W8TOiG1 zbjCg1(Z@U^$hMFuJ20DDyeK&5VW+mhiwwq>Fkw1vA*<ywWv-zu{FtV$^t`mByld z)$1m7x5`_MfY1U@B`sX_n?zn*x`Mh8ttQwd#VfdM1io*jrwjC=8YUkmM!Dx_tsH5B z11@~qTX&Ui=KwOzuHWPF2)ujeGj8y=fPcXLu{!kYulHe|Mf5-)#msqrM%o38ECbl2 zTSkf{g})#r3=P&vhj*^3HO+Q8nOeBfL8~^#Z6|@*o2BX}zr(Xkq<%xVsd1C^Txv`= ztXkGB@ioGebU)?rLCYsoLyO zYrzT@kH~h6J8u0Km#&~rGr~iqbc5Pf+CEq1V|bK6(!LWj#@;NyY~aB!ut;$_8G*x8 z`pgQSMmmM5xWN_t_Yddb8Yc<3ED*fnai%U|boJGPY`fVw-Ouizkz7baL=C5+Rw^Ef z%h@<;x*)aFP*>uXL4v61fy9&!d429d=%pEE0nzR+W>oy1Rzj%)UqlAFG|~Dw1*1VL zcI|Vp=8ypCl#LFK8&=y&%ro7C2S7scqm3XdlQ(r9o+F2&5k8yz_niV&%ilY{P4JY(&)g0}t2!9#eA8>+JLw$J-8+v!B%b=ZS(Ur?- z$^~yxS>se-3Jc-H+3{FlN%;!$_emCAtpa*M1*S6$-Ilw6%B@!~`$_S5kI zZ-!!A&f1l5sf2--yxfCGG_BbE6G*g|Xx3TGxXYS@QRRqfSD1Jaz{-G11zoB!B}sM- zvI4}IK>qivOeoG11kT)F_*r&gU#%bltx$C$u1=1v2hblIFrlGxr zX-9@wUc-U?YT#R|Sh_m?W5FRl{sZwqn&ph`Z||@b|ALI6@+G-?rPFw{*hXZ4xx3m& zB=EI)WNjXC6u6y)?p3Nlav-W4)e`XNoY26 z857nP7z@RJ6bsBEBgNVbW5ZjUVb*4twHd~N-P#PZHp4U^ugx$WK(Ea(Ycq^|?ySr$ zy%^E$;_BM`QbAsuU+U(UqrZr9xwgNo?Jrh0>-HC~t~krUmX=v%L43@IigB3W8KzDT z7!?%r1uFp*D&QzfNjb~wSF<0|t`g;C>);-pz4;;rhV8*%&{!?(b%zPVR=k9)1g{TY zei`%_)40%Lt12RkNAR^M17S02Z`!AtBvKqPU)zZd3tz_!&h z^uRd)m*#)jtLOjSWuMpazaQbT6WOU`Uoy#Wf<42=!->P*m7#$J0(#AmAKQSddVFDhVoN z_81Pe>_6Mz9SolB?Ri(|<~l24GV%gYHRc5h(?BHO2xLwU@2b2+x})Dz*(1O4bgImP z14A>2lMxqo|5+1gDr<{D004N#tXe@0n#OWkV6AkNCkzz=O z-+i~!0!tK=y--J>yo=sk^=Ci)E*y50x2^O40h2&2p8vbUK_mb7{_bF%|LIYlNs?Vc zo&jhB1OYfl6u=Z@b5s;K7OCs`*(^`i&vwBgA+|_0B-!?rENwwy5d903)ot zr#CFRuuZ5mqmZgoHr9Amuy4TW>jpev)*6A^&n7^=cUT3Ms9=I|#+D}{xfKr`FQUJ< zQLM}-1&omy@Li-sssi$pEimWQ6cU0HQ$;%mn{tQJe$6u1a^mqH(RI8T<&!RL274wT$1ZfFWfu5dipK zwW`L@*6QZ4plZT^>X)7#G8q5^QXr;!XDOIs!jl|xYYZQC@!==&o||AsV8=*$#zFC4 zM*cH98Jb;+!img$X1~wNBmp_klV&GP^E_Tk&2^m`3#RcV>1h$8@|)?C1Wy*?4n0i} zu$YhqmDy)r(_1uO^DOrAEIzEwNv~x}%Hl7oX(vh^#xa24r>ww#Fa#2Cmc`((q#21| zf(mZ~{HMY&2*7{Dm~a91HxJ4(IOXKjf=!)3ix68QM(B#ir0AXD^tGPUV1v)=8T@F! z;a&1CFl^*f~v-N(G0*?$Cj$WbVyYN<6w5JzcL+~id3*(JYiiLP*xvjGvACzw!R zQf-6NHNCma;v0d0IEYbnHj~jb; zj%PhQzey?ls21sww*d}&;NrhW;LXJmBS25Ib}aKGz83kR!&8xv@EdOf9O)w7hA^0+ zbS|x(S1o##sVTGmc)~60VI-8vP!>jN&%UnTJaZC6K2_# z(0oK;*1mu#9hi_P6u@|fQV#5~PIo_L0 zFiIqP9HZmxI=zNP3=Yqp^Ni{U>221PPNg5>tk1J=Q%J5zAE&>ehz2pFFo4yS)V?vQ zfg067#D5F&EDj9YP~T3Asrq{Q>iFdS>EX*0Av*vVW0b@)Bc>QE{^ktQ>4?vRFwJ7b zsKC=!3SeSkkonkN!kpI^wbe$6eF75i3rN z$759RB&JM8aOS?e5%MLPqPS!-U)AGoaHqTpup#4p2dpnaRABD3r52GS$*zf-^E~=J zhy)HAs>oBJe`>Js`ic#15W{qWimW6-g-9E8^pOoHrreW<^Dse_;&kGv7i#JLWr|WM z>WoAJUmWQ53lvB^FuCx^y5D^@oo-4YLEuBSBN&Pg=D3Kxy%%Dgt zm&_4JNs?t(We!BPex^W>Y=*$kda5y~WllIQB2clANdTB4P@Fml4&{w$Nv4iRhiZ8d zUc!B;TyXT{LdB5F#%@{68CtH2go)vI?+P^jwaU`(5Drn6MkuGGuj&P zSWjppw%x+ohYP*%1N-!W$t@;RuQ8djw<@pNO;#2lyG}LmGYwm;6sGSghfTD1J?|Wk zxXNR&GKEoybiK+{h}wOw;xr3uhzj-08+bluJD-b-GuZ+rA|tHYs`I(PzV~@VX)S7c zqRTn=BNKI8P4|7d`(NoI zgy*}k)}>&mz-$?NW^Tvh$;b3(UJDjih-umi1p!+AXkcxb#Kk7Q9FOrwo#I`m=jUBB z2~j(MtH~{7Md>%>gwDZbR5>fMIYYwOU6{spkpquyk1vsS6%_q)*lpWkN@M&2aK?dH z1*yL46W!v83rr^_!O^0Y!PPuX(w$kFZFLNmUM50#V@ifp%)OMstt1={4qw9MoEA%1 z+<)k5VL3XN~)WzJz3rt=SM3Hz`m{(sK? zxHvldzzs_u-W;EOFsqBzj(w8rUJkEQ0NLVM9WA6Wm>^osJe6D!ym|eCf93PEvdtL1 z7YNJDKz5h(F20(W{J4g9wWe4I1En>Kd9Q^{dy0TzoZ(+Wdvrfkpg(YDKzXhc%azj@ z1}$T7TDu5jET=dn6u}r|W1}5b`a{l};G+?;5tauOj6$)Tdg^$Ch@msZ8DGIG+$*f> z{Gf=Z5|f;19?;90m9dYFlFCYA2|{90>b|BjZ53mXxlNdLu$pNK(~;L$nQ=NP5Fsxx zq01L$9tWXago)3F2_-eb#GS*DA^P!+wO#vtLeYYei$3L1kVfhAA% z@#I2bDy!aCWsqRngsE!fi>nNpxQlcK&WG6;%y1kh=o%J?D1kr=h{pKJ{Brdz;gCoU z*|ZWzyU@JFE+LDHq6EOyP!y_@QWGYdu`tgOQ;HdUp58aRyG+UrelZ8L@i2~;xKpdhLuCTgM}|J{ujRWu4KD7P^gwq24^JJhCrTFhe;N}Djj44sT|U2g%kr&sZQ*Zd80;Q zb_VG*1l>>q+9uJr-U*Wk_b`i@s>QSs!-E+7?EnnJ;chT!K)T>trZet6X?-;Iu#J|K zfVFc*b4gtwe()TjiWMAT8pPRcXUJTe>jv4-wQEcN#f$SgyM*BTj85gjI`>~-;z4j0 z8-cvYxU&hgM@NhYO^A-T9l(VGJ&4-Jz^5L5-Y3^C_()E7R%r` z@;*+PQntvvIsYES;&$i#G(a;0T|)~LEwn0u-Fo_^kgK)648wb4w?sh|M(1zXw|4c^ zz(=1-N>_*mu9g*>J7tk@p)p%j=%DhNEwN57)_q&UcF7`5kL!FMZ2=VmVN1u4VR#7Z ztYKuz=cdXt&WcF;jpp1p`0VWwkbaP?&@VVixLD>oO?smp)(ffJ3RR22In_>i8vZX_ z|E8IkNW#{fCFKk$ZOT5!SF5h+t@5G&9}J!M+4w!3qW7Zu-#%=~qSAwemHa07Mow>H zwscuidpN}VmkcA(ppMPKmv4C%ZVZUr;^MIhw(_==fjIcdO~5u00;&q6)Hq{Uaho98 zTf9q9(fy9JCzZ4qjPb+*z;{Iiarev*!G|pn-=uJcBerA+hh|1hOccdpM>QRm>%*3H zT%bXq!lB^Hel_8dY=%Uj2$T>cKu+)+rB=8zNBuJ8h7c5kO#_V{XH5Y*Et7=p4lPK0 zz2qk$+-ys?Ks3$tR>IXA(WVJQ=y`$3>hfUZ8VcXn0+rl{3ZRdea1M!2<9hH2jGnAmwF{*P_m7 zr6sN=tgN4P`*eORnD-8!H`yq`LM}Wm&b^^JTRs&!k?#7i-}? zJIi9Er%7eDx|An_YcKh6m6yzLhov|A9te_#@V!#l9xvdX(TfCPsx%(c2?X=2;3pOqm8)rZQ69 z2Lb8|=lWIMIs8a#NNPz@EWk!&$`+hUM6VG_0ZdG1C(j`DDwNjbhNcI7Y5u|LgOr%4-B*+$* zMUf1~x1rC&A?G5Y+KMm=vNv)JDo&FZTEK?lIHBQ4@9S&~V5MiwJOl~5zaNW7IG zndZdkc8|4H&3UngieIb)mPt|HJs9a%I!=pNaCf%{#wX#*J-Z2%Q+ahcs6{CXo{JL*zAz7*Z%a&dr60z2z@W z6`~#;Y{OpnH#Wel0&vAr#OL17F6<&}LZcPqwN}*V6rGE|S7?9xM=X9>T5vQ)Fc0Lr zfSY?I)lZqGCiFK(@F+_OEg(+ms*dpDwgpZn0h$YoKpzr(V|%*PqN7a z;KpHcJSw>To@X>-*mT|yu|OUs7!stf2})UjQd(f~wvTAk7pBJm%wV1~argX8*{nq& zb?@at?m@sf4kQ8r%{Z+QjRKBCz-Bi8Gk^l~e$O-dp>HtmG7eD&`7`Z~1UdzLP#!guM|U!X6;xV2nh2t6I~OI_sJ0KXtml9Gp> zE>M)sW+;uhDaLSctXxvfICL}v34(KZgvwpr7_&z>D~W&|O*3rR=t_c$P`Jp!gk%7x zO!V>d<0+GGL|E|%D9V(nPsW88c}Fh6l=9o$8ygieTY!|&lp*jEr z{)@i(+J6s|B&7M>!@w+w|Fpf=i2wF%e{W|U|K%~B+uQzAPu|p~#Z8{E1--J&GFH&h zo;ZVq;5ikS#0r$gsNmL>lKqv4t(@W;a0!`8t0E@|TbBy-5qeMipFexIw}EgIL%JEmk|9r+otyPNSrZtCl1t{2HbY zLhzZN#mh#&FR{2WZ**uOw0s`fK=2rZZ&ed!w1iOV>jIV=nq5Nz7Dd_e8aSIVHVSfY z3Ct$O0R8SN%Wn_(Rd@+s)pDa|77W2Bkm59EOW>etjGM@pHmKs*ENibScc12rO_L86 zw`dhz*ro+$3~>TB^8%-I4E)oK0w{yq)REczn)LiORD0&2sljfJd;@E~twAK5=Fow) zyN+bD&gJF7J}d96P~&=j0AI1Wqj^@s1+CWm*8YZhR#2F^+SPD=jFr5*d9I zF1^oFii$B)*_7xdVDx%LdkE!p_A==k{dpQV#z%xTr@~DyX zp?8JTcvNBF%@BpcaHTA3j!7%F^eRA)UQDGAUh5hxzT2{K*A&itN9mB_(*4g`9B9UG z*SErAQiA_9T^Cza4WmeSofTI}24g3hi;y%uDGfZ@@ieeh7v0>^#cpq1?YYVdz{(^h zMq&nOG<{(V&7#2xRoxekvDz2l6<+JkP<-VQTX6>Oz@ z4VdN-0Bqj92Z_F|qfy8BMU9oaAlpFKycg+0)Zmgliyeb#!27f1RTK2_RYVp&bR(!E0(Ub1n4Gu z4LaMQY?X(=?X7`U2X?eV;MR;Ek_PDaMLpfj3J~(}wIDRY;A#>$V(i*D8I`K`XYk`2 zBc?7N`~`Z14N+iY!aC>Sb(ce_y|AghRz}y#=)aIM+C~3U*Lm)G2DDWF+o{`s277zM zwf^@Q57Ym^Ykra=^u6cuUa?Z`)V)O&;8dKjv?+1gKy01h{3zok%WM7BwQp#^w@z0I zm`)IQ!pd)fC+e>A=s=4D^~yfrP$l*GM_@@U^;y7R;52AyR~IGwPenA->KMtnWTqLd zfeg)?4^n;LUi6zSmh@0w()PiVUeCZ*;`^TA$WWs9?9*Xp*YVpRA>J5I9I837ekpXxlhvl3?fF#hzUtfFO+Htwg?gD(j2wM)8c2va9$FC1^RdRk@RI@&wkaAN0N?L|d$Y|N_FU*qA^92I zR26+i!d}%oH5j$tNrVn+@@i>Mg@`yh1m`(S=W7j0-{?z-<75!E1lr)4GR$ zy6AuTJo=LUKf~?8vxfiA{$=T z0F}mY_V&mWujZZOri@~xwS?V7zgJN!dERC5UAS8C7d@%U@oMG`#Jb+|#Aw&hAsKQ( zT|?v$8|B;8ikkdywp3r{h3eo|`c_%(jh1{zyIplZL0QWKqAuVUtnGjHH29Z&y2yW_ z(A|9rSR(%idxQP@{(onGo&WDq9(n%5lOYt^r328+NYKpeQ;4r_^It?S{X+J??cKq4!~VCkp8t>X zH1t0e9`}y=p7tnRWB}BGqC49ERG=zD15~eS`)kFjE&FTv+0fk-9GCsijI&|sZM7_P zd^fwuMrbwL-A1T7)73_3_im|;@NOnTJ-~KzUDd>@`l^;6&#?T|qjL*pUB;A)tUc$7 zC6^g{7Vu)-*t3Kg8^#`u!xysk7^pXzTx9A|^-NPwjii5`sYmxl>Q)aHN z1}xS8pViO*wui&D|M#OjhW>BfI9hohU|&~SydN;juCgz%TRD9oM=r;@j)`U~zDI?ey;KGdD|088fo?*8tu?*F;FySD#6%5w+*Pa}Q%gF1j(*Y1{jfErl* z6S{z|U=3MCD%USZ~&R6j0?B<@i%;hu8VL?SI zjztcex>V~3E(ZFTo|JNxK3#FTFLuD}>?i5))LgqxE_Iz$L9}Y|r!?=>4*lj4HMiNW zx+dqb@_e@`{JLWFv2GojN0jqLYb{p+g8)H;VT|=g1JVRE>1776s>P|ly{(L3TI^J% zRrF2%oynZ}(FNe{MGD)V_|vEYK7rrM%yjhzRooi0bu&Ip^~gwBBR6V1He(&Bv$sc1 zqDaio{zaO^aHMrRQRtxmOVeHd{ZCne|Hx7bld~*7ENRAl@`|N< zf@SvqoyPsIy`BB-wf_GY&qDnl*0lerW&n_9B6o~nf%bhssUuc*-3C~3ECN%(QwxD= z7pIekZIz4kX%0`NNMEiNST#ikvF?>!+ms5s{(SoqQK+^oE%V2{ebJq`-!4V1LA!I2H`58skIvq_p*X>Ra6Rx06%k4)tnMTQQni0A7hca^hwCat zl$ZLAXy9;;*h*qFvV^+JFmfz73wtPHIX`44MZCHD_OkA&%;vi>)N-gGku zF0=o$Z}$4XyR*Nx|3AvJ()xcQ831Sw=(6yO#2P=odA@wjcZF3_leV@w#JqXa<^JPI zqxO-NEXTE4`&ZwRFiLS4rO`OVS${tC<#K&0V!0kt3Zv-^rSw=QG<7W5_+!9UZF`IG z`7?j1H=}AbmN|LAH~cH_$>-1CxSWf=w3u3D{@?W;;F9_O?AiXa`uX4X_S*jcD9=js zA0|oTe&9n`{u}qlj8l82ZLg}#-x_!QRNV@YQD&|kfm|1Ns-1`Qgb3?CF+t-T!2I60 z1!T8+u)xE^;TK`KWXxSYK0Wo`?PcDe%0b=cVSQZy%jJP09YM}39}}kT*Ii_m`#6O? zbAY6ReqI@S+s3j^p&C97O4;8RP|SfslW>kg9a?ZWsn~#c`e{kZIy{jayFt*Jqm?LD zkym@n(%~RB|w&0blpGu4lVqsk$UcRY%GYp^Hncqs3HaE?f6K)Nh>ZDQ?gx z+KC{FtfV~PvWlKfe0dxs=7AG8gbM1rTXM-n9#f&p%-n_y z@2pWycf0LOyUm>&i0m~Z+cSCYAao#8gR9ng0yGD?r z?r>*){`)A;9sED*Yyf`CE~`ATW$MY?jv`W&OyA1&jwKc#M_7L6`LB8V-`cAGmR;WQ z+;>uBWzOpD?SEUp3!|Dv>AZRSN>n@mF`fYb?8oQFzIx}Xc3Zon-vluxKeC?<7nU#(r8*a9RHu}(!Kqt zwnhOgX%^%r18bgq_ajn1sG?k-YqP0wltmN3dDpk zJ>%_-z$u!eLVl|9HjfM~T+p5%D)Nh(BsbPUJmXGmFv)R>Mmyn-@r@B2)|H9?^e=JR zC)3*7AgaCiyrxX?C50;I+v`qpxGYHrbm@v z0c7mbI^8y1r&b4MCa5+<)(#2LYMjsmv1e-icLH(@^QeZ&g*3HoY@Smhv zjNaqiulguEx4XMz^gE+jlqI|hPfcx?KQq4@pP0O5ulm(HiBqi=@74%aYFpsh8&_sY zZG4{;b(6W`5BB;ZPi*lnJAVK+D?=|U^rY2b&C9!C)V{fvE~B(f?Up4_A>S|`S0p_E zn(!R7c^i4i%etTO8E*9I_2zs87R8Bc}tAO*z+E;26hh?28YYS1{{@#$%8o z$rW{;FwN^0B4(#$+R=6h@_S7-iJYXTSdq#@$MRFk3Z9!M~)k)YhhrvX}tXyM20pB&GJ%=na4g~A1 z7_zlnpK6nYH{YdaN_;u0uh1M9I~Ku&baEA|fenJdb4TjXBF16&5&$ccmg|6j6>C`+kFI>E~A(-ixgHY9K&S>MVcX`IZC z`u(rxqp#=uTvnqX8WrH5$U!kcxf$ut+`p`(|KBkV^b-AlXM2069{*!!dv~q>KgP4N z|8Er^`fYU|`-^x3>(J4+Zdcvzv*JWhnGq#yV_yJrg7rZcPhvarcI5vty3XU(jz94Tt8x{FoN*t#UvAt%e#mn^qu zm}<_XQ&#A<$raAaRGyl&J4!hNtQbAD!AK(OBNcTQt~yV-LMU%LoVuUO)*}C#>hNi$ zqbGGx(}-WNdgKBfBtQ;J#nnb7Yvrv4EvSbpxKE&h1`f?o1@&QW#3@)Fp`cl_OOOIb zdk-6@z|lZUsDj21gCOFxq?%yWZ_CNgDApkFUqA)=mwr~!|Lz(GdWrtG|7^dm|7~v% z*ZF@RE*Cwt~5!_5|>n>7?YZNQUQEWSmc$j+yDK}a-3j85FvYXX z%^Ik1?vkbWYh;wP?|>K|K)2SOpZQBlzQ|zwJxpL4p<*#!b+$DsDmvKjEaY9q7b%6R zvlj&%k8vcNx@-bjpPZC(R9@7kiQ_rnFuaE8MBQm>`#Nfyw{6f`Sv;_ZYT014b%P-8 z!*)34aRy|+YcDNwIV&s%DvY{L(Be}YRorm8kfc?j=x`5b#AcA^XRAgsZFD;?FB43r zrx|^XV0?2J$1)?Ju=cimwWzxogw;4-$41Vm`})d=wK7^Lvsd=PYEZLPhvvzc2!dl@ z4G623W{jnJFhkv%>kP*_P+EAB)N+L6{CaV8W*je7ru&PdGtYHWTQlx2J#bnC!D^$b zP-zDa`fOJ5R+XsL=X5etoLZrB^JuQu)16eWj4m_}@D^;b>pWeZYPGCNy|&M68R^Nn zZiZuRS9})68Fhy=U$Ta^DsCrfEN)CbwCeVxVZ$mf2@(@D08meMX+;VE&Yi1}TJDVb zz2XdCG{;5Lu6bTf;BN=O@H=Sd+ofS7Z(AZt-eLd$UMTI|tpH2*|HGZVdi;r6N$89TI%V=i_3j@1GP?w-G ziRwaajnq!fRak}A;%1NqmldEJdNyu%Yt^z->-KLuCH1R7>vS7E+tR!mb$yPY=tR{U zM_dY*U0s?#8>VB%mT(SnA|gyZ0X^W;qLiE<>MG3so_BYtPIFD{JYF<`@u$2fwN zyU|24m@bOjH+(f2Z5()ZSj!xzzMD*>&Pqa$5z3FU{KmLBQ>|+1{8V7UV7dLLy{h7a9vb0KYD~3S`eYWpmTXAC; z78BlBEB7+>yB4X6qRS{H7PHk!Wh{b!Ia=M3G%HMHJw*Xd0seSYeI*O& zR&l(`Lqor`{TiwO-DW#rQyd_qPz+#HWJa*}HVJC-#dTI( zB^iuEk|TM6qtoTCTl<3Q(sT|?$nr(->RS@dhgK4YRHSYYyY=5PoC1Ff_;-NqI6>2P ziViebvHO35m|SiCTOoTp3xK8Pe~tJLJ3G&I*7N@{9zOpMlO($aKbMzC+Q?+y_e|J9 zW0Z!iQ{NfI`KkhC9!aTF?eNH~WV9Qq_SH-^0M-0fYl<&0&M;w~7g=6lro2>kKYqkk z&t9=ouguugRi}h|v@b;tPA4G~NFtMrZQmwnHb=!#Hp_Vs@&6cx!|!~Dm2N3TL;EV1 z#DJ%o^OwZO5yU#0qUcH!gHX}l&1&SRg8f^)blPs0hWhR;rl9l$t3pbxHOz;3R+InI zMQB9};4=9?XxRU@w}XCG|xsT+@+TNY)IWZz|c|JLIaha;LP zX2K%|Bs|P>CExiePhRtQpBo7XnpN7aqc!2oUS7qj7$vcA zGfeOdQxvm(9i3tVHZO1Z5FekOv$8my@PN#{(0e`xg;)Uu5E+1(NN(WoFa_5*N!S*# zBn(diAV*$eyO?DvCn1Av(uICSj`V(F2!4=>;2wzA8sM7z)+kcrIn}%6d?&73sOt54 zt?gN8*P^T65twD(H~c~M*h|M)OEsu@fJ#iwR&DmVe8BvOBXG?^m)N^aL0;8jb#F2kjnrVUZ1V#w>|H}vddw+HL zqIy*q>r!Psj3OR7pJuFgOL{`AI;XYSYnW~Af}yw+ZjGMK1hCYFu-67PwS&quSXW<= zm4EnM0ks-T4C_)}WH~C58xTRp6pBgInyHiH^9z8>7^Id;zivoTXjkQA^S zN3k_i&~fAQt$mHO9WX?*EG4J~F8_LtRt8Hbq-b0w9Iy-Wxh&v<9V~FArvQREOmGb9 zZEk)|dVU*5E~)%4xzSlo|5qUa9@PG`H)x#yZEx?c{l6aN;nM9TDkfr`NU{hfa)pzA z5Nc;2gL#N=Qn0ogFZ88hTIMZFg#>8nGZJotWDl ztnYDEdsY(4>A`fQ>jG0$$I5KZ0;N5JLf}^p)(RV|C71l+Kl@JsF9(c>bT2TW;^H)q zgeIcY$+Qo=;T#pmIHLOERQ(Q+&Y4fqtR;dTZ=Ijl%Rdr0in@J0_O;jGS3slRAZR%RBMFofcRExDy|u6r$Lh`Ntw&i zqXUo_INCwg>q*)|M{_Qq2X}>0>*8Uavo}0WVu4~X(LHnkS#3zGf>j4%G_O%*4{Q&> z_O7#&s>~+S)gwsFZw9EAo33~29rvmI@$Ahqc2&g;`%+%k(B9nz!@;xFdsabe@0n0E zAnzZWd`>1+Q`+Rq#{6(33iO-cd=o?M(ey93`&mC-_kVi(+<&iA@;y-g*ZrO0Zax3& zV7T`Ge3a)_q@25$A~1tEt@14@OMDD;Fh_0KdfL|ple(i&WoBXEjubSp1vC=lEx$j^ zWt>dmXl2*tVOgk zcc)M(a8`~mG=5HiPq?nB`zfO-hixH^z~WGQ4$ZL{bxYw0i;0SBT};SBVE1si z)wMfbs`m0uk-@B15z^w^_5eWXoL4foCs*iZOJ2AzcPA*F8wrq%neas3 zpAf^$>*+k~5==c2yS=;U)HeU?ha#JG!+@2vlVIvwBr-I>&*N3=wRhu(NYD|JUpVSan1N?2HxebBu8WNv>kq!s2@Fze}5%?)~$lhV~a8S9v9 z@Yxv5V6J1v185wjtE+boOMtQ0H-=CQ$dhJq1Nj-u69h(bMY)O6WjHrwP`Tout*G|)Z)n-J^S*j(w^ctAb}HG6evj`i({ zHTfLGw1n^??5b%g2fYT_VGvpv^3U)LK+E4)6AfKdutFa zyaUojc8Qi?-GAxKmKiekXc8tFI_on$4|KFKvUCk6Y;{a7MAy%&Oa%618 zmu#h@DT>Pk6$+O1qC1>vM(C-yn#D>OKUagHv|#o3!rJD!LrN->i~eC5XRIRb!=+j; z3^+2Qzz?_}^cPI0KZ%mHNNz0^mi9bONfmKj|5%Y*MCeQDxAy|4@?vwP=G8y9Aj77% zHpz)OXT4bwt;njlMDwYc16v^5hN?K`q6j87(i+J;0h-K79)Mp=<{dK{C$7u&`2$y{=Pp{nkA^HQi&KpSA@M*|L*zR zN&j0h3f!{$pU-w1@xRykzaHt~+f5NuSu1?X&)rh^I;eYmKW<#n$W=7&1e0boZ&yMu z)9Bz1-Q5xi+ztT_9IjD3nzgV!*f$DvVF5#U07_2-`A*ahRyF1b*Kzcb)$SK4jZq<- zETy4Q0N12dLCZxyWX1ub&%85FbaH_@o$T{9!$xVCpv^2Hn~lSs>Z7sEw;irum4)yC zB_PhY>5Y^*rw(f`mR%ZWg^{Er1e>}9_?m1PpMdbu7Pm{B&7ZhxeD@8!br<>1ZCDQ%|7mCc z*>)rT%g%cL|0s`;|9nJciWs){PqGP)x=DR$&D8M3Y}>>Db$P7$G!LxjBs zOqFNQw*rgSTQnCSqn-?%XBWO-nnEKxgCmTKt4CF4LmQ7?Gq$1ZKz4~#LPjBOw6m66 z6?lXWA#LH5RZ2K4_foR4DO_LV@EnO{O$5O8JLxE?)VK!Vb#0(>A(Vsa=U| zfyh_=#pqf`QMH%N&R0pkbQ_HvUiKFs^jh%rr9`xBFc#p;?Lw&kH3k)?^&0rE$#In=`g*j1H>pX`fF*-cqk_ zP(Z%}f0_|q$*2G*p!tSZSLBg+lcv0&6-6bQzz(&R=R{)=Br zptOm>`VxG*{F=OV?c4xgW661Bx$p@_K1v{-T_`DNG2c9*+F{KiqS6ND5p7%tvue2t zG{>Az0baD40gd5h-&==RwOQAid9BtFZhl=hObZ5TZKMAyKX+dLA1?my&hCE0{=c`g zyI%hvWjEo71zvox>=*M$ zCAM1{mgY%Av#?S9hzZ5%gfAbq@Z^z}ui*^=d4a~L05Ao1aXbce3i(Y;f~a!aYoK|s zsL3TUm-_BRH6{oMGSnXw^rh+O4BZ5^l!5k zDXGh-w6@o4xTNBxucWy4ZvB<)q;d{NSG&Dq=50>OWv z7kGy2r+UstbYWLJ{HH2As&&_4(cJAy$!f2{E2y7hkaDG}RW}>-u7sb;F@@Ixsy{EJ ziz>yfX|kk9V%WI<)i|+g?TIk_S{$J+6_|y^@^LOK!7i5%*KHPOD5wSsb}XpoiqOsC z^5DjozrfR~|AkYO%_L~>ZNtDH?|BoOgTIc`k zlf&beC*dr+Dv-dFE*g5+Vi6ApgeoKl*TQNNF8 zlaNe#FyRnq{Yw~6P+t}fc-a7_3B5_s!8n05AitNeKt1r)y9=&HB>1v` z#my4ntZX2QE`{xRKa{ETTM$*a1JXrNA|3*Oc;3^eKV>tN!wDKaeG2|VwLQUfT3&`x zHtW-(L~;VaJSTlxAk?2hLQx@S#NRw`V*|W|Sh*s5-X|b4{hiF1F7gSyDH8C>`vig@ z2!QyX`h&l(S^=K`|BnNGEtI$!N*S_M80QiA@VA3uINT2h!QcZgDpVNO^v~!9d;;>= z^H}bA*SID6Cf<;}~( z^Pj;dKveeV5B^}V?d$JO|Lsr0{p}O@@a|Vf$+yNKLbtN*#dt=>EJg$sb5!uS2k!>I z+6V^$Ea}u=R&7|TmS!nhR7n{uK7q?DW1R7Ur{Y{#V-7yaoDi)1?dJuB8__5%DIj7v2k0Z508k>PB`MxVo-&{$J0Sr+SCWSI?^Oi-n7xo$a7DPpXUsx_ou5*R=%j`?pnL$0gX7HG6@u zQ~^_*G?5X!+N)MEwpz-J@khQ=oS|Zd36V5)BH75`(y}O-H%pyZn-`zkM6g!D^|B^Y zgSG)(L1*u(p?A^87pdZRRJ`x2W_MGnmny%to7v7XUD(084BUc@dHf+Xk`P7_BIIRO z2mBhr_?H4x^eT;v{jLMTvf*`9shpPV!4aPqwnp$DHB5&;;>9(ta9*Z7(_xZy!crt_ z42`oq=R|c?S%DU^N*gW2XQO9X+(95aB387O6nD9lW~lCHv|?T>zGQb)FYb2Xu53$- zE4uv3b={r8;>vYzY_%&|Qmy6~zMx)#V2oFwVO72x5v%g6Qn6NZMKacEccx>lUUxzg z3JY519m%LlcO#-Iy@Z5KDp(a4Qm{dOt7>QRS+zP4uRwW%BWQj!zNzS1EmEK!b+xsa zG^l7bL0lYnu2#*$Qa4*xez|z-Xq)L~iCJuSF}Fl6<4Tv3%WWxLEGI7boy;S(lxN-P zTg&0rHW6JZ)mpR@LJLUI&c>nurdI(d`FkQ$nX87RcbHcnq{M@cVO>G2LrnpL6p z#!RUfnU7|O!WdErO2Tk|H$}-Th_i@*`7qowkIjtJr8Fz9vn>9tuS@r3l1==tQ(!#fl5LZFS@~?x zaXRrm?|=A<4of+&Fy1axOnp(;C{JjCXf!Q&K|H?clM++pdp*zNl0ff#E)b#T>>Cpe zWkkU(hsBGB`~&~Zk9C1+FZ>B5Gycl^?0Mrdjld?a0iHGi_rN)#WzPTJ?15YFe+b|L z;nnYhUl2$UibV$A zu{yJ+8MwmH70AXSgCv71AZ~$7dFrz2{v_iceQ=$n-%xOsX4e2-W+eq#S@2Ipbf5KB zcYTwBr*a&_i=IW%*JZj%w?K-nHyxDfbt0!|i<^=*6?BdYPg?}@cS6YjY7Hn*5pzl9 z0sQV)QBoH`A9EB@6ieuKfzK5nUmkw@Bk9K}Adf(bldU=w{`T`$RrwsJlLU#>PyVQ? ztXjMErJ?Mge~HsRnfjj{K&#Tal+_6T_yQAwWsZ1l8@o$UKw`WzwV_y5K z1NNx~w!-2Eh?CRodJ`2zcv2KuvDvf1Sl6xrs0@ZLVT#8{L}54aQ}0RmBchvTPSh>n zHz%=;&LJVF;Ce@Rn$eS4PH#4wP1-f9cz9djy~spZuMo05{-!Uqda17n9lxsV_rjwo zPT~Tkn=K8fDKR=Q8htnTRf3ny2NZMG2zNY;P91+LId#rPFK2WEDQ9J2$NifPk+&!L9w*Jdx= z6v+3Q7&Jo{G)eh;2@~PVv)LSztr|Y{iJ<@L$tmAeP#+c(at|rpDxw+Od&*}9;ts+Y z787zn5`=PqQ*jhxicJBvDqb(Snvmv=-EtUP3dZN9%`tJ)XmKs3{{_S}pB61Ln(@+N z0nKaQSvs@Yk1Cp3ga52@nf2|93FVV?es`JNDw0pqc@0Ph(QH3%L4A_W8*=(*bi;|J zCAAYwB^OaT55?aH{Nwv<{2rxqQ!G<}(6$pJU2b!q!jK=x$?SL4r9$B4Exj#GND+o{ty6GR3C%8S8Uek`NiSI^P~4Cr*G}?-vYJI?|*px>Sd_2$Aml&&ucUme=tdU zz{PT!#Uc({hkjJh8(g#n{948s`|8>g8=p$|NV0S;~7prbU;!9VkjCbx~OlX`4WHR zDB8(esNtG3#Q`&tKL-uL$t7{d376HF2p%t?@X9 z(a{-erq#YJqj4L3n{3`*xk15Yl?{rm_4I!oJ)P-FEowUB&V^b!t9xf9{Un`t)X^*5 z^CirMf_Q~C8?(5n^tLPPC+WO{zOEDSb=26oA6y~Z5~=7^BQIg@Xh&93@i#>McOq2x zuXUx~S)1)&l=~fM*|z{OaPPN3c4anGC8qoJ-`OX3r*y|eRyffu!61voz2EDEf9s%k zX}W70OSV@pVg62z!mr>!xA=g2sFQTQWjFYcJ18~+_d9=R-%Lr@a`7?kHuHFo-MNTDP`jPyA5s*n3ucNqAl`oP+`^SHYOb;YY&jZRm6)X6`&$4_$=dNAS6ea!AD+FPw;40v5^ z*T0JaOKJ0?^6ctpTyxvg6bd8Y&mh}JSzktAu+?aAB%-sMtHBZXmgHL+dx^4q&~rtVXB)s!u#R`Dms7 zDu=uSUe}G@Jx0RB?7VGh{!=k~b9~lz!nG7LR`=eB2_XMc8pK~@$uw&|-ipaZ_=5FP zq>gHZ)80k9g?EErmsD(7@e~(tfd)W{p|!@{u@TAt?Tx5OW;C?G@F2399DuF z*87%j-dn9;u-p6I359zo5!IC&^TxK88&YE!9e@wI5#yT9sLt0qho||-)lqDs>>4nd zqE#vY9d}RNKeFK^5YK+WbSjqpmpUT!icJ`yr2FE&g~NWNu7-_(z7F;hrZ-JSz<;0- z82;$S^jyZ5UJ*kpw&@7WZulP#CX~^u{n?Fd$+rqkGeUDnr$G!UyxT~q*oX_M$iO!W z=-7>*PiJ`xUTFTnXc?`>Xx>gTO)*~N!+k6$Pitzl@Xo);*c6nly7g?$!EFU3iZ%pO z+2#-!qh%%4&}zEy|NQ^id)D5zb!6{P(KWDpdM@lVPST_>;15CiM%xYQoV&n1yJ!`g zZggTxzLK0aE&AUVd`ZK{P}IYT+gP6ri{uPPhBxsL2RR}%%ct^^$=f{0!PzL{iHY^!%anxI#+x723c!6w zQ2pGGNBkd8+0r5aupA%nUfixo+uIuUpjS3r8hyc&H`uS^OY8z%VN`Et>~}K? zEaPsz1TzX?0xPI4JPXM(i6_Jn_@~q?8_!sW4BpMx!vpk(lP$2bUzQkX!0B{IkBO+r zHo@E$bVOhYw`Q2ABj{IVMpP1xN}(QOSg6hu3KCm=-vOjMb$9t#dzlJH($p08Qj)LJ z7?I$DjVX*vFEvq#x|1KOp}x4ZyCl#>qjSF~&Ph5Cr{w#O?{JR@#-l7&`CqxEdEkYn z9xq5v9x+(`z&fkn4L$A}EINjyzn2I~&}*G|9>)9omVS0mh5Ub&q|rC3+%G<^lG(>_ zohR8etf>xE)PLANI2r2oe-92$cJlvSJli7wzbY2mc``dKmRZ-zKoyvWq!}Qz@KX~i z32EvK)wHKSg~3Szz6>++zs2P&2*notDVB;?(vP-^NBN*C2r?79GIGK4d6}bQH(^oy zLFRIUkIez?UHH}6)~@c@L#xn-${?z&>864d#>?{_UYzkyRUeCT9n?fdmC5RJ z1H+xTIYh7k?O?%P=>lB2t`Tr$gZ3U)j<4e3B;|Jyzax1XP4DX@c9{QUGE-HnHV!<_ zFVD{Z_#=-N(KnVv@|>ho66fJ(;=`Z)I5Gxde7uh_*9NK`PX zcVwBQw;P_91IYNK$<&r?z}_f0!De@sEH9(jPdsSmBU&Kgxlx>(X1I@i4TJKNYnWNcU&8xSZ7k51S)Y;koPP&nswX^h z_vM@7^oFG2X99Kw7?0&bIXRq3OGM%7^DCKD?Ecr0S{2M3;gio&Lh^>Om!I0uEwC*Y zc(yPQ$iks3@~#Mtkckl*qYiyZbqrf#HLnf4navA`D={<){7|%R@f|!PCr=4tc+LXYHTqSOTscdI6U$@Vbu?gqhML6qkw|h9k1OTuT785 zPLIrPj+9jzEyMJd9bltzaaOpJTR=9614vGqQ-XAYQPX4p;_YNpX(P$(;_XEK<+fj;-e7eSOFEIH)qGJpxT)K99ViIhajVfczhJifQR*409cb~ z+VO!Tf1i|DJ-3eJ_d_&q#ll2^j zJ3Tg9*in?!6APDfTfWF9D>AJX6ZtR>i$T7~=;DIIiNRF^NX0PqZ7mQm1%)PJ(B-G% zTy^DPKx8OmYUOTrSv_1C7@8z!ZHPvf#uvY}wu}AR+NZ+*V@1+slx1`QeEci9Y~}}2 z;s5dEaCoBme;f>tpX~fU?&8@N|Bv%>p}k2iyLJOXMt?}&ASwy`oI)_NnZ6+?ff?wO zWF(%F4OF>%lU$anb$4pW8>`MoLzXt_NNPO*VtklxA*B*jD6KRXZ3xWTMt`SCn55u|BB?X;rq14}a67#I^$) zG)*irZ!2E%gL)y?*x*>uzy#ggifJ9xw`e;qCfUbnDJ7jH%VikPs-l5QamG^ysUv&T zkU8qh8uet1IZ{~S91K1LqbJ8t13}Gy#oFI=#r;b!tBeFrTc;@F zPFBfmLZ<69%5Tq-I456mox%*NwuptsaC_lmk$gE%qnl_!K9lF!G+eMKQCU(<83YNT z-V#cxBz%#*Oq2DhYkJN3u;b(7<2xbF@$s>ZIPCA{#5w;Q;eH`Llp*oW-ucVd&weI4 z?39nYS3WkU7EJkia;O8Mg|Fx@52FgvUpA{P$qRIxGP4|96PM5ATsJEz7hn{q?S$H? zbr73Gd*9b-KiyM(|I6jNoa@D`R8QSo;EMeJPfmtUwEN$~qv0<9=bb!TbpNXs=wo%> zHgFH@g7U!bgDs@+z87|q(Rx4ZCOrN5K3ulABgQpE@4Ec_v1Eb=>g^tvAN2?-1(@bB zX(=El3e`>4^Lg|Yt=L=zwjbDy*zR`Sud(aYD>|?S+HJ#Uadw_8qUr6nY{H6d z*gIRSvz(+aqEyp*DMN`lNm_0mFBt9iy#hkU#JtzaY`zQQb+`aFMJu$K{DR~6No<8B z{@<~KUzQydYoHx7IGxQRidwihD=zfgnjanBX99$iKTPs4kERuu450<@!fjGgO4`Xx z1V&U{QyT#WbsLAvXbN*>7zliFB7kM7D4ZrfAxLRPA^!hvBX_isOP>`wV4d9t{bSra zTzt*!QQ1ZJi|5Jv%DmENC~*dp|H-MnjZxJ(=@nG7Z4HYP{vAWYMOLbW?KRB?!QYm=7_c`!>ibK z=&^#*dC2|%i>UYGURkormw#%Od{f5t)ZxcPu$1fiqX^M)(*hCC7?A~>mRB5wym(`a zHep@Z2?2tfBw*{&VRRS1kLtw1N;GNWnOLVd%@hQ6NR@eWnnNRZw%SLL zdaSfNla{xZ6N&z#__fpp0)0f-y}HpNoK8uWy-Vo(4b zjw1AOX@_OTX4(~^EsiGhaN_&zBB3i!z(RBwxfUy&CyI7fMW#55AY3N@i}S|-SM4TM zGvV*{>%7h_Hf2 zLI7H3P{ssk=iv={2=X^0HCXgP}6gP0uuUfGcDATu&3EsCX)piujPwT z(0iOOS3^@LEbyE@=x#@a1a(zZheEk5dXqfN$$Y(- z5JZ0gZm}!_Q6@TM%)7^&=P2k2>H^i|6nwv)^8GaZg{m(5FQcA47)O>)5#w)-f^&DQ zzWf@VtR8;fhK@icOpUSI_BP0*q4tHxhOHy6Bvo;4bsU$qOlhf`&eUO0J6dTgFAfBy zrqKEHtk{K4L!{)Wa2U6IWFWD^>B2ZtL!>Wf3T>TdoP5SZq;%4%Nj; z?K80JS0z#U5Gz<#+L7!)O8e1>sCbh9dc{+urI& zFa3D>X=tY*UP(vKFusy{wtpMjuxrGBx#Ryt1-^DMfED#W4v&wt_`iewql3d;{NG(X z?)bm?Qik%~T_m8W4cT=xpg!zFiU<^Q_lpWN2xUeFnzRH^?mdf(-9%M&*UwzxgmZ&M zA5v;lE6GggKNYD=M3e1MTkgo?SrE)uUy+5To2D<(z>@%*K}{CH(HA#c(0vOU@*TRhG|^Ai>%`_J>6Go&W20) z8i@$=K$5AuIGU_LkB%jR;g$z~0zRegW*?I_D z30(uya-g+`Y8G3CHEc(SddF2d2)fJw>nPFgJAApUF(Bm@suTN$A7STdk|)z-(ee~S z4=_2tZ(2S3StCao1-*;2bIs>*wTPxsPX9+jMlp7@5~Gg!n027Ny0|#6$@~gvtZ#jA zlX?e&0&Y?h-XG7J6O;C}L*s9@ms9W9W!LOdete9Z$wkwimz~COlCxR@9SGzoHv>?# zL7Ve7Fs9)au>t1h1FlQ%<_oVg_ND+dKGOGIo`z%|UGK?a``7DBlEx$_*Dc zVQyr3R8em|NM&qo0POvHd)zjXC=Sox`V`o6NgBuBe;H58;FQa~TCl&})6$%BQ0MsQz5vGH^Da=@Z4rlRS zZs9i^4u{X5J{A8R4u|f4x1SD&f7yPzJ$$kAVz~3-$zO)sJ3B9){RIqfgBbUhQwFoY z3|GeGcJ3?r!6YFJGE5RW+5jMg3{6NjAAxAX=v;TkZ z-+pR$`pNk(R(*O~3Si^>-+uP|$+M^K{D1cB`ThLAi{FC>;J+yfxe5h-j>!d#K?*ZC zLkwkf0R-#gOvuZE#HgEr2NSeG7`0L7Dnk)7C_3H`fgT6`#d&OoeWm z0GMUa1JR^cLpwFg#v}vBd|9T9bL&?U=QFfPx2m9|o|HmLxoW6^o$%7XvJ6J(Z=m?N zsfU(=_b_MEqS<>6ctb+uYP`j*5$N?c0C?~K9P}rB`7f6xBU#K30JFJn_zRlL&qr{E zL-1efuYYrZg!=jD`uMeh{8Ja` zE(iyMZ1);opqK*nAAWp_H~=67u|oW{z%v2$}x-$u;>HJ;J%;-?DClj$XFI?;yBTgU~rAu zR4ic`5{o6rV*n6x%V8fRVi}7toFs%Y9D*5%5WtCOEP>5X!g%|#(i;*XHE9%a_P0I~ zV52(lo1C?2MlO(AwJ&%bD%Vqz(X$5lWkI!fZmpF8`lpu<_O!6;8%D!EA1?9@a8>SluT@ZFMlV zD~n}}f6dUiRI~XJR~~1DitXG43>ciyfgz6qNWa)WstA0Wl5V7xe19|jwbGEmiLV7O z-o&$6&V;yeN&(C`BtB+*n~%0Cu+lt^k4cO}FA@AJNX2JwOTC-cHI>^bt+b8MMLyB< zLe`f>d}8oH6J;Z@gXkSh4GJdC`N+Ph5%*Z?iY$oG1%^qmJq)t#Z7HOuDGKp;4q&;9 z$?nU~`)CaFSS})ucH?U}r;h+08yv7Zl<0Hb3Gel9s9!YS8 zWQ_)c%VG)aV={|SJr&B48UYiP#Pn8N$BCVc z>MknXg|CqAmaTLEJ$|#CGQPUZV3G?MVTSl|Pftv-U8OKYeWzd4-!TU1B^?y%WRQ|5 zD5m>>_e6FsNHcr|84C0;4FZhWU=Wv zD*1vpWe+S^j@ARSaEcj{_n{Uc=9fO$jbn0+BB`F!5qM7-Od=SQ1ic3&1Mf4G#yAux z-g6vg^ARwr(DqB&>d1>f{ohS3#@z&Il_w}WOE6eS=}Vnj97HZF&DgXy(2 z`MZ!)r0e{IV?@Clk|)e$E2Ql9?Mr!aeYle~mcB(?%Z!~jbGZ(v$k28s)RMp7K=4WK+NSg1$fQ^0B0 zb8q+UPqlzjeU1*%1DK{L;mbul4>+f|mMDsN37E?b6YNVx8l3F^2#nT`1sbCOz&JxN zn(LK z`C`?yF>P$fI`(oZ%ldY^y=Ed6E=g-u6{rz_;^<%vzcWD;IqC$YjwlrTCUlrT)M3xF zFzJf?*rx`aBpyNwi25iMl35xfhT?g7?7EnP4Do#{nE(XCsaTW~fMzM1tEJbc0=fOB zD9kg=<_{!bzU7f|AQdwl2AbwV1F`$84?I7;es}t6|3~w$-Pf=EV<-=F#r;DhHBa@joaN&zTdS?cvVT*+sA1 zmkJC`-8)FGeubIUL3x+r+i1*Np_WC#>8e6wDDd*V>!-JGbrFyX>y0YHUo9@V_w5Of>sLBmh_+Ws?XL@qsRMj5Ikg*i0N*O93q$N6s|&;ID6I>_?I^DvxZ-NmEWI^}-Cl>p zN?q`^wSMkN{m@=i#q)Og@+sd6q{c~-qU#=T;!&y=^NBqt6l!OtEP~qxSR(gLwG2rc zJCLD2b41lMc#LP5xtm|>?J+;fB1b5OP3^6aTgT)E7@IYBgZ77T-_3lf=tu3KMWq zyl|eF1Ot+Rx5++=5!2PBqA*X<$gV17$1JJamc<Y9f;F+EdN-2rWO6+`p*?c*8|lVNw2cF8AyBsV`nf-j{Nl2 z86Mpk&4ve#Nw{m!5j^21+`$8!@O^{-t?3D1 z5(O|}xF|8D!s=_?dLqP!VIN~mxZfUkDxDqyPNjNfB@qHn_Y@0mgLeME6(V_|L!sW{ z>>;dHlv}^(ghRd9>ee@k&JHR>tQ&=wXf6p9>#%+VpFtK*JCSE1zbu}vyWy4{GSRD& zWhl_r$>QINRr*f=0)Tc<0ROdJE!r`=pm|*LZlwoNccgL40aCsSlf>@AYCU#V#k6H& zDcgkib<6Gh$JV#X1bqKk+$OxQ9k}S$#oMwwDG&WwNG#rX4Wn2E72sVImy2&6d$gC9;W(Y3rZ zRIh*Vk2)WRF% z1zW?eyk5^qo+&fdL?1tepi1Lqc5U#$8pSe@X+jKDyJrfBH`%`c91FKB)d;Y?^EbA8ZP9pXB%F!)@q8#n;*kv zvtI8pxSry0s;%HCh~^2L;Si)5xxy5a1Sb;%UY;l_z^3sSx5al|g(}J8_%TRG1)bQh z)S2Tk2&aSyp)lX{3Z&wiyku_Gxv_=AP&|#k5pzcyF;*EZYYBe@YcP%0a!&Kb?gYW; zpBZN8Z4!2vSi&&OGq(6&){QOydj!7!8F%QDd244_!pVnI=-lIRwjTewXLYM`z1G$T zeYh~t#fAH$IAMBl>5W5f;QCxpo*P9wbw^p23Pa)%n9T#2rWS|nlSSJCtL=CB!pP?? zfTiiz@vnPI+_le*cC{&dZwLGmQB*MSWEnd1!6hGpGabmeMnl2cw?c^@<6t+l&L z2}cL$ofpqv{KM?0roVn&(mh2V z#Cu$Pmhppq=yUvYc&b|fCYxw)z>bViPjzB3NoC`q@vJ0O#WP44lROH3G z!#Ey1$Pi^24q2eUj7cWAp_vgVB8?rTxSFi%taVwrJ?zW>8xD4!*0I)VEl&&$OkQmJ zZQy+KmR!9#L)i=`qR!754AHS=o_ClqG!d|cbD!9XjTT_Sn<%TYVy~9*(cD+A4FDQ( zjlh#(gC~q~W~9x&FshdA45JGB>c4wJO+U(K7bxROydO;wX`nPzDqD}h6EB8^{A~(U zx8ZT4DO!`ujgQuE(&?rg$-DEq(KzqG?M9U4eaD<)tGav792@oLam^{_+#NdSl(M$8caC}P_4(&iQ7q@6Q-`POqVoX!6M>w{ z3+*BRnFv|KPYTLvKo3@lRz;@yHzJ_x9f1F$zQ_b$`bEI#{QOku5?#govsSP zJGouefW7y-^4;|{I$k;J;R>!-8ey&Pm4)id_P#P!{!Z>!OH8|UJ75_kclN-#J+hbZ z!75h0yKuryA}FeyjRp znUK3VWUa>96kfq$R%)Z<^X8E6s+C8&W-MewkvR;jf+Sja)Em?^7yX!$twP5WqRzOC-0}?>(U^o=`5IS8#=L zncvkJs<^YdEpMpmb5kdOC_&?H&Ik=*EPOqzv~v39u&hwGp&3=GwyN^7#i*it=s!^C zC#yC*Gn}00Zok0^p5?Q0fHZr=Jz3evL};|vHjXU_;fE3-{IEE}vi%5bcfrVDHbHFf z_#Id5LXnX0nZ zdimXyz}BIo$Yk3H$e+}<0;of)?Q zUUQOMeVe5d<<_OjZAg||$cLKfwRv*|kxiL%MTK?d&Ry`C4OtP7TtDjhbZsCU)#t0^s z6VSfp{3CXIQHg_3R>5R;INTS$3<4Pk6O^x+x*v_RZ=pa01q-?cA~5!r4xtDPqVCS8zCd~hPW7em zuf?nW)ZuQESG_sli~ApY2EOWlyz}ilAQxO*!2{VhiJHN$%LTax{0ctEH4s;FLau?i zvKMj<+;80tx#;#ve#l*f_O=|6>kzEsiChPBHCN<1sH^)T*FpaFosr9p>+Zdg9o(PC z9l4l#cj%66h}+Ws$mT_$&mY-?V>yT9Iz%hw4E(~~B&+J&LVl7SmbLgvwj*qCl+-M`(clve1yO|#PS*85iMO5IaJqd}>UmRqqXt%^i9i&8(3h0Qn0!+x#(Mg{m{ z_8S!pRRa#wZliKE>SV}KL81$e+mW4`_r8U>Oxe6V&^2PzmKS{WjxcR7A?XgOn141f zhvF~P1f?+i68tEh>PqH%UhgWr=wPH$kozl;>}bV zyH{_g($dj;JC%x^N`=uY7^=A3?`o)0&~R&(Dv4a2myX)|mQ7J+TG>B%ASxV5=?7}j zvkh5RolokYGQKC~=bi@-HdLWnhb%T)pWI6mu_E%Wkg=v(5nUWSnx6f=C}13u>jS-% z?~~*a(;@$XTvL^2Cm)QEBndL#to}JgiGEKNm>vU?#B=E|CxRSFZ}%)iA+zC?&kKqm zZRD){NlGgQ#}J-U28(!o6wpj|Pb;2*Jy_GY9xOYojNA`ur$IgFGNx+uj!xf{d;+f> zF9Lor=Sx7L_=**Ui0!2?x1e3H9FxdIbWEa(%fbT4gr8ZJezjHCAQfL9Jm9$Xwa3aE zp*#o(@8IHoNtN;KFLhDbTVUmLUzx^9V<3!#HGyCN^pH)bB#$FA$;~F;px#%(sy*^O z=ka^Kii>|CW&6a+r(6NYx0Tky)H`;Cyqf))Z*o8G?p1ickzK&hNg8kg!+MSgDCGra zg&FOA67c2frEZ)hOue2J;XBF|OnfueE|_8w5zbw|^!qyi&Q+!}b0ZY8-7pj`brt4P>$__kYJO`HK?h4K%PabVgNn~;aU-3m@Zo$1 zagazmlzw5tkq{=-FqlNzkQ7s;6hR3H)50JmQliuB9PMlIFDmdnW0%4>quoA zK)KRZ>?bU`#bqV`mrd&#xkL$9(geHIrKWOnT3G{FYX*?qbaCxj$^K-%(s($OtW0vq=FywXo9M< zpd**FJTcGECfB12xvWPQ&O#ntv@G2vb&9wp)+>%>hLhbZh-0zlzQGAd3i~c`5)qGN z!cvkl&&BGa zXyb+Dk`$th;jw^A&3RTdt0P!vS5V0n+?BIPz96li)sV|8&{p*hJ&TfZ=(v#>$c&8X1Z;x>V2VyyY#-;?(aP94^8)rr{CXuF09*gp(+Ss zJkErp+bcpD*ag>cZiaT}%v6Du@s+b$ObIn&{;1F&;)d2(clVA4r@Ke;9zi4=jVb*+hq$h1n#RVeBif2U@%yON;dnaF)hsRGb(4=9L$RSRC!b zDGD!xOEjk=FyoAUJe!LP`(M!9y2cT$zCHsQ&CBKNXNt|Ev;9mfz6SG|PS|eOe8v*J zwVS9Y=z5#(WU1nz=vE9>+G%SvQ7Ojm4z2gf6>Vwby{gEyU|7y{uLjK$mU|9iU88Xq z1bn_|+y=>J1n%D?pg)?!a^D{P9l~d4agRTnf1rw1w2&(p6RpPw?d3fJjV0SS8sUZ7C&3|0hG@0a7c=E-Y>n1{DrF#r;|I03}gMaCxPz`l#q_S#wpbLUrC#cg@z< zVrSo^TY|Y_%fQK`(6m(K%7Xm2Wv@Y}5HmGol?fou%+oAC-pWvh#?8Jaw#Zmr+^{EhE_r;Jjle#3*aXtO%NY`iP>hoaEw1vc!ZM?=L4hHM1qEiS_9?Cjn39BKN*C18E6lP& z!6*o6row2uko1*@4u#kg7SVj1peO>AG)*2=Gr~0Fs+`QBUQQcpU2>2c2X?vQmCa7_ zSVTR&Kss#bva8esxteN{1vFgRs%@C6A;(&`y4bbc)dlKB+pY#q^m*%c*BFPmPHT)q z>56NNLqP{QD*{|uEj!3d2lSSqg0b_7a^J09VXIK=_b^6WO%|K(z6_XA?04uxnvLX* z*?FFRRCDZQ@8iefi5&F2Pv||+2RAo?BD;43UcLlF6ZDv5Bd{|wi{fgWQNAT!p-g07 zKv`Bu3~;x9r%^te!E8QqOeaMUhY*2}9|7;eLy53ol;7O+z|D;g8)CqV5Dhb&$}kE` z!7QVZXs|ZtWw5VTcrvvx%K`X@O^q55nIH0;FJ0#sbB5?j!pnm0%o~TDrWM{#zbO?&nM?2SP`|ZC(HuX*Z&kR z5R4kn{F1PKtpNUl<_G0lyeok&(K_4frW6VBijSi6OEjnFj4&9lA{4(poBgo`{sBCq zuuZ>IQJ6vs6dM3%!ySl#iP9$pf)4$h6hq3uGcdzR&X1&)rdJq^Sueqd2{t2^R6PeC z$?M!>l+Ca-d41$$N3i1%g1xCcU2}TKb)td-PDH*|Wv)=h^4B5ZrKyxq3{{{Ob#1OQ zy-Iu74Z%+N>P=*qzpLhO9eh`JP49$EtaQzO`L29+4Nn|CNL|zI{=n+`@vm-Q-&Z>O zzRLso=@iBB;t%5LzX9dVJ@4VwK07bt9{m0n@p?$b+qfT=_f5PG8iNxrn1vt0>kt@E z;yyfePvK4A^y6?Xy!AYWTSINUgbu>2>f^7ue;|K)# z`;qwX&)^dXa|VK_2YMhF@4VL-Bvslps$;Wjh8ivvtPv=a@ zMZY5oHu-cLa%c%*($PdO{;efAQXvPsu^NhFQYvYzeD=0n)MN7iDcaN*(IYsBJ=F4ao7KpW}6c*Ga^@s|Ld*$I8@7%j?- zdqm#6nq8g2B!V$Xkj$~J!ddhB?@P!i$vNcTdS&(AW6(1y_vCx;&12QSoK1cGGWcTm zYq#{1;%cqsyw%)84|^5OLi@A|4N5Kui4iPe*TJ{Rd`A&TA*I(Oi%j1xPG!;Hrfl2O zmFviG2HH2+1&B_hIsV z4gzx?D*G~HWPGy{SToc8t8LCI*+XhC6K^)WD8KMHQGGFxI*9PW|!?IUqCyY=K!pt5V<6aYQ6fzNv z^?Hg`n%Zy*GX^jP7l^Mr5lUk+M-lk$yN!*H9|M5Lp#Q79JdQA&B!n^?z9CU*B7bwU zaaI7DLJkQfB_N!DvZ2V_*ay3DtTJxNSg^8%PHG2}s0dQV|6RZ&S17yAFk>hYFWaLH z^T|d~n}l&5l@^yQjn&P!(lEhhghQs6z`Cw!%spku&;t**z$cL4B;wqA%KNOdudNZS zNdDG@bK_?uU!1g)xd=CPF$d@a3UekBZf^i^nO~rg#bAP%tPupIlfcK1pnrmdMD&k} z(wiF)!~mvg-+oKd#+NVMW`dkuod!tev7VD0TtjKZClhs=q?wfQ!j4oi4E}z!`{n?= z{Ry1CIsnIS_x}Nc09-&i-PkxZ!T{-eTqW3rrlJyM0J$GiMG=yDo3;3CZ2Y9pkAjB) z3`oj~7kkxK##0%fgk^JKuh^&4rixjf^f{T%Osb@y=FBYc7ty#|2`SSqccrLoVUmUt zL4x>aOy$@rl8cyGns#~dVtYXMUK>u5Jq=1-zv_lCXH&DoA3yRM;(6Ar=8c8D1vdTP zt*Fdfg79FyzYXxu-IJrkqo3tq{8+r(^X0PV;l@jw8DbqV`~Fg>T|F^d`06LX&In~7 z#+N9bE44cEWsI?%u;aN{28EAZGIuWWC0GjfmD1r(`Z=Qr zTwy44gYYHNg<^#XxVh2C;W6RULPShEI+bzpL;ztfEjZyLlj#%{YK`gYuF$VrsQdIP z>>DI1@cU#2al%Q{8RBH9_`>vy%7u@A8SuRw8J`}5G0rF}Ld4gn_mRjRE9*CGdVt`h zoqbk9o0}UWP%7oTi)1GRAK?YLLj4VUt!x~?+A*OW1|`jK!p5NYpEOWQ&3{tC>i?uY zu<7a@l@Z(W4OZ(ARR#iVx-4|oJtcoz9|GEZII>lxTTxRbymlX4cyjt#bNf?M z3&^rFbi-Na%w@~nyEo2=&@KhJ#X6nkiK1EFE`gJS{lnAq~-U?mYF~zn_FSpjadUO0Ru(`l3yZBsl~z3fX!0#>pHMpqIo@% zOA*d)c^rGYb-hquY#|0f#Gtj88$Dc%0LU1W%9xkY>Tt%`90b^wz27&)f)o^*dz;o? zuh~~L_aKlCe+&3dN~)w134S+N06@pnr9MaQ^ueB*_vPkqP3^tchoi;Szmi=|8lZME z<{bjTwDXb=g0zcT*s?xA;H(D4VqiD4r!kk1nDTXiOQt)eKoIa5;YOSl&L>%dRr9|j^Cb~IYcajo~9@io3+5F zbG+X4^o<|wEJKn+YuZ0l%;LM@!-8s8E%}1ycPZzV=-Ah+UBpK^f*vw3gLA;(B?1tP z(Y1~aQTU;lkip@x3RG2GDfNrj?SIN-T~h?4+{jlc@W?vmUUhxxxb8g4kF3dXdT{dV z;htwcbVl7>p$f`+A3t(MJ%h;v@jW#{AAp`dX3RvL_Y4f>w%Qj0B!{+lqbHRuv1N}s zYPes&G#hv8-Bv<9(3}Iom}J*5i@J?Ay$T1NN4x{`M_mT!uhn7R-g(g<_J{rLZ*`EX zDp`m9&-cD|zxyqJe)+fG5$gr&em|_=50{p=&%Q_2ygz*P((TzHo7T#e_s8WWpmi`t z?ZdUee))|Ixc@Nke~mB3K^}!g9+?v&qV}G_36-mYucojpfDFmL8TB4&EAwOhnl*YU z&8z}lqkM7V-yFd9bClCY!~6x!YnvK%ObF`m?H$F_;G^eiUz#u&v>&&LE0&H~*_0MnF@b@fvXfq@|) zfjgd7)q^Y}8MVeh&15AQA`p?X-J9hx!)c8AXqK{hVZ)~Z_dEnz#(RM)f(n%g&q(`u zI>}&!3NBIyPf3xax(7CeJT~=gt4e`u|9d_~af&k9XKB1H8`Bp1-|d~}75m@kFP`7q z|K7##NyM77I3C{GtI>lNjveyfpa~* zu)(d|osxdAsWo!#EF!*b)%DBDKDctXENHjVE64py`f~-QyH|66YeGz}-18c^%ke-3 zDUvb6>IBk=akaWQ8o*W_wtW#N3mghyI--*bP6dP(-MB&+k*#{Q`=jbuYSuNoSL}rL zvQabr{Nmd-v_9r-)pO6)Kq~BmDQ94Yg%4PYe?=L`CQjJu=}Cq<>sQ(5JWUmid!~*^ z(d-Ikdt{cv41wN1UT*iF2E)hT@7w(s!LSGVdoYC;IK~Vk+W#fLKnhC#XUsG;8lE`$ zfFAn5P$HNzxZ1uz3~rYw#qrFkUuG}rUw$vV2d>N(NmWs6W0Q<@%$amt#xy>zV^mtH zqd~N>YWwN3Jd&f<%$Jgnt8v2=nx*;CQFvD6NH>XTl(1F~Wx2Q^fWm}KSrbYxQBOws znpH`DK8sZr?q1!w%RB^|Wp;}5&5AceHC6dmwL&!;_|}$sz!zsE(bI(_M{&bQoh_B3 zO49QhwlK{Qd7!O10*3^~h#H2up2Y0U{WRHa0uPMdm-jF|u*uTcs%RXu3IVG&48n|c zyS-V6%PC}q6`i==;M%okA{IQ|LzyjNo9;!1D~^4z#K3}Sg^=-TscNKTT?n~s`1)AAy zCf;A1M3Mss!Y;;e0M?@5;*dmSkDhn$?t`88T4> zi|yoo;s=^2*H@3o72td7AH7aMx=4lSeC&r?kMn zVS68`_H`_(!dEWZo3?n@JQNu+-dNM_svm{*eq`_e-YO0IJWQh9IGw_yd(AX$tyTQQN)oUZ$mU&9w{&`%28e zf0J2?V+3Fv7x@+dPDB`1ij#>*u|_GJpvPj4g}mYz;<$F6x-YQB*;2uw)rVK}i+&p{ z%3S@@hTo@YhG4Wu63Q}&6Gp8?Y9-KC=*6``t=`(meQA9dSlqw_9Z;Yw>{Z8zSNvas z6VUrT=^0f6!vw#ms~dx2wfjB!b@%nVgH!P9?(4(--Lu2DN2A{pzLpk^J_#Y}FqwZ< zeN(ZZi@=k5O$>k|0hCej%l8yqsq3pwV(JqkXLs3jZqfd}-QRxR^%8BX>Y(f*EFW`6 zZkL$ME^$mEa7I!RlgS*MiYmYaz{wI03Z-*ANdzyzKVAY(u8a|ZlL*X6h5$~+B%4X4 z6S7XJ?5|07850=MK}zKR1Wb_>NUFISs7V^EJh&nqhRPRT1dg!06S|GBJ(t~~O;C;J zgAto`tD&0hAYlxoSxqqiF!6MOq8Nn?MSaN-%?;>Kz-g6HIZS+g9sY?T=I7965QuL^ z*~{LC4uJO-&|Ml3vKrmoK>2P!})u2=zfUm8^(yM32_J5`n~D$D9QEv zN6i@4HL&lgtF;P8s&W+TKq=8KLp3Q3m9EODF(P72f@IDpiAIKqsiOf1OQV%JfA;!R zU;cDtw%AHLJQ-B3{H=Eb&y&D1ZwAId7`Q9Em*u>(9&W3pR5XGK&}4WX6!_Gs`0lH) zKnjIOgf=N&N6ec2+QItV_A=kv&$a(5?nnA_I9rniShM}t@Y&PtCyxEsvz`0=FL(26 zyoNU}yM*cTM)^WK0$1A`mpF+=K-PK#(~TKoFoFz@Hh{Q%966@)OI-1ZqkLhNJ*qLw z{sjKa2~%#(D*v@N^rA`{E!Bi9>VbYWaAPGVgKYa+G_|U<$8`kWz>XF`!z2@U!bn>F z+cl)^mifC?>`5b`_c};55wy^2P^(3uym20ZPl4#u1MrTbEZ}-sjQQd((AYQGqx!Mf zvu?cCHzYRP#YTpA>L7`@;^6De22eRsY(_*l^BC(JA>#Yu-KW4{vrT1LX=j^(dcAz} z0$!AHeqvR`*FEKK4(wY!({`(|ekLBHig-kv+2G~|^m=ua_(s&nXd&71INmg*x=!7g z(imQ$po~v8N7Osk3QmW?HmO?gX!{|rINTa&=kac7u$BS$a=W_z`or}Ur4_m84cIJI z5iRS&4i+Y^D)5Yy5`D;>smSoYmQqSj5nIG-J4i@`f?>aN{V9S`j3`|`*kdTdB+RY0EBC<<1bMF0SU*#xm;K}tznCx+NP({;0@Bdl`Qk+cAGXx`?AWF|;62iDor{%lOe+({gGLTWzdBJbL zfne;05<36s@bv-s;}7uHzt-e}=sn#0JLo<9=xKM;+v-)aNbJ2nJl}nH_UdKNLDf@N z!ZalbMK2$2>YY(txdjwF0S~uj=z1%p((gswvS12CN2i1`@Vn26#@We5qg40$?DeUP zAZI`nQIgERRRknYS_Q*zO59_YtvrOloK5#cWF=}619U{D8u&iwKt*e+Z=zxmRcP`D zn|8ROIO5#h31tT-6Y+T!5+{U%%bmKRo(b$Je1CCNR=wReUX`NTjWvp&7~M zOHG7sr!+oS%CpA(ENPl0rw2!8herpmi|KNH^zO}%2PgNl#>=J8w*kP6qC%=^A6{P; zay`K50DS!E?YpD>^TXqp+mfgO7r>%i#I@C5vOK|2@#*B<(c!-S_8$YBe&Q`Z=}L+q zJO-NuikI74MiTDB$7j|LZ*lhsTcvZI8jjq3)r?>U8qPmI+7Y)E6;b*P=JOr)LKz z?MsqV&smv#P`WKpPRli|Q#SBdZ%?hgIdwa4Ek+&JwSSwX>N9Ge_riQH%wLEwe>O$b zf2nW|lgKkYWVY(_2xnZTBb)|26*H`+qsegOsk(0i^By|HU&m z{_nFVPlxyS|9A0o_Ox1WKgapQ+N7Ez35po%@?D|g(AWCDuvlpQ`}c*f^?gCx7l_n) z#~HrDF`A$Q8p2qbqJlAuDcS&FOhwF2X$+9%F&cqKZ*s~`@?@7jlBF=2AZ0E9KmcYq z8Tp(nN@?7aboLc+Q-zwr56d*363Pyb_e#2XfyxYM7akw(mj$WrdQ_HiedBEs&rb*u zf%NE{GBh*4%P3|08A;7x0@_|;_w{RDi}U9lMcEoSS6HaKEGUq4;9yrE6urht{=p(! zki47BIn~058O>0_U@QiJer-LJQHG20dKBvC*GIZU`qvhJieNeWI4cSY-xBt#fVCGx zJbTo|nqvpNmggEX6*Bes06-#H$YyaOQ8?^ik@aQ{awqbEui;!hR$ndS#N%* zQ&|CJ@MuI-@zr!vzlnxO2!KWn8LUbb3jwo2AWr zn+==*X9Gs+Idmr-`rYMG-`RL6IhnS>XN4JRa<>DA}DqrQXkeNkK>KXZSqsP1$Gsw_5k11M%A7Hco|7`et==%S>*d9K)*Z=S0SL%(6#b(=VIx$pY z#dsVDLo@85DQ-1)ho`E_DPs2rjxXoH@m1X}DjB9D@%mWoZyWLsr`X7r+wh*3duzAh zReSW&dK~NgXS6(xAVa4tgA7fSwr-a-X`N2%W*t-SA&Q;G6y?9A=gjx!MO)W-Q-5ep zNo3ETbsbkrz;$x@y^GR$tp8XI5~xEkySasQ`7QLO0(rUaRPKDeQ*dN|*sdMhwry)- z+qP|6lVoDsnApk0wr$(C(>wonzhBip`l@~hUF*14uXR1oeP4|fP2dj4QKA!}xz3iC zQh!zjZ>C}%<-IDP0+9A6^IsIoF?N@rB7Kw zaR^TF_A1{|qzs?hPtK5nDM(Iw>0$KOW83RmZ<*_@{SvN)71W{F!2fo_Ro1~DJ@Xue zaoN`T+bIWS+}#9@nuW&!&3*eRD{Mv7I5g$fIiIDj3FWMNLX~c$Oi#!?Y?8?a62e=o zFkivj=Stk3J#T8%0_|AFXTjmhH7tUNB`lesT$Hsz=qTxBt#N*PJ{r?d058rdcx`i) zMRiPDv;=5JNuSQ=DL8RHK323N=CGVXb6qi+T565=iBSV)-6>2I?@T!EEGU=1dojM7 z@1N}FD@@;QW;rWSjjWL{$zletep@I%YA%_)o=XIo%~cBHoURo7m9pM))rG!<)rq6R zlGi}@?_YMEW;%-J^lUad)YuV9$M%lmd)ktm2~{!o)|p_x{WCmv7pogmw^fmAYZX+| z3l5?~Bx`zk&U3f*#onmM2v6k^H{{K^H$YhJ{(6XJ!hNS1m{FB><{Ax%05&Z_Y|6EOo;=Q{O#By^%T#?C!D;N%7yHw2wn`|Z2WachlWk?lBg7gI zUPnBtpEzt^6TU{cFtE!pb<`U4e4V`YWgRpEsCgUKebVCzPN$T}Sqn0O+5ZMS7AHN* z;RGyYljK|~YSwYM3_Hs{yo{!$sBbIG1trnf3+t*`UO?UMeN&S*COiO_fl>A3zd_?@ z^x)L0E~)rtv^3r*lLw?(ZqF`CTWJOD=Fl|_abQmC=j9UOU46g4=l|A(jzH-@av8dy zP-CC=@gM(h`nQy*R*C?H8kxFgwY&P?ONZ~x(_Y`)+F1h~6CYTI$@VWUZW|;3M@v7) zZ4ch(jPmT4@NrRqhtq2Z`=ig_zlqlEIfY*uCnFt{9S-uC6jibXU9*qY24>6jeejE_ zO;E_kFGOwc=;kR$p75C=;N3;yb5-qXayoK&J`S1P6>Qx#B|H_Oecc{U z3f8f`Q;KN>vIYj+3C%f(0I2``ua^Ef-OfyGrsZQH;&=_&Duqh1h{#!;m z?L7n*hlM2tYD3qBt;->I{E>T|dky{K`&Nhde0Ck*b;Kp#6NqmLYxKtu~{o{hzoP>Q;ruSz$=w>bu3aqZ6d6eylRy8f(7-w)tpev%{IW#lBN?K zBy$(bQJ2LMS?5`|udy1=$_B`jG279SAnI~qDs>}PTd?svObo*5oFCIpNk$F%Dz4wo z#|ftx+u78Y&dZV_pM_lUU{MG{HlBR9&{dpgxU8cIO2GK9~Mv z5u4^iET@7BgI%x$6u!5GL^s5V(Ukv5v;4;5Mf(IVN?XbpI=QLw9R?A)y(_W=wzt>6 z4;VM+B1EItAgfemK>nl?UC3$|%aCgmmu!VJx_ajmf!ropScB^wqQ5TnduK0ZyK+wa- z{fjHX0cwBmD0Q3W{I2@ptoT4COK$i&k&LY?kIoriN6lXFN%;BCRnC?Bl}Q__aq-=H zY`BLrlFs4kQ_Si2akszEcmREBN)sRzH0UQogbb6j(%_aJX{!1ohw0CE%V{t{oxAU@wIW_dhM@v6VNUYy_d?k@mViw?cj9wtu9q& zhT=K)Agv!UOPa^;ts0|6J1w)?*I49HYrRxk@VXD4>gntJ6_<$fX8Dd_8|Im4Yi%Xw ziQd14nv4;V=^L!-9!OPlOF}~W*2k*rHKAzCsIR~PS9#1FeHGzQB93exUbXhqtrQSi z2Ab2`evMV5wZ9+2gJr|8V5?LC)-|2P$T&fJQ5G{aVCvgInEAGQ$(edkI*+>>-luAP zpmdK%Lu>ml*69UWV*BcC=AcCA^O_5wae~YIEY0w_xYNRajBj1t>fctGPDBqaxBFtO z(;&^4!eW>C{mx(eNpI`d$Njq>)vw$u=g!27erI!ETGThFRVA?5Bwq6RbiaxPIsw-| zOJZPLq916o>1J06C=W%3_}Fsb+LKxrk1BoOo!K%C)Ytj;ChwV&6k2)=AI0?9!P<{T z@!sWn8zvQ_qh@#~PNpjyVeeOnRt~hF39)ZE%I0@d;*+p14fi(S16ELK#|(ohXPJO< zu}u7yq=+kR8oDS`}ZA#D23XwWk(%_Bo4hD^?MlWrBZ+wa*I3;W9QG8UqMLDQF zB*y%6Wa!?Y;ow05y5cre4)}B6|EwPHg&~m_Ib0`s=oll0tcqEWjg-geruE1@8v@OO ziP?Jbyb*$uiD045k66GVa!MtrueW^#Q>Pep5bk+Ayjn*%`It+%dmF?c5puPpmhUYM zy>=eFcK;%$rIYFj-sejZfgFv)>r(NvRYgxO&{1Z7{chB`<0mY0kzcd7eZz7^V>}UR zxM08x=~wsv+n=yiuh=5pfRb3Wz)4Eg#SRAi^1_B@^oYC69SOxN^xh*$Xl#dAaND1b_Xi8qIjH5X36%EI3B*V~P}f9&hS-iyU& z+WXV4^#=%Zs~*MU&IsFtN)7sFxz*D6KAO4~dPM1%gv0p+JAqQqWYom?yMb-J7Qv3(_e)L=zQNE#8rd%)V$SpmBhK8xYHuERKw$7L-4q3t}cA( zVzQ{3%UV;mg3Ksw*t6ECzRA^Axv+lCuM`{5qCZ*os`N%Ft)(V5ZF@8SWy!7hana^l zs;VtiWC?ETYDo_s147Uu1Y^1yA{1R;+rWK6Twy$N`AXla%miTuS?qN@sv7)f@x6ki zhH5TirP(!M(xQ8o@KefmA`-qcPTH)rP985BLN}-JI%8s&0u4$`%w0*ND7e2O(+gOd zwZD$lSsPS@*X*N-*?$vYhgOC{-y2yWR_LAJ9U^Bf?;c$hgj^J`pU7I1XqH2D7>z!q zhK)wqv(qx@>$R}Tf~7G3eH_u>4oG3^MP(u4nR0+P#9D^N9*KzDt^Cyjv^s)=aH-g1eU6Du+E& zGIi|27_l8HUBo+z)TcT51-L%TII?6jB%L-{EGa2jiU*aJaqoAPq0V7_Iis*xv)F6W zjWVrE%I=wO+9PwpoHOWBs&SL#wT~#Z%Mk~5+Z_$8adR$Y<$D(h5m();*fylf5)AU) z*(9aE4E284HCtN+mdmI` zPRz?!95*MYpEvq*OpYox#$^)rpcJczYR`X6nM2s+^I)P!vDgenMK4nS@&2?CkW1Lf z&Hs@%JXqSCO!gPj+vUO6nB1+p@2pB#&dbnGt;1a5Ut=o=S<59mSwo8p_ahJ7;?>?m zE!&R$`nveH|JT+-&CU@>Q(v^kN^i z({UaO?mO8Gva8>;5w?AAOWlz*dLg)@ca|+I?b^;yl}TUdRi{Hop*u+4L1ou9wT5Dlx@0sDzULhhB?+==E>w>Yx9i*R!zc;eD&427bG)$3~%&Z(4yj6VEWo zX<19A$YveE^=jR8Hq17o=@RTh6%+}4OV_Mcq7kGKuP_YYGY%)BLPT={JbItp4kYS2 z`B?qkUw#w9W+=>(PAuFjWH}>bA$Q!eg)TWvKI_||6dauTd_R`FH5*j*q*aa#@i)P0 z_a=??iaw|oS;mfO=ZA^D##HE^65Rxxi(!pXBsbCu%Lrb&Juc?))?`C)SfX#(iDW*4hX*uk&ictz~(fVSM+*bXK z0|xiFhZHW~t?zSjD8nU5=7aF>lD|b)U12Z!5Mi zgteg^H_>owgRN+K?oU$sV--hoL)x-~c86UE=~Qrylaq1cb@hiiX;BSETpUg?<^GpB zuLC-UT&j+=77mi-MmrYTOSx0N*ZvGU+diDrq(ooroZHM8&k#@WD_maRtVAc~C&xm7 z&Zv`ik69|#LYeIzoBvzY(|{j4{tzKug9N<1UX88wMRfLH#u2nU$}7e>1|l>Sdm4Z__JH zZs$23shrc(>eSVE9pazL!~_U=<4f>DYEnZ9 zX)m8Ur&dSK?3b?NU{#-Nh$$$ST~R&NhcEtv#^N@^mZvam44T%)p8nYu3y?GO}@o>-2Vul{Qv57L$XtLbYT5`?uffy6|5Cp z`6Bqs;;kQ$b)w$VQBf9FRUztm2*31j%O zq>X_wz99Exkrmv1Rco>W5Mhs{)3}YKRD`Q;fPdqPNqWcSKg*#)q$Zr zsJnaewZN_C8Y~Bm9=z%Zai@A#7^(q7#!O&P*ACg-k1xt@DVr=?$h{PxphPeCzuww*QNxZvPLC68?vydSVg~cmIo{ zo(Vs9;}QenWCc8awcny>WAfCC69)*PjZ|%0>#3{NoRBA8ZiA*4&~kVj`PJc)G@~x4_CQjX$nj^*xE~wuChkpq&Q1WB$ZBXA*qxP*k7(|#j?yRbs&|8d zP;RN<0;6Vl8o-)o!3z&+PN100`Y$|ZM*h}fG4}dOe&nF}q!9s-UQT(c|7xv(Cw|G0Cv@?0ScaVoW`qd#@7ds@PS z4wSy17sDIUd741Zpa#_*k(?ocyRF9o6sL@GmPMGbh(k(4Yfy06UzM(6DuO)E0n+1^ zvLT>7j~PX6VydqzXU7<{6f-l;*&4J3P=9}W2Eb;Ea%EJ>!COuM0FQ65oPdMI(x2D+ zoX?+aBS1-dsSD@!rVJt;iyBsd=G+C zLl{suprlB8meybzPB@e{D9V{~dcWU0PFAE4E(P6|T<_Lu* zf(H57j0(wn0fU%iD?uQ{)#id=iD4Jsi%Ic}J`y;C@!g{Mu7GykRPZyy2>fW1!rOOI z16R^^=OlhMvn=Fe#{+u@ea8+1yMF|}XKudecX|#5Aao32%i3Tq{e`rKH*&LcuX3~b z_`UobA0O5#t9ycQ9Umm$7o+Ph?Sxmk-vgUqjxk;}XUjkRzQMf_IVr=P zfP=HG&>ji8c~-Xq{2aZ#{r@L)x-Eq03z7s^oc{tK@IUlxKMShP-61^1F^_-*3x_J) z_Y%iOg;pmd0PTkaSBX!w1Y>jEum`Q@l@YW;wfBS_Bl0G2RgvtoML>w-6GRuZ0&^yP zI|A`s>*!c@OJuRC?O}RHudA@SQwYZfH%ScoDpKi%O7rHX;5rJp4^lo)DI+$O(yOnt z_4nr+V!nsT9yEOW(^ddu@GPn+JQh3z&eF z`_K-vj@dKwr?32k=w1lx3=_(C2gP z(MXVdM?CVa#w4qg-9wLbrMcOJIE2RjBoi^(kIyQq`Dhyvt3||rDTzj(Dp{_aY#6od0K74JafE_W|I>e0(Hk(5^Yzxw-8nCn>8=r~VsF>yo z^P_m%ToXj9OAi)IuLPpMRTt#dKS7zQj$4X&fA0_HhrMGFM%L!$Ye0+t#-T{k1cqK=zbk2(ic=p5QP#GG*fJUT;h zDp3M1{7Oev^@>Rf#_~Vka=&g6gi5+B+#wlipKC9>xymdmtY5AvRG13?CtrPw{4M$l zGLS&xW8WGYx=@DcIt_H*j0L_Bl&%O}Dr-%K`= zDn$Qm+EEoS6xV7EzaW<3v}`LC&(L0QVQ3_C1gdxMWfGC;>y;wL@U{!RB$_PG0pY_H zDFVy3l?VJVx<5|5X{dmDoAw?Z#QoP(X%Qj&fD^e;o~Q?$HX$97kfaV((n};Lq>ZwgwBrZ_77}``jFP4c4ReYp%xBn_|fCHRv*jmoT*Aaq^Q!A_Z6d#{Em(v)juiFxJ2dQ@2rvYakzL zzAP)CiX2|pIXFC1r!D1Kz!1)Ol>`bX^9PE#Gd~O5)3eX@m_`%`I ziJVfv&DiB&_LE;!3Qjhc^?F=lc62isLtoOqo)b08f_&w3R0gZE{E^Afz_43IAJV%1 z5VlAF$ni{*pc$F}$!aNe3fy`BDiSn6kx9+%2V?zY1anM04inIw6aF+|di{FoyXgUZ zcL1+d->v-jv1#w)2EhJv9l$~p-lxcD!YHI*@L1vAQ|Zw20_XjP7DUW5GRB>Ty<@F9 z+N_xhBZNtddivD^x$`C8-B+VN@K0?h;3^Ja?y&gs7rrcy&V#W%C?asep20+b)gyU@1g zMZ`Xos*L8<%vO9DXo=Gy*>LBDJz-t(AN7dzc0&C|Zls)Uh~!!KH9zt`0p9s5-Uo`O zg_%*t8QMPu96SAScssrM4t-;c*lE=YemE99g6kG0UyhLk5?>YiS>GWqA8+@cN>+YL z6aV|u^v;!?o5`73=X>|LY*?&9HN_O-;!xz>GsRM!=Jxh?h6w}_cyfFQfRj9VKME`8 zf?C>@maYZL>14y;jqa$U4%5%RC-bGJchH*|;CwFP&bP3D=;032(G# z1pe8`foNm-`^}lNZW99O+d-rOC94?BGRg@hR95dR$u1vH&$zip=eOq5Dy0Ml0!9G; zowqO|^eE})`3k6iA-{D}d-{F?h?)(8JAnofEMO#NW|&gQ$m9>P$>3)Gvr4o_yUfn; zF+b+;xX##ip&Uz2jeG}-q6>y1(e&#d&_hDUL=)l=(?>tl@>Rf?dlBv9uOrgA0Jx-f zOm}%)n^M@#P5(i(vzWf;+i(Enhyb)xnuNffV16~^GO`6)U!fBur{z!OFMVjSJX;_# zRJd~FfVqjiD6*HRt?Mm{X+efzYBeMLzFcrO$sNpF8x1ldi~DUy$=N1i;pJA(DA$3& zbw-AyCN!`av}ffY_mG$Ja@_041!LMG1pSc&ntb)?ba}mHtBhkI)sfH{%-N`)K#st% zi;SztJwNz|J`|q&?pR}KFxS($p<-WBIJAPR{Vr0gJb*2-XyVq0dOE;6K}I3K$FW{| z%|~DV_Iwjq=|c&A^%CKv9aS`Fe56&e$fAp;mb)3{@Lys3oOoP1&f#&78>(axw~m>R zRS~#D#DD~+t>bt`uI41@7SW;XjPh`sUEQJV&2qaKvr94VakoHnxK`Sp_lvbOmSCrz zv|4TqwpNN1!W!o6i2g~_W%s(fnM8usDJ|zi3M$0Fv_`g@Fb8`6^gr>nYKvs_NZe0StXp^%q~z-uOWyv3ps2_oXXR! zZOSjMnD?l0n2qe>>z%=Acw74HmdCE6j>)SJBj%OMslSMQoxI#lX`2l*`N@;-_A zPq-yp=hS(NBli(_Ia0gS2Ubn;-8Qsnsz+%1c<@ zvS}p@HQS;{gv2>J&4+c+smAVWV!$bMAcYCy9K z-cJ_$ijkwg9WIb=NSi8A(3_16@TW12PEM)t=nwyrY8v;DU2AK2(>xL~nt;5AK_z6~ zB|PoVsQcvD%}l^bd+jcsADZGYBkq1^5^XZGL^rNE9C2{ydrX4~T_%PTh;Xu-U#Rl4V`B zrtVv=G6fgi6gs`4m>3;jyI%tOH-ev(f!%^qz+2nGNrv}-88kh5Gta%oFv?dn;+I=} zz~J(U0+h;b`T)rb0mwDRgJ_FEsH*t@{D|g;kDXsAe|7*|M0q?rr&j||tLolvPQkq= zjB0cR8qhtxnE{>gU-(lruaPUGpc^$KvS99tTazJ2#co<1G+1Rl%SN4g<8RiAP+0VP z7Q#;qn@r&a|G;Pz7!`STddM9yFU1tPD?-jgL+5CP}e4F{S6YAh<4;wW|qJ|X}z{lKLfekKRE_NN4zdC zqVl9eZit~aM_2qS(bmU%^_AH3U-y#Sfh3i&5q&ErP*WMzvpIdFjRA$mzSB{P^H9@! zb$Z91h~wEfBYnC1)3^>75-ipyhHG)@P$g2u_uQq;pZ5_1z(PSRi&*HQJv`hpfalk* zUpjj4JHgM-uSQ=tg1+X8fXYY1zkYw-I&ryaBBS5eknI!_>O;CjUho?N1pV&gIfQU% zk`nIL(MjwUr%zYGR=L(6xeQ8&Ob2X%`YJR$Z5e6rK$2eiEa`Ja!W4{w01D80!uSupSM;z8RX%1ofG5T3!?WxE@BWHivi#-I6PZ z|IiorzPrB%s2#k#2dG&|*2Gs&@4;^+!hNDGB&+qN1TGVilqXx#5mR`u88Dr z&>eUh%63Dv&u#1I-0F z?hVq;qQyb_)t^oF=3Qc3vVd3%4 zgvP%VkW6Z67x2@|rZGTPbF-(bYI^9qYq*E2A$vA>DZ(k{YYD!rp)@m5?=ei5VWseK zFk1sw>A3K0U1}Y7_+N{0rstYMnOSRV-BpO5K8#NT@-R5T%0Hge8X>JEd{Qbya0{8D zYmz5y1+N)5JT(MsOU(hRL92Qvy`Vm+PXFh>=jb>vF_bwX%1T0+NsV0H&(}Lj^(+$5 zlW&jB4UnY~neDe`XkdY33b~URU;Dcw=3X=oUa#6~4)wurCU0b`$6Exo zlw(Yl#)T7S#B{{9mD_%4G6}3ydeXF(*uw{dT0@`J{H481DTEu6$p`LZXTS#D!{{HT z?Vj=~o?bJxTZZL~kGHm@(2boWbnVS4&Tgh5+8T|@{Q_#ltsSxHTYRdp%cu!gwBC=^ zlMU~Tc#93}&e$4^|N6Y?ux(1G74hv>{wc#n*<=)2y|jDj9TVr4Ie$h;%hZogL@h#l zXTQ7ssOP7m)N3v!VYqv+`|Rm2p;81mPzwu1tYH_cC_%77wTJ z>16%2c)M?Xq48WsG)}919379=WBf!0OfII_a>h{$j1x?b@RP3>PPq4SIqzt-$t*R& zh+ZaONcvDuM}MX|2^#Z=EoliD7EG=p;VGGI-<=AHJAqyA*DH?Q6HlNA894K4Me|VO z$$)cgQ0pI2*bqxc=of3OG_YEXo9?u0wabhvIe4)eiYP zi8XI`St|0T$Xe$D;dO!YR}85or&D>~45^~GufjC$?CyFos2m31>TsRMK^VIfwxidz zUMn#NaOB?>UD2En60wI1jC(eAT)3w7d9B+@yLWBa9_$--?U)Y;?|_tEm$T6~ry`=L zN1Sm;xT_?Iaa=W=I5UD8lou7*<=QJ-wMA7@eU{eU3Dm*5HSl>#?uum`jtnBXf>VR5 z%sFx5IT~KvO~^DhHX*dFBSlBvgnV>_HrS|wM=Q(M>5SBQF_RBrM#i+vy-&uL6!Z|1 zE2p#-k}KPI@TfJS+_+V0IJVq2?FiCU%z}9gN2~{#;e$S!?)#kCIet^P!Xu|@if)Dv ztppiXkE@Yn_ewLzg*hrc9lRl^%5`bIRb8^dZ68|~) z_pMsQbbC!!CIYA_DPU40NrF++Nq!g@0pG7E>2t4C?~Q-*B|i70;*?$RmpgwG7W{Q> zP{|n?o)wu;GJ(wv?}p}{=d${*umggejaIFA5!|&p+a@AV!Jqh+wdZh^VzFGW zxW=f|l|%1u38%^LMsDfSvoolh2aD@Q>ts~G$N&XF}Cu2QMh}qWi#)Z{B+|hT{HI(cG z@nJX3;OnbTm@lCOJ!Y4+EBu;kQpO|vo2yC^{YL53*?NOtW@TUM)q=5Hvuz#+BD_ws zTuGIa`R|m<^)8VhyQR5sz1oGdE1Qa}%CXwK_v{%S?yS%C$`R=5(vGp(xqyCF?V?KR z)~4T{vIbAf8#Mm{0utHa1F|Kq1`yhQPKN8KR$QUR{UkPc=~1>zXP17FdH~h?Mip$U z`QjeNtehMH=ZfW~hV`m6P83n(D$cWq3HFrQ&5-kA)pCTHYE8>RsdC33KmG-`LeKTf zmiB3yfOFbRV9F1yNCgOsysJA;R)A*@6=w@GyxZ=Aeo`g&U31#gUM=B6YJz+08^-LW zld3g@%NpMA8nL61D1v?aYjxncQ|^;G9K(%fvB%oZ^=7*T1bA<^)-2%;mDfZ!LSi7^cu>hDvi??bHGNL-eO?`0kb=hAjnlfUT}B{>s7l#F|tL zME3!IToVr*#sN{tjb=AB%=ByMRr_8{2 z!zEI_9ov?Bc6NTufk`#wM5q*H`gyj4I{a z@w|)s{`)JHE{xL!aWTI-?I}<-Wxi?V9VaU=9)cxyt*PK)plsq?M|*1!_`0%#FlXcm z-*#?l86s_2_j-Y};A$ehMIluX_}Z_PT=}i zP2gZ2;r_H7;Px=!!%CNhufXBq?G^XRntU#J%xm++AE}L_R$kV^R6c zne8HILrSUi1nYedZ)6D}Uj*02bahPzrh7oRkx*d`;t zpfYGau&!4GRy6FGvj8K&onL|1u)5pCyv9u%@_}n=f537)KGnEv6&wGvY0QYjG)t66 zG>-YGTwCQ9d(yWAu=kNTVBfYSJUpu;biP@>0NWY~L>>1;4W??H zj;sl%mGK=7{#{7U!_x)1k9>w=x_pbDDr4(vr&KyQouLv3a@2X3{rfGx@WTsZcSj~X zO~-d<&`BRiKkh}xHtFc@k`9Q#0p*RX_=ElEPq(efdY&2(P(wO%cUs2a8Y-6wd5+aAY)-dkH{rCphY1%G2&95Xv{hu;f z#CF_pD^i42WHGvARmZ8_7KAYfycT$AzA^ef;5pxygZE@|vnc%N22fv0N)*6TNKo6O z;S1pF&TqQ>dJ&Zv*?R#X43^4*)b-$z5Ey}=6Z|NyNbAZ>C{THN2nP-%-9is|yrC;3 zK5B05eTO&|5FS+mPCDBO?;doD>lFGm{E6!r4)VSS&Iz0yZY6CneEqWWo}+G`jG_4- z1>)4SM%IA~0CrdSIri^67zU2%--O{a+)F)nKhnqeRTBQ%o=AMM$~8?K8>mK;jeT?c z!USnDey+N4N{IeY6}N7^LT`R=l$siq;)>WVE(F&tuNXvsDk&CnF2xKCTo~V|8f6Xs zehHszQefwSI$1RSISTth|e9NL$Q z<6!O$3L8nU69GKy>)MDD0g(G9gW*2i-Mr@MZSb}DuzNBhvrSN@3F`~=krE4a!2jIb z)5X~Qb*j~B`D_Wz5ez^bon~xJgk^DspP4T&w9#@J}Sx8 zHii9vgAC3<2zNOL1XLQ#jI4o8-Asn(i?VFBgvH-%Tk5hY=o`wja|c3 zr}tpSO8Ct;1vFyEKdK~h>XK`$Ibz0zvbz*P;IXed-f@Kg@vL2f~O!7@X~pd2ccb8K~x4 zXPoUvYgNS8H^Q@vYy9)5qhjnc(%Vl;l$;z`l$r;^n@h`IzTb$076@1czjn#=exvZ9 zKOW|n;8N;?l%r_&H>Q&$z&{6Da2~sM%`VN8Y_kp1%L!5dRRBq&D$0>UM;9q4m!g&$ z@%%}T$e1O?0|n)wk7ngj4hmzDT!MlSBbXj(HPcKn*0&qQ{r)Rs}bbVMIKRlT{0H z$FU_~d5)~CSq6qRu%z%%^YUEtE)D}v-*SWgW)kboXBcW)-S`;hJsQNeBFwY!&vu&>ls4||G)(pDJ^LLCu5sG{qY0OU4HW-N^kGzV~jYamHMwBihLoe{S3z50o3Hglp4ODx=|2)cO!MwDo@+0nzGyB*9N zJ0@P78zL;YaT5nax6yAah?n(5}uu? zBu(5CEOk13&3Xj5GA(%IdANDWg(73HDWW2@gbJCe9V7UYgj^A^cJ!cF*nd78gfgj! zaa`59$z``)|AVf7r#Qm&UXr*j6agGRchb+q9|)Kcl^iBpQ2b@e zS8O$VAA}E@-HrRtm%&Vy$F8WCuY;0F2$6Om&LnBOPUa~b3nf7gZubIy5|j0y-A}>$ zjoP3vQ&3_^xAkPAQ2`&bF1V4L-+>I0ou+!2>MMUlQC$c^Xj~Wymq_+xFe3kNhP(>| zElh6mlC1_=!_t~W`i#1R=8|u-c(ZuvTZa2kLl}upUm5Z2NmL{QCfZ=SBaHGiDi^4^ zm~HsA_z;$6a2XQfAsp2n$>>})f{^rd0}0sKv=>lOL#7&1`l2a5@Nol3Oh~{;i*yoV z7%^yLH4Sjgv7)ElzTQ^EUf1*%ABFqsT8uM4t$SJhg)un$2H1E7R!47T#p>oY1r{XU za(oyErWwgaxG0H|;T;81+z{$bl;|6=P1KM{bpjQZJ}3-MZhS?1}qq3Y)HVzg8(cRvIt#{CRASF4J5TkuJk(b!tX7*OCIwO1@PEl4SXstFfZiFEt? zltjEREN4bkZm*g`MZ$l|p~z&oIEne4zxN6Y9er4(Qr!$WrgGdi7sk=3Dts*K4o?jS z)@l$$(Olv{prt@Ypv3J2nER|&p$wLR71k|XkyUDu9lK^n4W!q9Ic7T-fmsfsN-mf} zBgdP1>6>p+=s*e=9)@MbZ&ZeDsqLBA@^5egZ`6h9VL2zQ_Y~L&6+7(>Nb)$!~}DdiG0)XNX2++ z5&*6a96y2r665LwgCkGe&t8T`FXHJ-VYb^YN5ljZ9>YMKf~@_FrpSU6ZW#n}h8%OY z%EN>vy53GZoV+Y6BEDq~X04UTmP#RW9@`HIWg(2f!O{EbXBNihr>{C~Q{`1o+jv(w zrV(gRna^!TIHIab`R<6SCp#>)l0KOWlRnC0?)Ua+nhbS4R`8o_!e`!Sx%sNgd)^3x zZT!tw$)Z%@j~2;g=c6c*+P;Dz`7e_QO$k+DYV3+RPaD;!k)-F`DjDj}VNsbtke(J2 zOIgqibWOr#B%zAj$MmjXm5|2^Dcx+0#iR?Q?%@ooLfzUm(+U9xFCD6z9h;0G}1(d z_(Nh^7v{n)0hrj$swW;#wkR zX8nl|f;N)-xwSCvBaV)?oOX)m7N4lmMJVX#%E`_bnb8#SU@SP(X~b1-?wcAZTz|FQ zbz)3L<8O(;%&mkK3m=BzrCgsEp|u8RQ1vMCDH>x=Ku3gx?UeoFa+KRKDo3Ky@3n#x zL&%6Kd5*6_MMt;{j zCOO$f4>4zE>@z>}S1^l(7$ULW-8HJ*zQq>%{p3fo`T8d4mSbz5T~Fp!%rL1!g~{0n z_ahb*(fK5^%Z8K1w^7Vc7X+`0NHScgUH|oB$g;*yrB1U`sL0vUp(In&@KQvpkUDLr zJ8F#8qD0TD?v_L)Zhh*L4n|VJ;+$s*pXGMWSU+I2PYrU8kl2W!qp@MzJQ7|))UiNT zYJTD#gYnv;MOsY`q`&AA z`+k_(6Q~g)g_*Km3VFa{(JsQzhJNZ z;$#PO%XhSHo2ydj%)eqzkbAr*Pb>NV0Ny|$zj1$*-Y<5#${T0gS-7r;Jot=Pe(y6G zc*b48YnjV{GamGSsC9Zg&Un4xSttYcW#F@H1!+`G^wrL~6&-0R)DbYt`)Y}FpN5}9 z8_ED3vRIIyjz)D2>L^=^>7{}fRrf+ebf}|DQ6WeNMAQege)SMJ$`Q=MH&-)6Ntc~S z#%!S#NQlpTdZXlLyR81SFjkt&9430VB13|LtXaM*OREFO>rWG(i89FMhNbf0sInIN znBjtF%-4BCS}235dU@njSqt_+su=-U0VT;n4Gn9U3TEbw3T3v9QCbQ>AcF1-yu5XV zkD0&&6~#!paR%5_8kbLWk!>zB8LIA-SVV)Dt!OJ4#u7_tqs2ghm5YG^me(r*Ib&It zMVTa!31EfF-PJgwb4PU!+8nCEr-!Y$E(anNC{)Ta>_$t^gS@HKB`2?2b}al$$zao&QRcv{6jB7g?%X=39UehB*_j$RI&>cBHAR}#Ci4+gwpw-rLW}X zL`f^v6Jlj4xcnIq5532TLbE+H5NNLEF7mRp9>87&@svUV)mIa$=bG^l6wzc(PUk?rNOYF_%Wl79w`~*|BNf6$3K!K-@wCCGN8H2cZN@TN z@U&*}n$tI6xlxLI^?~7}FUo>{*hU4EERv%hCGI6|Tf z(#MgOmsQr?QVpijut%`LRxqIID9ifQb>n^oTTPIqRRIrFFu4)GnIohPb}LA>xg#Px zqQ^yE3#nWD_yGwZ2epTgACMSw|0r_fxi#@;50%pcj7-IR3TftLZe@#SCH2-aqscap zPzBqo_O-{mn}BB^;@to`BO&k80`5c3tQkEtqTVY4JyZhUD*~PA*mrXm)CzQ_!{6%* zbcQ3~!=0@vfX;Lfd@$e&?@r5LnTDM;;BDW zqU0;?(L*IrzS=!{&|>AQoza69E?;p*50!{{Un`Ik=)n(~uL!i>ar1VAQe7hF%YoJ{ zbbgvxD*&w_dfo&yqw(_rK*I#k+dw~ir(1Q|N?>RJ|=z9B%)*-y!G+<9VzP{37s%M0KZD@UB?2Sh28f0G+ z(h4(L$2faGm_CQ6e1laBw1!aoTCi4f-_#gw?>xXW5N~gv(HaBp>x8ue&^pB2*AHmW z($_ES-j279f%lf#aoUmhqKP_%-d6&8fP?St(;hDT-UH|Xi@z_|V*(=Z%{@AUA@~8) z=h;gj&>4%uuMTAh!MR?6_%6G6-9qubfYv=0zbfO7Pc*(4(E5ktSA(>YJbH*kjx;)b%@u97!UP1A8OG#13Bn=f=%~lqi4ZYJ=$-rJ0@)TqrwFAw| z>WCP>i`Ngys+=$8tu-}fjp^_<*tG!-^4B|n!YMzXaO!{njfY!$9co#m_YAKtH{>EM zjZ~dV$~XghhF4ReB#l+7j%qxzxn{T($WuAcA(Y2jsZ7GR0p%s?jnxaNM}~>siIp=Sv(;nWe)4d2AgH=>MamoNbwrOd8IM(@xVa5~V7ON0q&$?^ z2QroL6a^`xB{l8m-La>(TG_0&m+dLnFyFS9x!6b>rNV5H@R#RRG->24&y*CS6mQG=S=Nzx}VTQt}c1G<{0Xmm+K4p&`o^xfqW>Z z!1_R*>10@Q&(sfcT~iKg+S8Q#xeVFfkn5OySmPlq_qB$Cd}yU1hJt)(B_xJ|d}yU6 zhJt)(B`Jo2d}yUB`arH{;$m$iBQ(W0lv5bPK|Z9C8N)$7q|zG0K|Z7s9K%6Aq*5Jy zARo#}kAaX6&Gbhf$n{QywEI13O@yonxo# znbn#hR}ofNcKl{4tgr&)Dgq44AkS2QVFk!lgc_DXo~cm7Dj-(~I;;S>enE#7AlEhg zuxwBvA%~MOW;_s4<;13P3U_%Rq75<+qFSlvkOqbi`7kM0mqyIgAsQm((N}o32%_*)^Pk9&n+e;K@G09K7_vUaX$1Gfhy|5J)RB zQgxAo9K|P%-yGCOx7-Pz8@}AXBQyXgCirqe14)54CIzi%18-9mbLe zVt#{yI}KRqd^nGUqdl1xOU1QM5*p{8W&Z)!aRHL-BCvqb)H`rn{dHZ{V%98t(&U2EtwKp z7gQc5G`-MdU${c1_kzo;Wb|)N9AkJKsY$REtQB)A3~C}Hm;yH>UT7j8M|F_ef@e2K zcn>GOd(3%_a2<44N`)p2{&crjCR&k6!Apu#7S(YByXmf!isfasdjiS|C8-rcoQ7l- zsAl{d(;JxcgFWp;bdlo@jn;&PmCiVtkkiwU>MfU(1s6`OR$&OhEKSD~t_amDs&zza zz_lMWT_K?o7ermb)y4)#O$lLUKd#L{;liSx>tT|11ztgwd%Ivx1ck^^-8BvM8Hh`E zQ3e4QFGVWS=$Qx=1W9XTjT#`0G+oXxy!BEd>~P()Yut|ScaOfUuA5Dm7whvFda;qY zO`ZE3>AtC9JRW=3-dZ5!t)RDWc%-kVd#tZF#FkzCev?x{!+9#Q6$wC7bYt*cLjUg0LKGcUoZa9EdIRn> z@(TM5fOX6(tdvyfhFe8WVHw;ygq3_o23)pN##qw&GEDsPuDZb_WXbAAxCB%I z6gN@J6E0ei!$hx^8Eyqh1*f5sE63m@WK+5ZyMr@7j0=dNmM!Ly=hcbE$!O-;K~pea zP*7J@a0A_22HYA#t4xYphtR4@aa9%J28UIJgBm`ps!~jqV>2AM_#}hJ8SK#pH`Gx( z7_mtnn8QK16_NWYQ9b%6v z1s(;#tq^xq0q(RS9>TJT8HqV68&DXy)lh~ZtWtH$FV(AuxgZQDiYRQdi$>DKAd|EP z3$mIuxvaR2*HoKV7LW#MO)t2iG+`H9)$4@_%aY39f{;}(nUm8wyC29Hf^kW2l|Gg# z_pSj~R&}IJxI$kzT;nGIb%E9tRZK?^o8Rd;f>B?*?+dZ^J_zmRH=aFI$Urc3T_UoSaZufhJUaG zY(HBUk(sz_06op4W{KH0%$|4P+Wl<=Nr2!W!XZjZGD+hJq#+5UN;Z-aULrHAj1(2$ zoK-={ph0z=wZMn~Hhppyc6MEGt0!bG1{hFf-F96>EwQw=ZfDvr;O`cwI;J*^@xD$U{~q}6;pT&3q~&Eos2~>7 zPhi|A=6FXz(7_y&QP~;5lPc0$vh3kO;o==$Bcf|K3D+@5nr5Lc^Pxk3n&JaHoWEcR zH;#kR98&6i{~!o-7gT^9>^Ja+U7tG$fzxdu{)`gZRWcZMCI5jJ?0Vfp2n-{k<08Ti zdmN1)>`HzFFWB|Ei%`JsRwiM|LrJOxJIJ5l3%d^Y5rRO!>{#g-r zEmp)@kyi~nyy4yn&Fih$s?wj`umdjwDUq}u?w(smqdx2ggFKd~=CB-TJUwZe7kyV? zHv)DT9^+{AAhR16>>wT!0`>u8HxAgrJf>&&R48zeKjUHs?UIyErqkF(UILti~G0b7?#!|};#&;j>J{gS?q=Ru(TEt#2 z-Oz0Q_3We>^T4)64k>vSmkJdn83X-Rs6%rkl1wI3kmMqBfxQ^Wm!cX{5F`kk6#;;E z28((wR)B;|Voh4a&$#hVRtx|~7;KKjzHFO6O2RQQi=c^=69AxN_Gyv{X@6^r)-? zDCK2UW^b*_6LdPTLV%pHQW#>9NVgTrqm-Hf1nawp23b%m*XoIx!@=IpKwTunShEn}*jAlf~u@cNHUi)n^m_L6^F3g|b1=iyt17pmM zLGL%%nmD`B_K&7WWX>GdmArJe1rYv)gmfq?gd4Iph?nQVno%&|kTK3~%;|c8bhWfd zI89;#DdkozR)9=P4o^mP+)`8}q!AseQdHv&Mrj*STgj$KWPt5!qH9>qDkZxBV_drI z5_9On({+%FJktZI6S9Wc`>-)EmSg@3Qq&LuC0w*`O(0>!PmtKz;*KFX%|cRSZpR@o z&&4a5fFgT(Ujmb|o&yj_awdZ`+7g#4A`wGaU?y8*IU&0unr~~?0-Z|AAnebUXGF0H zdPI0OH|;$SWz{Oz42YanStPb<8lc$8NNX~~4JL|;iZqy#6LM8-^Q!*$e5Z0xkks*N-?ThVg1_FZG)vXhOx+azC${6kf0!J4BTn@nC-+b-^# zjl{qR%5Z^!7Tv(-Ucza{Fsxgs^H`&2HiNai$e~vSd9$5#dNy)+(st!{o^Jpy8S%Vd zx&!42s9SnZz|j~lrl=mLBhn(P84VI$E2j0LhWHV0aa?iL!k0P9dW(uFZD|rqYTRw2 z;{sN2R!02D&H=rg40MSH2BOB>N0G={D&lz&Dn6Vdv3w>Syvo#YFf{OUX@P}v!O4j3B z=7Aw>1B^{#!=rB1;Njd-S0oa3_G-Suz$$csVJwRzD67q8DjaK~+euB<5x@oWiEV=) z@SFOPsQw$EuQ;pnj5PdP=caZ`L73KtMF-b9aKJH#*H*J99uRSWp6JnVo|d7IMUTm z`hdYYAVJN>OKW1A3SI}GDq=w`^@EMm^S&Oz=j}xmcC82{%;M@ON+1GmFK!n8S5~v2 z;XKw2&Mn3%+m0Jd>qV%rS;$a1iH*tdobtUOQ^ssem9e{I;=i%X9o5H55FX~%*|y*m zuXhrm6y>eksDmo;ItjB9m->A#&yPhS{o-O-cWcdt#$Znl=iJxC#U)$!{-%5CWCBz~ zt3&?qo2@OM`vk=z(J^c;B2B0QMU4pnVg)SbZ)jO5q~J-=$baCOAZbOW0uhn(vI4cH zE+%kCM*CKb4Xo%J1X-j-HNm?{jin0Ly(~R^?CL|6SZ}-FiieX zcM(`G-RPK-zyi{gl5x$8k&|pdwPRzn%#k18Wlw(>Rbqxr%9y1v!u95A|Q{stula1RN+trBRH6sVbi8I1485yQ>hOxZ`TjJ-Hu>RTKIClZi zxFDRQH92MVvq8+UJpf4r^*NL~Yj9av&lOW__N{T+|C&;8s)f_<7RQcg5q;T9N39i% zmGVkc3=Cw#*qT{H<*r5G8N)~NjLfaQivZAzO878{n=^hoHZb}#(dP&K= zN|2sPGZ;&pzj0n$@DJun%ENR{R@u&<#M(GLx@f9^(mFGyv!~s3IbEcuT2?77wJc2p z=iyWut7?)@6(g&XOkhe8OkE`f$Rx8|F-s+#EUJ-~3nD?AXXwXWj(=`}RO?U6O(`JC zyNnuL3epaS4I6$MMIuW|2JdRN4KmNO^dQ(UY#ID{HXsMu)nbDclQBb0K zqd++iph9(`61Scb%epD+K;o-nx0VZ@*JoVnVztT}Wo9OjWhymLO+Cm76@p1`-v6Fm|@%l1!!o3E5ZN7HI@3xHX7obH+D7qb!rM zm136BBd7zJo>HEn?P96Ut2yaLv&QLhNOVZXt??i&Dp+-kgwhJsP*ebja8Sq1j_0GSYsiSI;X>?k@4G=hp}`r0aPhd zWxZr*_S^$W*&}lr88;>}(}0oFC92px66@Bjiy7bB^s+|A>#2NU&Xkxan8HQfg~1dd zZF|IVq5`)^8mnnk(A_=+NQj(OqXjInOQKum7`;WQPy$t5jvC+48R{mkTMwGqG#GA1 z!Bz_zB3#Y4dg4M-0ZZn1n)$!%UGOc)Ew;v}ZI`!kGQYu~K~!||k(A9MbiqiAt|4TI z$j;ivcx6PI46p1MrqUt7&1`MW1uS5xTYzHsU+BqZ>jzbr%YMWf|DBG<^`lME<|JlJ z!^M<>NDgDV{UQlZG}h zORMhe7cedxaMt*pYKq~xwO5Z)9us99L}fyXhzRnzx{%eN#75N(@^BN@#6dFLfWph# zsL108OvGb}SR05g1`~-`Ypk^i$f_i+I%5=5XBKps?L=8k<9q??EXpCJA;{>fXpgD~ zER_eUMW_JCFOe4Kd<=tldu(B>m20BjZ_SvZ{v@Q+n#U71|E7UHh0@UQu@?(O*AQem zMw?JtXB8z>&=4JfWcaJHOq%r0_LS-Bq?Mv%S5A%F=hH}qnv8jDMiDBG!L-uBM8PPU zpiAU1|8Sp!3iC*!+mec?g#v=&@!|}ez|0J;qDg>NM7XBF=Yufa?zSHo?P zj4>=dw)hg8qnHgAYgwo=4V0@d>>N`C#qJJftt1Vbs>$fAwq*PAIp)gYSFu-No0O`& z1xLPWADj&%2ugVb#C4aLo4qLZAVx<) zkQR+qjb@Fi(G1oYRi=cv2de~aE>hv1bVVXmWS@kZ#M~8(g31aLGI-!iwg@$->WI-S z42q0|GaWg}DNWK6Zn+1+&?tlq;2>@y6ol@|yqwhxRfbIuGchp%s-U3>85fCVoL+C( zhZ1&~gY75Ap_zTzOz-5vy8(bUo??DPn_5EkG#<*~z|2*Ch3+!TQdh3joZUD_CdZOI=-W64Sinj^%;Y0@_gj*t)* zS7-20bMVZ+B@;@GB$*_;eAPzwyHf-7jE&qd+&wzFcI8O#*-Lladf~_Ib zU1Wqgd9RtUU-M6%i3$b^Tzi3)<% z3MOiaTy{g46->$HDemr3Pu7|DQ7yTpDOOR|=}}>Q(;bt7M1;gaKqxa{@ef71&WK&p z#NcvsrdyP41_i$TG((Zx;FyTcSi;(&SVuM*t-;9{CxJzRG|C>3sxxZH^*#Ro&RC+Q zwKY1@H`v!b+P7lmSl?)qZEX^aT8ik#A*R^k)r z!#H$Ykkh0^6x}GakU5ML(;0-6sUlTEYPu8yLv(7Kwh=DpGZBm~FEgg=C6G2;av5Ay zr2untc>TvOO))SmPDLJ$BS83Txlp$Z_eS8O%?e)(jG@iPmPWxJ)EW44*^BvG7+>Nyk@@_AFUhn!2dHYbpTJ?@$j|6*2U$vh7%01}z^NidXL7~wt?C?c<^ zj-nN?#r4ea#SDTvi$7(;3_W0csBQdQV&Qx>43Q=wVx$ppmtJnF#Ip4bJ%NCHqP z)PB;^sOq^m!pdRjPlk#xBAQ=anAlkBy?2#c#kOHx8H(33;yan~s*z-)C6^p+-1SA#PM#ESpqf;Htcj#2xy&X}<0ebS&&5Z;ps z%f-;S@>qcBaoPjU__k@2LKpDm8L(YHFXsyyo)G#C4+MrPzXvES)N8&0Gf-BF8fpfU z!WaT<`jr(tZUk_$N`y`e)IlCWRcL~f2yn9|n}=SJJ0&3T#?BrGiM2S+yv=FhA zm|KXm*d%i}CD~cDgi*20_@q(VX%kx9f``dvnF7nGsnrc9p`tG%AYGOCIf#K}{FDfj z0PBwKLGgm0(5mV2W;%-mCb3YBHAJ=Xm|JogN2nmu$e<4Sdhk}oqKLC>nW@ZRS7;ii zOq-ao5VpK8+jO_`>E;32Or{WFAITy?!@@|>1w>LSkKQ}#X z1Uqsin32~|VJ1!f&H^*2_8_=r3Qxs=M*slT|3neni8L%#5>}B&X)*J4yKGl7Dz@rg zW1!@@(e^-rk$f)99|SO`G2b#+^GBu2$~Sw(~lYdD2s1;;z_%|OlolrK=#a?-p$81ZW`gvc4# zfFR+pP|z?;=YRs!<8*tNQLO2bFnbVY=#tZnMPO6^iGhAPD#{ipnK3L>oS)g$RrZdg zGqGe7{fhEgewhW`Ii|UjW2aV5FO9m=$PbiTzw;qJ)PTF5MC&X|nZ1Jl*fS)3V>Z`*#$|7ye{c6ax zwwpiF&ZO{?rO`O7aPEh#Monp+7GtZ2rV5IjmUXIGBE39|)EO)&*jXoMXJL-05Q$WN zJCWnYGuwCy*7a{j8zL&$&?BJOO!gejvdIRLtWlL`!XyGZ$`=&Mp=bki5|PS`FkBXb zx{D?8AS_hK^^Z1LS*#wnHV7?PcP6FM9bc|*f<~SZSgvyCF)_KaO_Odiv=YsEWe0z; zRfvXyEIA`9nuUi32^J#uP|`Ys;>I1{+fo;~mb$|-Jel`Qaj{WMj=?GOu*B%pq^zfN zNMZs9(-hQ_sNu>MOd9gMHi5KcM8wgE1kWT$$tu)jx&a0H360d3k z`zwXmxW!91@6SN0u9aAF4G%pOEwgNmeg)F*sU8Xmu|J=~6Ie_VXv`H$R}-7ENAUHe zA@j3)>kAqZ<_szjY8ost+mx;`bEbhAXM}H9&C^{1SQ23m!ovM_aFmhB?d+j z0>R$Q7GYUmuprSHV^`xa#XKWVQO+2;s?dF*-PD^zQ#w-F;TB_yCz(V?k50SP-5Og4f;S(H z>ZJl&MAc*vEi5{D!#NGO(9i`M_(5xE1`YJI(r;SminJJ;qQ!Qu`06%nJNx8n02qU+ zHv~GZv+D8@m-EOijMnljzNpO~Q;$AcTU%Q@+uPZnt*x!@KU>=piCOXXc zwpp$5j<)u;S)jEZomcu4i4L_{tu^=M9^9+s!_R3~1OSWKcCi})qaYg1!>K&VW341o zO{iWpj!Gn|XvGMytDwA&X^vx5AtGXgXQ*{p)N`z9=hp{&MqgbY^ZXlHP`wX-i1Qy$ z#9imVeL;Ks;q!kWKE|>;4iZ&}B7%37{{Vo!lKa<#J)py%sy^2FHxoSSP5~;N|JFA5 z`R_<{9OnNAatx=claFtbA0&um-E>c!w|*HtWnd#$6dnyiB4s z(Hd=SkH*`^;;r-Ay4x4dYwK=H#5xm+GkJNKMXG49Bi1@E(b_l!)3T~#l5656kPfrF zKz}QQTiT@2&i0=5xpnE`j#I`(ufmMRi^UVMQ)2Nr|Ap${{A&qK$Z15sZR?xY)+3s4y=Y8HQODjq^r2*5p>CP9c-M!>#e*eCMRr zo15B{pMY9H%C2o2#wfRnY{{+9u5Di`pD}#qyu^}uiGDZ&7piDvg_2G6Z;AJ3maH!< zJhOjc-^#( z@%3Ba*s8?j`gQXX{Y$c1NB=49TY5BY#Yj)OZ%v{twPfweRUK2yH~039s{JH2p>LX( zSkf!4UXUKou39=NuNu$b?7YO1q0Rb8zAuAUWU^^8Dz%+a8k90a#eu}yM9;cDdGpG_ zRhu$sSysud>0Ps2*4IvU$2&F^GRqgx!JMhhOZ2bnKV#+C<}+4x&P(*CbG>cz5=%xj zX5385DX(5Kj+c%W^mumJvi|kx z%v4(6G~TMO%9p0}{e4&1t+zjb`! z8HLhBd+%teBUL)(3{qM$uzWQ)}Bg2iD2DCXW|;+B)0YP_fw4)>CTVoI+cam7}M`H?KUixV*S|S&nb%^}VGv z#mp8mF}QT9u%Jg>xH7YDr7jI?@eaIj-6`u@R}U6T!|j9P%lk_UGNZ+%t%=Ok@am=U ziFt|seA|*0^Ai0FyXUp_%uDner;;5}`ZK3HZGDgaxqI!bSzy*cZ}-^LHBbNcoZ%~; z`_0|Y+|zrPeCn}tPrPw!-;(q1{E74+ya9IJJTx@cdgc3bUtIporB@6+ecI>$z2oYu zk3I4IpPri-99%`l(V162{HfP=roQ<5_x21PGyL{!|HdO+0+juF3n)>UrZY+lT(;^cQY_%enve;n}Y|cK(}YA9uk87hG`MhteOq;DQU3 zJL28Fy}g}}Uj-T(8a`7PeCyFie`09iNf%sj!M!IPe@t(0uXN1CM>aGxeDlbAUVHS> zM?d_LL#Wzo*EPTMx*Kjtzx@2u7hH7FT~9rHb9~~dbw|Csb=FCjAGv@3{y*-%Y0huH zlfUp&(G7R}_O~aTciwr0$;qYneJc9P@8mb=PwhT>|Ni~0pB{X7YjW1z7rp2FKmIXy z=iPUwUVi@Rd+)vX{j&U}y*HfEb?5$NZ+p4zq>GPy{mXy2a^t0+{NzWDZOeeh#y4Es zRs7HoesJm?cihpM`vth_{>;y>J@sAV|M}J1FFxVaOF!|6^S-e3lHdL6OQZMRcV7>L z?`?kP8$bA&mOJjaW6AIT@Q25L^`+5;TlO|45{Vnr_q_SeyY7Pjam^{MpSl0t?YXxu z>FN39SJ$__@X|}EdoO+ORq^!eF1zfqORv2)`pT(G{)3?*Cmesw#HT*{*^AMApMtw@ zgj0{5_xiUUfBaFG|MVj-{`G(7%$s+_ZTnyP%IKb-{`9A}e=546b^HFUR}G$Y)O$LQ z`r4V_UQ#HuE`H_zdL&6&_}qzF^YcqD+r9J8zq{(jRegO&Tz2{8U-{8#zy89~w+vp} z^^T2OpE+XxD}P=2^7{L(8Ho^;$FFJHO%_DkQ}Q`oiWZ(#1+*A5H}e0SpMtM{&dllI)7R)2NlZ71G- z`|ZDIe^bx-Z@%k>o#)Qq_Rfbs#41nz?y4`IzjOQkW1qPDq7Pqr<-0zx<;i)O?uT2RyW_7gJ zeZM{7!fs-g@GR7ytOj@4sRD zTfVpI#@jxc-u|8R_BY+LU)}s-Jf6P$s25&*5kC5(Z4cbgnBVir5C8b9FCCNF_1WmQ z9V5GUZoBcekHYQG-@gB>sljWyijg1v=to=IF1j|l{+q8o_uO+|c>0z{uUq-cj_3dP z-A{c(-MusYU2S{pl#^2F^e=BpFa7=Rf4^*JYS}%P%)Y1REsH+#?eSlqvGd=SKeg+o z-5a0Yy)*s2P1|D&PWpMK?dO@B_Z}OAKffw|!Hyl5E$&&nd*@$oyzREs_WyWd)4uQh z>Z&)q;SE3jPX52H+f`_4YHIr9FTZg9-ebT2(*Ou9sa-vV%v7S;rWv<+;`LI17Ck&=i~Q$UU9|e2QEM9f$YK~UVd=) z^Gh%L_n*q3viI0G-?e}5h5J4+_Y2Qw?~TW` z-!D7<6s`BAqrTj?WlPr`cieH^uEHChzhOJ=!q>9T#tW(L=NZOykfJ+uQa92s1{{@CAqOP;gsqxbLLdG+qu1Bo-XfAGA! z@4PCWKI<>LmMqxu&{x)`UwPq~2eP|AvhPb2=bXK-f44L!WwT#cer4=|?4@tox^3GP z`)==fYUQ@4E}8qK|K2#S=i?tc?_Xa3yZc&h`{d#eE0mI)SzLwiQ{x7e8^Rk_*TAtdqaQEzik(+M&(z!!CqBRQvavtyS@E-rKlZ=_Bkkk=Ir!31+6V8x=si!| zebIX!$o^`_zGL6@@|=PBd)FR=?z!`pN6)=5yK~zbT4wRKmmYh0&uv#O{=%B4c72zQ z=kvE+-FWIr|MMT$Uik3M+2uQ*xn<(1-LDyXaR0M6Jb1+wS3LgW|L#2hl1tvQW5Gv_Tx|AxA*eB$8P`1vv*x5A9wNW(?9Usudj@qz2(0y z{OP7|H^gFJ|I?m}F21;5mYY8KnT-$ZefHT8{kuH%*ZUW&I_s>h|8@G#Pk;Kz$Npz_ z@`)#&`0zWUXC@#1Ci?E?Cti2P^5xI`X8aqEpZ@n3-?DY<)=RIxdj7L756^!6n~(qT z=*mU&w)KB)_w1K1zjOcYosTr0deVvKz5uUTxOoX5%f}!8$@x!w?UqOG_}yI>zGl`t zFFa!Z{{8E2&I~cmmko;vv{x@4E^8%S+`Y9;>U3CEmx;)(a}+I8jP zCvg71zkBpammhiln@{-A&YiP=cHe!UxZ;Wls#WVzCY93-@j(tiogEP{Xcp35BIG)>#UErW&h)I zx88dEJr|$wlMVQX|N6)e&!MO0mLFa zQ>WO5`;qy7zyHQ(?;2aR>b!4#t37x1n&9Xq}}``Prj&%9~VL-SvF;f2TU_}4c! zMx%HA@t0pX`t5K3$Yqzk?GGOqod3##9^0`va`hwk-&*|he}4I04}N?6*L0sXpZ)!} z&no=x&LgKvrN@7E#rt;uU~*4><7dy=_uQ{PFCTaAE6*(b_tLW!2-q{keUAty;C}jIBG1 z+ur`JcRlgI^~-NO^J}v{IR5Leuim%)#TQ>(IQf_3o8Ng~{_lf-xMk()zrQ^8!n4`@ z#M8g|*PmW~^75Ul-uL|EF)v?!`+haG{iV-8b=6f1@FV#>kIZ{w>gA_zdFC%a*mDLg zl0A#kxnFD?`s4}6ob&us-H-lg+x5G^>;L%MA1rwO>Hj*Jp2nSy~WqST!+t z)@|pWF!Y(uD;9tF_{Tnb&R@Fw`u=tAvENQ@zx%HJ%Px!Td#Lx}_-kf8{`ljoA0>l# zUwZY`J63(6e_-dTlb_l(MakTkZacMU(MfB*y6(J>9dq&-JG&>O&d(hEp7*?OTmQ8; zp8f>fK6l{y{eQV`?^QRhYc5PqQi^-;{r5lpot?2SW*sfe0`2W@|MRcEK}&%5zV|hp zCjWo-{yZMawtXDOrv-(QWZ$mrJ7ZsBvW$JnuCk3;7{<()89Qka*@i?E5+zZJHcO=< zp@k$Nm4xh3*+swCH7M#{x}WF%+|T>_d)?O`Wv=r$x8pqa^O!l9=9D&rGI{v2W^e8N zh50#FZf;3Xf1I~ILmYdnJD@apc%GX9l*yBhS)Y(=A+AAPbhwTi7PHJ(?!A8iFhS40 zk^!ak?^>mYP)DGCU#9)0XJ$;Ybydece!N$IOgyjAYs+N54mi_?%gNgxtcS$&s%`f3 z^LysGYu!cX@~zg^)~nT_mpNpAet!Oy(MW%LjyO8sm)DN!RLiwxhk*LjCL)T5Ep+Mw z9AsZ^I~FV0yz=B|r+j#nOEGMs7?zAWyTGg>2Jw$Dj+It?$0F?!G3Xv4Qtvg-jW>tv zbaG0!f!%q-o_Fq?)Vy}fbwtE$?SgSK>zq5PIIfH_g^nQ76A=)}-_U;Zgb} zuz8ONk^1xV+yUm0oyWv1b~!kRh11*H+SnX?|0KgKyKCF9RRp*;5@^=I;qYa%=2f{; zY+PL4YO`h|L_${fa7G5NoO2lv9&4r*_<>K^qIzPeHP6aVYBHY%Bxus%1!kBS1mt;F zS65>*vtv3nqIu`e<+|Jqc;r_bhW-a%N_{>+KMe z>>Q@y#+kNG+2O_+=K@$74;w@QQMG;{MO&O(#e18W)hU_qs7uALK14)B%|d2v%PhGZ zx(4#`*A708H)8mRRl7M*Fx)ayXObCy}LRaJTeWQr&Z zCTM%k{NDUjXCnI1ag%JM@$l$}w(RbbJ2#OLfwfTUIP|0AIpK4YT-qVZn+0}Agj3H8 zMtosqWo7khy~KZ9-c2r?YUUnMS`6z$MwAxcxl;?ZW)O_{0zDP({@n7tc1((>pkBA{PVN(4dn+S8Je+LZJXDDMsIy*Y4FF6+W7o zi7VrLk-)1~?AL7=&jnpuwC8%&{TQ~RCr(I)a~zmIDl=(xy(``8bfeB3^Y-oAy`Glfuy7QWylhcvN$n~JA^Xq=Vr4y#EifaQ_dUVByWcS_xcI@DDxfuX&z2pML zJ`)LBnCVlGShzKgReAX6QFYWNUIo8*20K303HLXhVGt4$N=i-^3g=OQ%n6$eCqk$j zZ)%ZxHh6e=jJ=DK&$Y-<<igS=(yR?wQg z=G(y`Y#4txmR&k2HMRG7XkAI0povGsr8s2OJ13f(`10y40b#<;Rt-z>^3|@0F zw%MuC#JW1;$0t>oE;tlby(rr2H$8?xVK74C;tb{G<#mmXMkXd3A*autT|YB3Q}^Tv z+|qKhqLLB_hI?JXF70^f{^Ju$tlZo&3-fcxp1Px6ugahml!1duNn60_G&Hz1G&HL2 z2=|x|CyJE7TJJ%(gDh!8<-6CArNt^Jm>B%|J)$adBiD`~g{rEmEnBug+}zxPLPM*o ztJgirPy>nbq#9u}3kwVQvbB|S&6+hEn3$^H-aEv~&VD%XO)$g9k00C0$>LY8Tp@Np z*fe03N;v`^iKjUq8>57@bamZPVQWz0FqQ)}_n${yY}?qI&{5DM3YvNym}j+}lNM>P zT~`~q_N0mry+!lWi@TKuZ0qPsV9ECvp5KM$kVkJ%37k~*WwdC1dJSuPiA<8B4W_9s zM!7^vb=*hHI;OM;eGi(0Y;l}{EqrA82DV3CjB*j%d~R%fJhHS@P1!>KX28hPLVIat z-SEjOc^V|s zC}Xx3nzKPiIGMKbW*BuNe2g2Ux?zL3@y1Kf%O=pb!2A@mz z^!DZy7jNN+qr3Zr6M;Z%|Mck-aqzh$pLWPLZf@?j5+uXBcke)Dkp2Y2%%i*^Cnv}2 z#YOJ0@Ng)qZp-6z=sFVDb4GPAO(y@GzEfNN9OF?M&|hRvI! z>QPl+WRf{Rrnf69DrSbT zXmEh2ZS?muZ#$oxySBc*-rnuhP}3O(&;pRJoL(ETFq1zXtWpv5QApMIWu&8PFx~5$ zfkv&DTv&N{Vl6UMO|lIqXy<*#l#gxGc)fVGdtK7@vc6NHpdveaR>b*cfW_=Z`tpzo zsTY^s65qac_c|GsqaXdQ*$S4b6X$)8)>+HX{CRaF>}$MV_k(+n9x=(^9^ZNc*De&E ztdDzhiyMJJfO57SXSiq2$#IkQlSWtC1Y4qzxtm{H+2w4t!*Z3Djdy&I!CB_yOsX9i_bM&LPaC66iF9)9GJ?kr5 zKN-k0N7e!VoeSk-QwjPyKjk-id&=YGHEdbPMB%tb1*!KT`>n~BK3+|^bR6=oGU3$i zG>eE@yYPWJ|C+znKxN~`js4B}EN_CkH=#Stdt~5nc)F@D&)RkCj;5zegj2T{gLcLS#4~}TZ;l)}@;3XVgO#YL=mr)RBX{@H&3B?-Nwm3Dm%uto?nEIY zO3S{ar$dqSU%q@PCUoiy*rwbF9Cf7(KHqrNv+=kNTynTkr_HUp7&hk~A-6-!GE0-r z&CRXy#Dj+8GP~EpV6ZQf9fW83{XBDI=1E7j;YO%)IcUF@l$7+hl?anaq_bAgv)#3c z-8s<$RWGmm+`$5;OuR_e*Jp) zjvKzuJj+s2QnrovH|ftZySPU*)Gpu=5egp;X zFQ29ZUq5$@7LsxtXdFXUd6e9J{hEJfX69Lb*)=9kxw}uEJn5~Rh@T%=2YU3*IWYai zn1ct`PS4GmW$U(pMmQV}UlkqAsWmubnBabWPhR6`?}rZ`K0Rx~HlUPwaDISgPT0io zLt`;A*MI26bax``Y~yL3p7-yoIy&~wGDmwv%!1CTHRup=X^=#yd>TUG^esZ#+93Bo z^Hg6y*9-&aXv^+;a6f}k8FQG4(==Pxzu5iWTJvljms#eU-(4^k9j>Rw=HxcDkxO-bycgY=&3-Zg4`lIJd7WL|XlFvC_BpvRO4ySo$V@i-kSH|3eb zTQk^l0lM!?(0~%IYT-G!PS)9V%!*=Hu3l}*Gvgdks-v&0tbDlecKb??^Zwlf>pu3T zxtV6`sv4V^=Jctfi*v92$Pxo96c5z&eJrjpsQh zJ^4U?zs=46VdBPP^^s@KiVP^#ZQjbp#ws8n7jAgF7}o6`A!1UqP-q)so|2MsI{5SZ zXP!y?D%fZ1(P;GQ$fs#yOnN$(`AKDyS>`KeK6ck4Ck9)70x2$5IGdkumaQ9*a`I&C zks})hlm;W`xxr(Tng|p}*BW54k|$Ms#KP${c6L8V@B@uTCGVPrc+h`lpS=)s1^KRn zaHr;KqmFdA;UV^I+W;8MZI;<(usNTl^6NtAGPH)k+)b^;4jvy~m8WZm-WcbeIDY&% zy`W(B!_J_f;9&dt_F-|$%$;+SBi43yB4K$K2b%Md_YTr62W-iFlT%Z6{g=faQe!r< ziMdaGc>T=td0dUhfjf6#FD|*n<>m@GSB7yzq0pzwn}UOb)&1VBzjf=@u3fu;@WS&h zHvBP*__h)8icDR~5 zTwwR}^Rs8t(bVM0%gb}R88G4t^O$~D69+mrjEs!CoSow%zRq<%Ro>JH`?}-Gl`A4T z78(5NM2MC4L<%hiqgDdr9v&5&%olt}jfocA$0cr=nWS^Z6=as8y=vFIn$|u_ldtWn zj<$Aka+>(+7y%8RpJ;umyoq5m-%bYyjtc*wDF2}sUD1O3_NS$BUUDv93o*8|jLOay zeE9I;*znaxkGFRZ)HO6b$c4u}&4n{%!XjJ;n|+IswbUGPUjq$=i?Vtk;R>>~

    %NY-f$@Q6^{{CL$lJk|3!wMu;o(6Xd8slzJ?-9E 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�^2DN}zv7J5cFJTY}f^>#Y zW%YAK6cpHrn&=@AITPK|j+bx_g&c8oF)=YOE+@prU9HS+UYMWDX&wMfwz`H-*xNZe zs%b?u^YWa_&)2`)ddB5u04UaYczAa0-5ZzY8nW^0Ok>39)}fW{Gs3MMw^Tj?j$ zGRe+gzFa%=xzBHMcsHc=>q!}DX(oufG7psSX2;NkfI1Npa$A6%oqYo{vt0`tEKSbk zU}9ooKNpJOcwsCZ9bF9dsZd8L!H7syD7j6%#tIgr-PhiIPTZh?uDra3_JN8)%pBb=|!!bXG3QD@GT3LO)1BZ7rt*@ z;4SF=nsyRdP?&yFwdM3_z)6PV@d+h{l9H0ALlf$L@77yp>-fsrpJ_UB{=CGH@1AR3 ztPYo569xypGd0Nc6B9HT*U%9aW^Tpxn>KBFV%p-a@b-0JCp# zr+VR%U3ozvrifQ^Q#AQaO-&(??C?qM*@>a(2M-K~?xAEjm|hg^Ww`B{$iyjk`o;~8W8zkZ zM52PXx3`^RVVJr7ZKp!1bH_cu!e)Bdd~kt7i9$}FKfggUYqR4e=X>`K zF=WiYT=?`z9z3YIkE)YR0jSLI}dj3-YTn#ZqP z;JstHi6!pKiQA!5?`Hb4IhW`i9><{)dL!dncY@lRyL$<@MK$T$59AekFl^?#Ta2hS zs0GBi6j2+VH8(F&nxMvpr%s)ELVXV(tg>m@UtFw!dtCvF zRb3KEvC|aZ>r}`??0>r501l6#>MEuyW4BWIG=wziHTLHfvRY|RY}1(^w{3#ft3|78Y`mN$bW#v@K8Vkkq8tIFeVm9SVgSo11UrKQvq%FtX?V zg9o5wcQ5dcPfTRV)^Omy+Rp6e=C-H?5;TIw02cg3#l#(-Hf-kC6w#!wkIXC7-N6+d zGIm=1WwlMq`LQvgJwNO@KN^J^Qz_uNZ_`qYe_gRV@wnAP()-8Ue<(9DZ;;;G z$ERyxAcl!k?g;hWi-s&M29sps$V-(b>$(`HLVRvzrGRD@wbqqgL|Ay8%gq3G{zK0D z^9C{WoB59LYXuykb~%`fvC(hh5z(YC-(c3V$s$8F!RR{asL3(0k1p1)nax@(L`6lr z8ni|YbafB(OPox}&Q84Ka?_*voJH=Lq_`5h*KO@rJz2MG*^hp7JcgPpX_h7jcXtOG zvb4lC88_aw5xrkiqkFlv`|g2txo6J5Omo{8BcL7P-joZ^J(ILk#(pg=tGGI9lfIJ^ zS7BkHL9KP_!-u9^%=9}Jrn}Y2@8kQ`MYzmTPqtV1OCLOVaO_>2{JT%Rk8-;u_5=rO zV4j>j+*KVdEGoKW9=(39HG1n%2jLF?Rm>ATIQ($GdaR9uL(~Z+&v#U<4|fagFBsHr zKa41Nmc8e?H+x0kD7F5W_|19VXW<}!#m5`8UUDf3necA%GtO};d@eM4=c|rD*qHA4 zXs4i0>!rgr9<2QJqCC93C735X<0BoMEZXB+l8+sO8wnjo79?AcNTe;iyi9IxZswWl ztYXJZ$aEb~pY9*&C`DF9ZUl{nb5_~ZSFfC#N{mH8la>YcWlK&@j#o<|`-6DyL$Z5s zoS&>Oij8Fy5f>L$SLYHC5a5FC+i}CULu}EWMU{~IEDa0{PFrQ`^f%|TU>>I*NYt6# z(ASvF$v<+=)Xc2Jw?oxDTZez@O{hFQGuQsQI^(l>c`;N&sahM+c7E7CzKtq^!J+i9=?mx3`pKrh3=29dvYb3Mb4#2SHC?AM`uqTq@kFA~!l+#ccZY z>67!x=xYgirk0L&cI%JTN0ybTM@B}1v^h3D9(m9G?h#huE$r-v`}@5>zbHeEV2Htp zk;r6gXXp6jGsX6D)(chgo^FA##HRtTv^))p$bx)qaF&Hsb!khTu&+icrQzVbX z##S9+6;|+jXAl$=1ONaeCnx7fT->30l%Aho$=lHlSZ=e_NKkow?5-{GY!na?743=< zKeazPnqf~Vev?V^(+Yo|ppcNNM~@zbg!CLWIvM`Bx%p~)YiLlAdr#d_V^hQS?n}sjryLQnz*Yrnwo`Qu#AJq`a`rQ1w+nK46Blvg~a;XOYnvo{*TxvM|#a z!B|OWAY*Tn?&um!m!%bW<9J?asao!tGa2Dedg_mLjg0ut^SHUW-CCF(I=GchrPfBY zYf&jgA6UoWG4}Qzc;F%?2h-9x4dc1|nm;oO>hK8&2qcMY6c7+7`?@ga*BL&An4g`H zv$T57XO&B;LobTIG3g^D^N z3zD0^v^WfUzjCc-cPbRQ86O|d;hUFB3>EeCC`gvUzcOXm#3K?W?JJ4DETVQ?O2c4a zFV@U2RJ6Ro`Z+3~f*OPg1&^{g`X-X*-H&kAhw3j=69P%Ou#<|T^=d9pPl zse5AcOx0449zBqr&Q;oOx;M5%dY=8b)b9BJX$w$dn>68Hxw38D3i7vm!PZh61~dj! z<)ust6@|#ym(~!0>gbOwDBMtLGgUoeAMRAh7&zPp#pm50v4=YqGPYbxeG~C@{*`F~H~#X&2R8Ow z@Oh{>-crXiO?4yo+nov-lai9|7NzhdCnepby*T))ER`q05T7T)gunc*#LgvtuVgu6 zsUy^>Q0{I~iov_d!96ne;_nez=Uc-ZrxD1{eN zu(8xJxWtbCZc)m$$c_s;oC*WHX6qY@Qm(~zT$pz%lpXIVN`ckX^Akg_^P5e`6QxBf zs2x6!$}9>_KEa?oJ&~=KT#Sv4?|zy23_80bgug~HQTpuUvo2HM9HCNl2-_B+g<>s!<%gY1b zfBO9S=&@smKwv18m5D=Uf0Nh!{-!gm92`-qzAx`KHnJce#NT^WPClBPeDL7Gwf8z% zbKU%OGR@fXPG)5#*k5o!yejkSZz~bj)6;WT;3^LK=y5hLuPa(`9}#=%-8+xrSLJMR zobplk-0zn8bw4ez6_1RJq}iL6mQ=IPNuk|gWyht=u9uXsiXE$;^{L;#W}Sl13z@Jl zA8SGPz@YYKK^&*NkctYs{H?LIvs0sqI^nZ`j0|%@K|$`BqYsEW_igM8@NaH$BOk=; z4!tO1<>84@oDBXv4;h2SiM`v;t&wrr)k>Dlx867kqen+QwIt zE51Jipdj_IurPOJo};O$qMBO^AbtA5+x8ans^adR);;v< zle@^qjT^bti2&%QoINYjBLBB=YyisH?i$kJ-Y{6F64GgJWQ2#9D8Oap9A_~ zm0{)m>LQT7?nFsnoyaurmBA2}!ka$@Lr7~Hj2=m%bs|%}5s2+k%-jd->WoXLrI|EZ zo<9eKgx2cn>dHkVY%izptKOH}r*B-)kfp`Bu&`ikWfeFu;r-;^A%><4j`EMQVQ!Rd z$*g_)0=e(2^YTIlpG!{9%t#LEqGg>*Jm|j6&wuPrgvCuF|HuU)%#*Y4etn)C-g=NOP0qlfce7TQZY$#AsGCGt5s zIx@)1%QrzcWU`1Rhw7kYTb9Bp$9u0ByNZg6_P;2~=;y*Ge9mzuHALg`H2vNg@WJ*u zM;Z6Xw70i!U}53pua@=GNwK;#lay!Y7CvDw<5KawOQ9#s?6}OmObxO@Em1m?Wg-cw z!zb4gJ~xS&9_!kC7-$U{Z!-GW;^-Db?cz`u9PI87Q?~;>`7BNUck4!_Y#kjLXjZp! z;^!PoYD2Vso+kR?wuPc{(;~M!0=D^Vkv4bzyBTg>-au8#Zhx9x^rI{_^EZ z5QIg%E9`vs?azq70_sxG7#ud$h#K9N}5&vo+t%r01HU-cy$3o9!l3gy}pN5hAo zUy&QT#=5F=kzR~_`dY&$SZ;#uBOoeTbMAAJqHp^ZI#yQJ@2weT*B7HO*Hw5W)6>#8 z2L}fYYM-ueh@NcI6jV*~4h!3Xd7O^0Qnfi>V4LqTKRc0&^jh1eABxLj$uLvdv4gL@ zy?qiTeE3^H=H%U(rviKXs?XUJ6&1lVRDFk^7&5-^>N)^gD^Rle{&b3F!XNn8#IOUwrKb%T$eE9I7>t#Yk z$%I#-5qfBg6{Nn~SQUY>-M)IrO9{ovs8{_}bxuWzPV6{{avUft~7bu4dhj#iRI zG9IyWa_$`kEO>Z%p}sGbw{dc+-E4M};SdoM+Y{kYTT_#B;|2$>8XgzWegE1_c>9R?YqOA`#yX|*cQAYH)=~r zNs&Y{9<{WzfG)LH>m`1N%dQEJADi3R**U=?y0hNL$ye?dF;NejR`~Sk)6>gtFx<;) z8#}{3Z=z`O)3QaEzPjP!!Y>dy42|beVWgv@bGm`!etF#|`g31nTt#_+mfySeAyXd~ z5v(q_KOygBjy{9EPEz>CcknNBonNCY^RF(XWNDDa28V_+USln@b--0X?zUWTga&^? z-LI`ZQ&`9ta$8_vV4&DZCg@#^_*hr8VD9>|Dv7n&f$p>ZF{5ac# zL_xxBqzNtJ0%^^TOjjca$hlOY=CK`={FxDKb=0O@{3ZS8(_b%$cz;>&)7f(=@9UkD zopz=8*NhPn5zkv&)#l2YyzYPMeU$MU8*eC_o11&F)UPQQ?sPju1p=t4alXD8SQ|Qe zJG!`7!AXW=+qP{x^P9WA%zQq7=~7fX?!i%EBjU$*@U%`#BR^YzK5*@2_mG96qM}J6 z8>JmC?zFJj^cbU5xiITvoE#ZGH>q;7+5Che9iehYOooGrL?##Yt=l)>0#6nh?z|&- zcOrXGGi!6l4c~PTKCJ-eWRdMKm|NS(bxy%=qhI|B8Jp?L{`$c&NyX>I>5`JBkoBUnWZf zgFCX|!Gi~dAN+$XF1g%{BKI|P^<_sG`udIt?sM_?R{?Pu?v_(nSjgcrd6O;-vMwmQ}HWsF@yvFL_q*~x{9Edl!f~hFs!y(-XYGW_<5@M)1-kB^TSI}Vl zI)=^eZN&(%oo6|yvVsw>`?L}t$(E`oCu}S9A9~@1!)@c&Z&4R~iGCE;7Ph11$dL^w zG`c+_VVi`o@VaAS7F+rC+0+GJB8S4-oC|$kT)a0v&^&U)&=jrAb2KRl(2Noz>RhXR zF;iT=q(nyQ4HmKV(`i!E*X$}$>l~|G8n$vqr@e-1f zM?oFv*^sH5D4=anOZ3TP=}jiPZur7$0isTd@dr@* zN-qX)KzZ z*TTgtPTmiM+jBQW50!c7INKE7otRpG=W~OW^{!oS$A?HpGcz;&FRx3h`o0v=WNbh1 zxy$)dCQDkX6eLqSlw-}BHBL8hC(JH2y2!XxY&&q^fO_DE%zlX;NJBKaEJVk7Poc%T zckfQO4*9*kyC%)`@{6#U-n9OvGYlNEdqgxD>yLci&SL#}`&qj+Z+q&GajD|Cs;a7X z+1vMi8gjh)W7wx>eJ0CX%qbQ`-b)l{)iN?x#mQG5d6Xv4^eBhEx3@Q4#fKw`MUa}3 zvaQLlj!s=rHa}%%i)*39o8UhFSNrBhKmaKzDT7+;lq**hA7^T?1-|lQa46a%s=0aN z-I-~mX$DJ8iuW=53l2G zP}SPX$tG?YS&w@5ivN60&YF%=LT%(mHqcQp&(`5DFE7tU9%Urzq!@k73pw*!fuVbI zzZV$d>eJ`8voBP8Sxy!g5)yivZzVWB(9EEOd3@JMFgy~}TGRmByu7@&8@{~ftg@-0 zqqjNN(KGKvp+ufNduCuHyy;!okuxuCZa01Gu4NSzO!PbzOkY`93HlLw`uZjA_tu_0 zckbQ&7&f^lw!3ygj@3ufF>wIO%G>VUyVw6Lk4elteZPv&3qW4JF)x^U*`^f&S>tbF zplerm+fT>Yj4f|=FB}e6IAMMyE>7Rrctgn4hfP*iR$R>V@m$cg*4Eabc6w2?H`+>P zX8nm1C+eO&f&2MEO-)UAIXFa}JjnxTO=NU+aEMAy-nxyGQ&>%n^Tdf0(>=$miUUUW z+?six@#hhvrpxMr4SDr8w@=K@hVa4m@r6zf>)P0C<&fPIiETdDHISce7!;&FJ2}Dx zgTW|6FE)V|c*hN2*2S#RT>a?H{V$4mzkK=fw3Of$86DjXcERCf7A7u7Y?qYW2oC7# zD!{|TV*q-$emXtfs(GdcJ&ZE;LPFdnb}>g#_iaRll3C4Cj~E;NZ7)%>_NPD#;#7~u zyx*@tkVPn6d4gj;@?IIg72qe)x}$v&Se)jHy6-zz ztb`Gul^)gvmg@I2E`C~?l1%U?AutX2_~X70o>yGF$SzY z<^MIg{`>sR&u_{9f4cqyR8{q-`cF``f93x_@dyh8KgdC0VZem4vLHJsXZ20w^$h?D zfq)~^Dnk-U1SFbFMw8`0_?=`QEOEJ{r~^nnjKacQ30y-Z~cdV_b7LUaFqtJlR zB1OrqAS19FSq>aQ2#`QwkrY742OTT~2pL*g2?0Wjxwx$g-AkU&?FKXW#CW3;yrDVUTBm*4vY6R@x&9py@u1O2!o~$ zBLK((i=DpLo&x|{B}RAAH4h?g!VxPYXYI6fSeCH7zhvl)&c+oBASGt5J;dw zz2f!aHZ@ng0RV7UBwBrFxuxRSt40Fn0jB`M06%{M1^r_y*d2{WEx!&#V?DhnngEn> zxk2{lgY-g>P``JOzjTh^0RL~#ad8H)%d$TD^VU7mAk=d{*elNxd>21Mh?=+&bx(#u~N zb+N~)QJ3)j2e_w+Kq3LPjDLCXZ#)J2*Uy7UK>Z*Okpy2N0guL0zMTcFdZxwqQm{gR zoWr7#{$mT+n^qZK2oU+@b6T;4Y?>EKKPZQ%2zGyNLfkdy8o1i>f z!kV1TVijaL%Vo%)M_&G-u^A|CS0luWKn6V$^k39te;+rl(rW)3Zv3wH{yA>^>k3x( zx4G``<2m(}r1;AW_usSIZ!p_`$ZEgLXg^H(Gn4&A7W)+j`vaEx+qmhUF*O!v`Wq~b z6}s^6Gc;DP^q<)o|FHk}C;mSYK}2|9asOQe;LrSjl^^ea6cv@|~|0!N* zfPx@-qA7scH?aaNT@?H-udbpbP#i7YAAMJHSj;y)>WL$GAaJXg>&M2GW2^-H11Q-Q zU^ISS@p)N6%IU9Mr`h-3a?7JEPw=}VuVm__S^l0Ge#tcfPX|FHk_bc+7C{03UcR`a zUBE3?+L!yaV_E|KKE$fSBBOl+&?J3=FA+gP1428Xa*9w{1)-mn{qG;WoaDCwX$l(< zTAWfo0P2CJAfQ64G5LG2LVp{27H=1Q(Rj))qG&~jUq%yD`M*XJI*5YC(?S=&hAIS+ zNd8+9MW!GqXpBFOjQ&+jt?cnnqH1aD{|h8x@t!0!nf!|gT891|m zs9ykCHgWzp1pC_)Yy8&}M!8$ zzb8Ee5&NC&{}Sqcr{}L@jSNso{xqfn(dSP_qZad*mTX%9O9qtWl%(Ytb%8)cFhC&y zNG~+f=Xan35sMj1SUiP9K=~ulD8L_2!Q#FFD9I_wDFA_3iq{WDAvnwuhGc+1FD%k) zIU$G)An*VJg`zp%2pk|38XhhL0N?Vo8j0{HqZdcU;yr0p1n%1hy_n>+42#7BJCx*PW0aDzBLE&~fQ0rX1fWqspci_Pevt?Y0!Q!^ zCj-7%Jl5AA|68XaCH0Huhd+@>AW_IG*1C$8S71gcR3c!nf~1;M9npVt_Ye7V|6d8J{KNe}R82|o z-`{`yN1k8v|7kMP&Wl9w_w-t1+eI$*Cwh_)D3A&K$>6_>QCT8_Os3^SE?tcR6fXn? z0EeV;zXy5|PL7e$o{aEBYc7VZ0}wbYil*@3-~s&5RaeBqAtYaukBx@~RXRga9Ej8c9M^zWrf|@I?y&LKrL>hoW^^1eH}#0Vpij z(-8WupMF{)^#9cgp?_h8&~GdJX(>z0yLd?GZ^M&+UdhUBeT&2X#)sS?k5}~be38$LcfRHnOm#(d?qm_+; zEdaN%v9i$wb`$&;`H@H>1Yl8UAei7!0+9YB8Wz6u?+;84DrM5rB`<+na)B4}^{L{P(%Dd27b2snRVG=Rh*u)gHKW!Z-QB#IXrbnh_)lJ6pQ zA`y6Seu4)rZ5st3DBqH>Q3ND;Rf@GI8jmI+aPnS+Kv@bwoxIVo zE+$FJV##EGG+AEw`{rdA$xk-W3yVX`emj>X_@$E}{|8$X{h`y+?b#}@p9wMyz#y== z|6BJN|2}{1`4jsO>x=OGuW~;je{TONEC2NUA2mf))qm~3f8zNI_TP%g0+B=@f&vhv z4q)jf`6u&ZiFRoJ2>}woqP0Q$XhR@SzGqD=+dmX9^ddAMw0L{7Y*PH5HeNl$H#?1l z_QaAYq+rly0yUuAw>jmOn^po731lpV@H^nkjo&*^5S~9kfp1p$gDV5GzkQLlbT_p) z!t#oiQvrV7g7)w9_}yEl6@OzfKMb}qWP$;NM9K1^WKCKk#44~K@j~17?+0IKBP|c} z2OWPUY_&vO1_Y!Jngp282;$qGZE4mpK+AdnBv5D~35`Th&?rrS7M)l{7bG+ug(mIt z$Ke)xk(Xm0l7B$1#P8rg5bZa^_;=|RD)akoijv={di5RUuaNkvRjn{GSG)&_lD0e$ zr$5r#N(x-cOI=A)D{&E zfW*o?q7}nP($3>Yv}pdY(p3}FW|3X`ZXPYK_lI??TE^c;|7g&OL{LDXv*c-m=J2xi z{sSWai8KCoQvbmz{1fv2jrIIFkuS9_J9eNvpZ z)7@pVe04)!8T$QMM=jCZ(k$Pk2^mcaz#`F0kU;< z91>LUOWouE6ABQB#o+)CG(aIC@MMtbPymGhps*O)x6dd*Fv1rHpwOTc23PSd+=*C< zhXMo=xJ)dbg7!rJ6zVhp5w|kVY3GIh*1UX!x6JO}%n1Vi_XD6m9nLquXvGb)ruLs) z0smI2%lGu}6}}6B1W2I$Rt^4JNfDAiL;ZdR!{P)hPJU4htR#i+?chPKYNws-kABcn zo94G4X!wl*0e}dOwbBs;SBbPz_|Ht09cDIcq3x4OXz*3nTD{a!2oyT3@ z_3S!MW+tb*6R(|4&Tgkq8zLbIZHiz3QjVsR{q1}3B={C3`H>m(Ln4!S6bgkxRiUcT z+n1r@%rJowL+xG*5;^O+D5#;GMvyVVZ8pN^n^J2%@mj6k?kdtBy*Gm0yWWBC_UVxS zRGiL@+J8r*QAPecc>44~{=1E*hyB-*i5YkYFf3Zdup~y!UmkY5Pl4bU|GBXfC zP`<^BW+Qws^2aIu`_EkHQs=oXj#&C*4Z@etlxKJ`-Ex%TwU?~xn zNfImHa-StA@R^F3vm@Zdu`gQ$#S&e(Erif*ir&7cdf=nq`_sYyC53Fp{=4}9!T!^y zW&Y2%ga`hA3r`RJ|N2Y9ITV*WW2GPqFHMmxvXM>MJjSbpLW#P9n`o;mFZphPD8(TH zU%9j!2jKak_=)Ei*<^yh0N1O^bP~u@inuB(Qw9n!In3H+6f)_jJ6`6X%RQ`X0BS?2 z9(s9yVQz6C^0!t*zXFPq2nGnaKe)jC-CciB&>(J-MbQ#`&R`@iSOzdj#9)2rBa*F) z@+t3wL(Yu-b}PFkZi!<7|Z8`Lk9e{760XIO|mZ+xbvm?*=FD`HRXZVg%^9q_xN2R zLu#aroI@k`Kx7{QXfG1+-b#}Srg(v3EmmX`s>1_={Gq5ahQZY}q+xylgCm?SeF4D_IG&Kr5+e`v_+`%mtCb0{ zy|{Bs$~>ZC{3MQ+d|SLmU_nsGRI?K;nu91V&bXF$|=?;y0uhW^#%C z+;kJ&tIY)Q5DF+tDMky#X-mYZL=?er2?C*?hAXYgJY+^%RjuRwLco(J`D zgdd7IqslQj4z9oiQTW6KBjhzvM8> zFKVPyMVld@Fb>JwAWk+TrxSSKB_R=laj~h7GbEyRQUYKY0=ArwiL}qJ(6k|kIzgv2 zAJYCIShI+qVi1S<9Trl!(Y6qljg|eZD@F}?D+j4HFEzsq9vPB5ItH$*8O9?GPw90& z{Brt1^FbHY4Xc^6%8&MeuV&g5Ry2C1D*Y(ga+!BzDUO&wMd^=d`8P`DoRaOV!^{PK ziQKJ4n~P{o-G0!S{2DtJC3x3AT0(_jO|@fa?Om}9E?q{1TxAJx7o1&b+2m16jz2ZG zrZGG*?b$n(+(gtDKZGf?(is=$|G2wwMcCuL*5k0YgNCwJ$i!DLe*P52ft|zfPb+_x z<GM<}#CQ*t6cwkfyCyY!JxdwFIpiE@l?{VeM(OU;T2&lTu%H5jf1Q4L|( zp3Y@ZM4;VTQO4C#dDXf3P!pmmLx1Z5v817Gg&H@*QoDvE1Qt0co?n{&i_p@m zQLw}L`bm_`AQ%mY^3S)~98nyA(GcupNm4EKRYmOnUP$z4)3zwj0*ou1uc-o>qA%z2 zNZ=%je!{8HgWXS`K3doS?*DSZSH3;4l!9lgHlE9PLdsK^$V(KK9Ghj6NrY+_Uwx9i z%D_3I-e&U(cr8uVyNwlu)5Ip(W=E)NwV^|hP_)1#W7aONR-~3tg*eStkxymGE~)g+ zM8YkL2zs>MZEa59Uxt)_?WfEBpArhE=tlkjN2BMJ^Zy6?|1CZJQhx>CHThpcfl4=n!v zJstc%5AEAv2k7Ac`_K0)`M>uMAMSs>m8Tc~k3&QmfXXN+;=YWVizXVsMaHfP6a~dd z(VDG58VgnpD6V!<;@}ng{USG9v-`2QhkjF`jQZus(W2z1K++K zKiav<#wbW5fgEiP@XU=aE8pXyqVSXk4Lkz=U?k?u@!0)SSZaMM8g^b%F7H#Awcm0EFhJRn(~ktN>9+v`77ZGb{zEk{K<6leB*DY4LB z+2=zIpZA}CqiBIBLqGDDN5??@sY(^8%r07<&2zHER!qrZPF0c|h4pmO6a`wir@`Uzp zI1Yj9(NCYkA0B;WGkEaq`H?HrO?^B$fBWX`-;cm~K6((M6a^^?!44P6t;CVvz8 zyv(<6!(E_+jo9QqmI+5B{$_bPzbzgaBwc)xQiP<&3p*#ltE-OgV{}2AhmSI`Nlr zveHhxMO|Sv$Bd$Pxhf}}G4jFc6q^(&j|}YtYoIoU59TRoWxv|{tIjjkH;$=!PdaD@ zvb-*#9IZZhCH1`{Io`%Sa#iG7+Gol2y+)VGTUhA(u1jGRh4z$d-bxM0vZWTn@h=R~ zGm0ko%Sz2$p`|Y?m0HrCe728Yt`+6}%cVZOg72XaD}*_r?DH?OkLmHsoI}MxfQmyM zD_f=dI3rd@)98s+r3|X_8>auyu8ZlrnC5EHQ&k} z^8XxC48w7MQ&5Ne|KeHM|LvoBC6z%Z=(FK=53)tIg# zd8=w@*`3-RzRVA9GZ)t)b+-ix4Qr;E`fAFrK!ka%8$eSXOzjx^cTwb5+2FRO%WrY7 zUj^t@V;f6qf)``CX-JSE$=|BUtz zpO?>nM=zc|od4d+vzGmb6T+*P|3T68zqW4#QdD+-j6n8in=L^S>h*0IlrE6=@UNPZ zm^{TrCYWCeQ- zZPKf0r`s6E38ysV5-c}wlPhgl_sS;6P`ZLiF6TO3#yC}S1)`VbJ%&=xWDMP+1x^9- zV0&9tme`){O~_W`t*DJFz`c%5KsEb)+uqb5dd&N}wzq~>HnqK}X79P}ZDk8hlYo4a z7Md-qF^yyBGSgTKY7H~ZjhaN;G>-4Yc-A(AP1xVfn?�=yH#q9`?V4uyjfh`yBN& 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.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.8.3 diff --git a/stable/airsonic/1.8.3/README.md b/stable/airsonic/1.8.3/README.md new file mode 100644 index 00000000000..2e765d67741 --- /dev/null +++ b/stable/airsonic/1.8.3/README.md @@ -0,0 +1,44 @@ +# Introduction + +![Version: 1.8.2](https://img.shields.io/badge/Version-1.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/airsonic/1.8.3/app-readme.md b/stable/airsonic/1.8.3/app-readme.md new file mode 100644 index 00000000000..497aca64338 --- /dev/null +++ b/stable/airsonic/1.8.3/app-readme.md @@ -0,0 +1,4 @@ +Airsonic is a Free and Open Source community driven media server + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Airsonic is a Free and Open Source community driven media server diff --git a/stable/airsonic/1.8.3/charts/common-6.10.7.tgz b/stable/airsonic/1.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 zcmV)tK$pKCiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POw$ciT3yFpTf7kNyfQlRmZkSd{!FPOd)J`?+2xZF4tCePXA5 zpWE$8U=p%WQzVxJ<*07nzx_SbdXlXoE zNnr7p@!GiT#{HW-FvmZlqQqG`0gJr>%yacK%~CXoQ5h9DC+y9)RT|O1K!Ps{SS-Ob zE5LbCAvS!2`Wb7Js*ez z98p9P1YAG@i!$V(suC4ZmJ*Z_2DKVJJvtQu6{*H{9k1>%PNA>VS+9$aC#Z0iGuY*kz!cx{>OjpdtmWmq7`JBqls+d zU?JOc819b4r-NSoFXsOOCKW30NC33Y|AXD#gRwpTpYHBH%>Vm%E|cs6CX)dGkHByU z&JY1G1=#`>1&$G$;ADnCUZ5%d2(l^rHLa3_4n#3*e-Nb&D6||(2`&&T17bAADW=k6 z02F|_=73J@B1;lfC@?667YSmJ>aXDdhz~KJ95&LrD4_ErWZ!>;364R=uQdTT zpLBo;yg%$sU{fePADF)DF^VvuJs6-))n6CA;E0(M(CR^^ukj1eeF0SUTX zvZCK+1$eHADR;nvag)mo#>}@UDi9oDJ&O~d@ zkQ3Ms>2s7If|?*|@Eq84#tI4s;L9{C=vcue{U+(BW2w+V&=*?sYaUye=I|q^Qn-LP zp<|8J(tfW3rmTuf4uJh-Rn@xIs++@t$O!}LUut^1<2SklB`&Q1kW*H zz0N;;&)>hIuP0!CFu-$oSx;E@iw=>j#IzhAFXD$)ia@&b5qN36&#NQ>d6wXaR;RyC z*^kL!z)H!vE{5EE4%2w6+*Tq+bS)c=Z2cXGLKE=wFAfl}xGY;L)6cBtpl!b9Sv<(I z_}H401J9Hc#b4Faj+Z=+V*tVTS%H6}1SH@zi@|Y4vND1RDh7|he@P05L-3z5E|~!P z+W?9(IA!cqf^7@mN7QIeqtz-~|81 z8hVO~2&IIM0$T7{UG6oSXT`F$=%7T!0!QdLin1ytwcyWDgr^vl;ChD03>5$ZQ4~O4 z7L>EBN@8$<0GAo@0EoY2vn4dGR{+TXjAQyg+7A{?hg6j?&Szr%5lfd%4aq=N3fc5> z3et>#k`0wu5Cw3_mYE#@IUrnuOOzriUt&;|IK4F1L_p9yPar``rwalxO5T-RKvAT5 zmRGbCV^CBe0in6RTF7)8n(VpMH4z zd;;dnVGhfZYT=@}uOUtWN*B1uQYIP~u)uVDmmxS8Op+s>w(xA368KRr(v!g>aJ&u9 z|7QZ;ou5z!Y;$bSC*bRw8xX!l34$dG-%zH1`tA$&b6%FV@<&P<>j>G_H$Oao@&3*6>la*h05HWUiQl5B z{4L&`LNc4Mc@U;qj3^fd1KF!$VW3ifiZ5TooYm*G(x%BJe4aDM4Sc%mC-s-KNVPbeMLKW7{l}u6XyZ9K#Nteq+GLUk1+j&sR9TD#hkbOhv(V-l{VcRcuC{WGO)(iP8d3xq2qQi_e;#))UU0 zu3WV$Sz7R@dRyQHPSB;Us}%^wKcva>ZI+R5af0|%ufIb&15ahe7gX(o+^)u3>LM}0 zQxq+u1o>!F1$4cY&vCl21G?uvk)=yOHGmNOU%H-)1qskq8^r*pa?z){D=dd}BW2ds z)oBd{jAJY&OLS{YH4rDh(;~Y-YW6X<@ee&lD__cFUA{mmLbdk^UZ50}<&btHW`C6g z7Np9DIYnQNwk<`TuAvtw$*u>yfYO6s2~Z$+&`ry@p#UIh&^C!LYAZ-$fE{oJ$25f) zTYIi*exRQ|P*F(5^ffML^sQJ3=(_@B*Qo-2s$lcQryjrpc1ic!+$cmFN0vFF>VC>} zP`*m2g{vmiY;$maavHGr+`w{va#|yJIi;Ja^Yc@I0hd%qkJav<%?0{>ME^Nc(rcSH zIfrB>>$p&l0c99>e50O5pMgMOhk`6R;;f=BU6-O7hpcWAUEg zIm#;1C_jZbsS0#HD^N-4oq#8U+6WOte5;|ZW|@1etIu~b*cJ4L(Z0%PH`%t~;qC_h zg^l+!z9OtV+QmxZ9_ytJbi*TEzws~DODk19CPy))fd^2j4?ZshQ$(Gp(QBs94D}l8s^tjUH)2v z3BCH8C@^6rRGc=ZX$jc2zvO>wZE(!iy6$VbLFV(7O)Na8WJ(j{RwcAyt~~D0nZ^uF zBnrcDTN`)Ga7PFKoS$*P6zobcJK8p!nFg~oS=OIfEm&M3s%c9SIB4;sLA7CJ=XQZ= zI>jG3csXr(*WuD&gmtE8$*tP@O2vaFC&d2y<*8QXw8$2e2yJ(v+wZSuIGV8?_XS-! z{#D@u#k^e(Q?MVVuj29h4T!VAVQO-H;9pav0ZY&K9M9Pj$>pEFMCRW)~S}rd# zl0{h(YTwSPoWann@gL|C_F;$r|BU`|escPO*{VLgdw%*sug+IH`bn&NIlN8*q>E>L zT9L-!5|Mi5;gq0)4yAW*U$L)jp4R3bt@WJX34?AmN$uk6iOEiYSW_*{Pb|Fx3==`tVhUNoOp~b3~P53ZMQKsB2v6thBDlKMH)OjAb}k);u^bD)i>~44j=D zzj~o)t;g_IiE?(nyls#}Y0N4D*g2axfS60{D2<0zDVDG){)pn&byd0I59z$Y>F@%U zIMP_H&7VI6*EMilrrd#6DFwDEpykMBXN41xUgGqlrzlCvA&i)V0G&<2o#?4j@fLKk zv&cS^@)3B;ftUJ;74wt*4^}`2s7@gR)?V3?N0tazbwGquJ8T{=C?1sAs!*K)BIomRwGKWm#qqc`_V3GpX*t>E` zT_ARr9ie(CP&5`4ejMBzGSlYzLDqC_Yw16Kb!HEj5d1wOGjUeWTq3A=;3JFnKwf0b ze+8Po!~26ITpVyz$`gPOUt`n^Nm6PQaYrEKsl!xW2)=vwvbF}9GCe{C!BeUYOEVem zp9m)C1Qo=v>Y2m;ksN8RL2Ro=IUOq{p&V{e+TPJwPBQ7vL?v)7R%jbgg4mHTP6hQ8 z&OED9LKm5LXMYDVVtVF!8lXmPQw!u6yh>odmfjU{7WOU**QTyRLFGp0ujx0xdaBW* zP9=qRMT1tuip~7I%COa#%`5a!d38**(e1kLnKD6Z)s(5o<;0yYq8)(dIaxl(#SWWD zR5(*QxOG-DGUW?h<(Xzhq+C&R=5BoY;|UP1m9)@LI7ygTW;#u}R6g*9P;R-ZMd7?r zetru6PfY(N8J|ep)|@5P97%1;Jja)-uI>QyVf3GrocG!EJ(;2Ry!zih?1-YmDTS8& zdib@N-ldM|q9SH@@b|ANMI0d`j=NZaM?jo~YaJrCxOl3AtsOX7briFcn<3pqaH!G| zqH)Hs;x>WfYu_cDk*t812%ISAEMYO2;!6Vn+ZC0Fd3=5te%Jx=GKF&-(ItcXNK(166&OLh{%%(i3)M6*n7C0woHICU6Y&l~DPT^x*DL+(yn zpo+O=0rU}96vV z8rxlbFaUfAH5X+F%Iads&y~_r4oju9#Px)gmL`Bn35qP^I$~K}sHsD{a#&UuOux}K zR?OS!b*A5>k+O|g!}E2$C(ndl!4_-okUP&}q^3!2wz?1}eWHta-^Hl-s{p!^If=s< z)f5gng{5@c8d54sZcKuzX%p}k!T6^F6Z8XJKh2Xj$OT|FRW!<0(CrH zAwYX%Mi-n5M6MA^0Zepfr-8=mRXDBK%kagx*ls^VrX<7@*CJXkbCPshzK?iq$KG&` zVq7spLcm@BgL>V9fXwr03AWxIzaCz|=!*81@@?Ceb3*`CN1VK)C1Bd$v~H7;%$+K!wEQMNRQYvYpJk@L(aTZl{`y-U!tdI(($qv5j4g#-o#F(*yY9uYF&Cw;C zEb6i4Rl`}q;apz9X&DuoHvDg_o@(vAJ0N>+jy#i7@;|uP=-dOv@y~F3rq4ZO)?;ClPBJDaYA0OH+#1ERW0H-lt;JAVb z?WrrSU?UhYjfucCLg9cnf~i;XR!=EzX2g&{?!>MyMD#6tsjCoyp+f}hySDB>dIWwb z08=bMf=j|Ka`1LjIbP)rEZS?OsF4{uQ|7@;m(kH9`Y*?o725;)>rDL8{K5H% zE&-gf)6=C!6DX?W7HG1 z?SY0wv+2Am`2u;IU|1q`^H9hFl#&ATwUqa59+&z32?uNVLF(2)UQa)pc zAduF_D4PfJ-Szc#XuKa7x@3XMtSTZTmHQHm_+8}EbAcfo$SUd@`y=oZ0##YTBw2z2 zMcI6g(wLcIGzZ7pB~?`C2Spi35L}2OROaeN2YZCGs^qYvS%x(mT~(qYZpR_wP;@Vw;31Jt+A3dsx*#Tu0%_sq{af)d_hjO1BXKJe~ z+oDygQr=$9&S{n;*)>itIrxN5;~fCwU#pVv<3Ct}6j3n-izUD7S)h5gkn2~GEWt&= z4$R<`paOhdv-@jq@{c3#f_!bXO`y=AN zsC%xX_b^F9l5a8$Oh^2uy(drhtoSbnyNBb4_%HYI+}w=58Hk(Oq*&$|U43gaDjggu z+7pw6A$UpnjjjTvF)ElTq@sT%eBUKU61ad=|CEsvxM4~L`UnT#j6QuD+}sSgPZt6K zM;5{)3Bd3ZT?y#d(Kp~VDlWzSr!0brI98F~c4@4W%D=^OoAS*_1BKHlsp1-wpoCq+ z3_u7zv4eAg^zRksH|DhlwL;4mkqHD(LHMIYp+`#yg>ubdxuKag1Ylm2u7yJ<8cnMg z8$qC>m;&@KS6SxjAJpL`0$IyVnqDvjzk?K~F+u;PD z9ivgS6{i7a3ULCq@&c!13W7Ho0Z;_Dv5DFGs@x8Iq;Bh-COf;?^9`!m9t4%)EQb!N z-F3t;>s?-)!qf833f8D+r{(o9cc7;wT+po6d)pi4SwUdpCCF2YZxm56$7M;?e;)~6 zCZmts|Mq1{P%)+Ym6HU$5uaPqyPxLzujbpvw1BSlfA7$a|Mq16aQ|WbzmJEl|7`oC zJejCaKy33wm%odoLQJM9tw2TH0@=l{C?dk43>I}nAG$G8&fB^U;a~U7L!PrS=8RW&sCNK zmi8;&6LUzS*(X3t%<63~%1`GfVcKgt|SRPU~m?)o_oo?{n3^P_2 z^zz*TrbY+==Ga|>MbB(9Y>Ho5L%9#J4RZBMj4nd8QIcn|qZ2iFpIcu3(H_V8uk`y( zDF7Yo|Ng<#C-(aP4OSiHDge-h52(>V{iUp1syCzLqr5gVn zetf6J)McIDqDPnzIW;=0GZtRA8;bS9Y55)SSYAw?94T=iUzrCSvZOly7#dPbe&#SJI0ahR)p^O$H$0kYeT?K>GSiG$ zAVd9{f>0lr%lnqck{*g1)d6_Cy{%Cz=zULVq@-As2RfcW;21U}w9zO790-13{mbD6 zU@OKE0fFj16W_K4+h-N8s{<3W=uRp|Kkk6XB+ccsvE6x;>|V6z$TvK|yW- zsfc~G7=E<~KtK}Ss2F_&CZ8K)$I+9H3MS45N`|!!VkbqG-qYy8nuo5z&_;RZD2Px& zzR!{v6@iAw$u@f+pn|AVoyWIU!n7aSp93MQNL8eb%OrNB1TMb1Q_8#A#8_gx(C6|3J&S zVjx+#UAInlhSfSj(2*stI$I*HN6Y$py&C2fT9%F`{0^qLD2W5O31Fy=wJ-OyZu3u5 z|H~KA{rdmx?v0-|{C}PvJm`P-@i6n%%RE;d+)CdntG$LPaNzB$`*F@19uT&GZ&}+v_cZv^K27=0)wfM9 z0Uh#x{A7G+%m2ftdk^yeJ|1!Y!;&Es%B2I4OiR$@m+n&4cbwO#qZ$tQ^BmJ~Yxxg3 z{8xnr4U?j9Q2X?0P?7?tm(K-x9;@P>CA0nz;>$Jvd0^3dv;XZKjBWq#C*y;M`F}4@ zL;sVpY;URWDUZ@N1E7lP+|&Liqe^KSpnPTRujSzN?61XVO?Q)UT=qXbD2Ac8Sy|}V zZnn)vXrS$HBb1HlYa=vU*J&fXorzF&u!*j(npjs~)$%jYEI)QAZ9Z7L24$PI=S&XC zE@My2ShS5j9fPr9>`^q_k*!A~y@9gL)FbQZrXGu>pU>2zTJT`$xy|EU|3!k#O{f8# z`u|h={O|B!@4^53ULH;V*KZuHybmz1E4A+j^s=k$3rs9;Hsr|V*cKSKwHjVh4KIz} zPE%jtj=?ei>)THo+5>dV|AWJWU0eTu`sBg>doRx|{6Dqy?HhFfHLl%tdVp$F`~h7+ zS906Dy+Haxy*Lf$!*yIae@LIB1l^%4r#=^Y_;OYZ-PsBro&DT1yIelQ92SJ<&1iGj zRHeK<*bekQJt@U1{bt4K-tK_e+fUNrsrleK+37kdBVJj-qSV;24*eDp(YM*Iy86hY z<=JkN`*p?Wqir2pM1+kCZ!K2=jRC{PfYH_)1xPVa=a(LB$_grfb5k3^l-Q|D%TSr@ zJC!+$lXJk_izKz%{7PLjNnz%`0ffQ|`PJcXc62%HT zsL{K`h<2-$v18Zrc|K*rFc=2S%2ebA0qZmo5r7p{VS61_0IhR#({vdF0sd&l_X@0J z{JiE+MgkB+z=U46+~L#ZcY(UUjY32J7lyjg`|q;?|CXf$CZ}0^T#<}<;1##n6Li`C z_wD;%d%K5+PapLE`*>RQe`sm{Gc_bYp7BI4d{FrJ0hJ0b-FF*c#IYFa3Z7gDBwn0e zHf*a*q|b8rMu_xowZN#!(|z@??AoT()QuK<7l=T)W%0}?_x43KV!d68T!R>@bJn`I zXvzV(HdpjLr`D@e)yw?(GOsl&jdoW@an6F@m71^fngN*O^sQ?Lp+nKiXrOil0Qj*R zKwU-yurB~0Qs78uvwP5S%1=(;y(2imzcD@V6crIl39RoV4TWm|RxG>&a~-x-h$yer z8;;<3f#^!2A?e_57e$T*r?rJV@bV@b$%DhK+s+soI=FgPhEa;cD2=8e&PI#fKrGj9c;MAzLSQtTqm(>X*+(5qHvTxItG2mC`1Far zRGU$`8jA!v;A{4kwdB*MuU*bXcP*y;^M7;q06XUY)2D~F|M%gO{RjL1y*w+;f0!hV z`+=LV{5S58X{Yv7+g??fztQgc$+|Tlt;|9>0=X{k)H@I12@%>pF~i0=fd0L43&_NJ z)Z*dc@QW~9G8Qf$pKbZx?PcEJ%8_mJFuu0Ha(SQ#N077H$Aqf;wu?-+k5jmnKP5TVt(Dy>%?-1B7&QRd zK6j?wmqBl0H*ah10M?2B#rm;PHfUzOZ59JT9mzc^;s9)0CVwkdXeUjQp3Pvdw?WFG zPISz?Z=cMa-7#OWC+7V+VcyCA`5LVE6VcA~6>xePE`^k10BqB@bK`}QLS3A54O|y2 z-7?;+(T_`x0jR-O?X~r6S1eVR1gYx?8NzjOp>=pnW%{zU?xB9;WKWI;MWUItp~x!2 z0xrww*<~P(gZLcL!fMy{rr;V~lqjkSq=Fy!L!%GLNu#5Ta~7qONJ=&l?nxWO_39uI z*g2s&lxC)AjXUlt4dV?vDYC)?ki>s-XayLss{$}Ib50vTROOH-_s~vk*kK*XDYqW` zPPH1h+$r%jOh+68Jq>a5C~DXYD8M*nL=Xt@#|RZ9aAR`GL>5z_PNVE2hBa0zr<(0M z)AqS@1DiKzC<8oEUmDxl$GeE|CPdd)4(l3;(Fm58+Lol%4#BqEZX4@gWx{%w1EvBM*|m-M6=rA_`kCY_x7XS8VzAZvSF?d zU^ON;zb~1gWFD5Y(JafZf(ghAG!&C&AQi11{fI?J_n5YL$t8%%PXqRD=^uYIEohqPON4n`L^9hI|S2L!_? z_(dxOi%ZKhPMb&XcfjLWK4;pXHJYqtdI+LfcAbLZTYb1pzKQ|eO>a@z%4a*X0nGAw zs1jL%-$BV$ule@I&O>-(UY;NZB zP~_}%C`K}wrv&IN=}{*euSHH)=U%Wkt8UGv8-7FjIJt()l1}0&DvT85DV6msxvfb4 zj);EQSi*R$Dol=eN?T8uJIXUv*0rUu3pwtux)C4oeC#fmW?-83w-mpE>H3-#7J(ws zxcO4$@-|_}@6Fl4jU_I?R)b{T@<2oy4*Kk3JQzGw8mY)vz~kO}s5aMGhF653vVu4E zd8U(api-l!83F7j4{NV_ZQ<(a65Bj3d2r*|%;Vqx@yuHHaR2whC4ph02Q z&B+l69;aE1-s3!|+b9}$aImknJ0n??C9Dd|BW;#H)xT?>sO+V$M)f;ElZ9n)qlGFp zE%5Y>E3>3BzF!u$$y|;P`uaRiOi?cye+0H_LoY4#*lVz6<=rr>Z?0ubD{XSyvm8p| z8|LGhrAJ_kN1fn>wz=Wd3$ur1j`xi?4C3>NZmwt#C0TY=1|Z+QpNZRG0Vv}xT1T{W~bVC@b(=gr0=^$iF%ry@j?O2U|2|)7- zrp;(P1t}7v!X6X4dEFpHZ?s4|>W3h{Te6AgBz=>`%)%QOZI&oC5f`SSq-Dm)3b3Vv z=jRYo1O(ropPvToWVyY}S>p)XlqE-=$}5iQ`t;j?F6pybxUF}CPKsXH8h{+Wt4p^X zvP?S=w6SQiwO^a8Ny5QExaVfW$yYm=7i zfPWQhR*@x%*gqFAjgOOj2H#Y3@I*g@k|fA}5+@_Za8zf9oU_IWR&JiAnBSC9A?J1% z?ORnOjg#5QX!O-$^3{T!%PJB$QV#yH=oAf-f+=*7vdR#2Z+Jj=pib>e>euH+_6{Z`_``-Xo=kudZo?FzgYJ^F_4U z`P0otTzhZoz-cT_gsWsQ47SadNn)GMtny1MN}CCFYm~EQRv3;H7FKt$8X8@f_&Veq za`uwt_6(EgbUtN;!d+hByh_EXiQiGm8DK?gsR>3fSskg!yKwb+$`wMn?{I28m#sGc zoBHr+rK2Z#P}7KCuzKVI6(m4(OFgQ!O2*1-1ud|{6|57epg}`3RDs>ijW`9}5ek|$ z`vfU);M;7R0tW(5sDj21jUoKxq@G~)Z^Ow?E7oA|7oYV;%$ zu;n6Ro|)Pu4`!;;T-UYUaT(zkwZUP1<2(OjdmHo!DC*GwbvCT)gJUg!W`w_+8>yFB z-`o7^Z)*wBZHrqT>zvVN+se`>$ZfxFAp3{Of}$*=8KN{XqnJx6=+;_qb2l{>1}QsDjOYi{vL>Ui~zb7OT+B4NBvhTA{faq{-{& zJTR?B3LA!^6nl-dlICR*?E~nC?d56EQSwy=9WVSR#Ec7d}k2vD&D3& z%Eq1-a5}{i_x>^&WPEaR%2Bxur%vM;+gZGY>7~5<iGH?+_oFUDeeYzGjq& zIlCQCSwI5OZtJDNE@y>ypxpZF1kFGBxZ;M>hb3N#qT)iFmgWF?dAe%I(?+xN>LS7A z>`g}AA{Z}^<5;8)cN=osD}!h>#)Z-d1^g!@|-m}zn-6*YUfb3jsN`Qbl^JDwN3##Po~-+7&z(* zwHo2z&sH6nRf<}5peItw$rUQs&+xXlRU_pqtqIMOzLveXJ*Mm9FVCv9?fXoZk!>;8 z^|-Bm4XHICsXO+0#~S9<@Lr@bzgoFz9q)0&*i~JWh)>WVfNHV}bJGyu+_?(LHb6h|9g4t%u24D+Dz0i`wzIp3zS+mpx$;Jd$-@r!gR_6Vpj?#DMmv>jM~|k3_04B zdWj=mIqwo*(8gdZL8%F=HKIIUC79Jr5=hxAO;Z01zAFD2{54S5c==edc^mobZQaPaAp~@;|{BqX-pb^q&5Ewuxl09rAx~{M63>@^o+a zA^+pOJT9q?3ZgQ*>eg-*1fsXGTX~%trgw_q`z(o3VLC8KJHD^5mC?`;78-SppgzOe zB(4hikXT+5GOUKTxE^G~W!&jUo=My7uo~wS3ja;7q>eRcm2PF*JZV^sy8$DRH==Hh zBQA;STt!&58%GCpSi%Lw36C)L7;J-p6qOhWyso6|pXpcSKhppN!{LzaEmuxW{MZhT zavMiSZrU?V>m(_aBO^)5FcRB3cY~Q}Df$Om@&;@7rhf+)hX*K)%wqux@d_>5AQpH5 z3F-^-=Hb%SANlE6|2Gl-wbTD|_lceV{c!Ig{_Fiba{pIgv_S0s?ucI=##2BC0G{Fq z66Qt~iD1eo_HXzs8Lb_7_gKpur~X@1q|U37JVz)$$?~OkbE;m|P$teI4;Yi(IaiyjM- z*xg{J8bM z8KerJ=ErlF_W$wW-V@vYbGZAE|KnaBDnP*r_tVtzvH71tOt#H`BS7;S0-*E!uMz*_>C^G}VgBF8!{+~Sl4RH5AJqjCHZqa-KjU`L z7^R_i>N}%&U)7-WBPr>u5T59jG`yk2FK4O-$nsmZ6knj7VZuBwvb?}ld8zGw?1;_I zUb0fF^w{Keqquu~AVdyMFGDJjcqSp!zFngE0u?9OJZC}V|8qCo{g1$5rR(HqXkO(L z6tGl-K}W14&a9IeimnthO2Y9iS7S$=>|tnoB(EOoeY>55!ojZ&FZQ5eZsuu||H98} zZ3|$R{2w>%e@}KF^1t58qw9a-zQSs%pFI1ZlTY4wW#gwUgDCwj@;i8sQyl(!si59HG*#;Yi zPWsaJJos9^+GbsLaXF2U*)n^1WL?H@ke|Gbxn$*C6~ zbC|{r|34nU-6x)O!J@eeTqfBC_cm7wyX~2#xq65!Edj4(`E)oy9f2)%Wx?@TZX5U~ z!*>nm38O4#zi;}oML=5B@w zo@0Vyy00TMT!O8OCF|nnZ_a30oL;hk+}q*citL0Pa$Z2KEjUaE+6MZV{`J z(pdt?h!@nh51HCYNEPf#m@zC~=o*ATTRw5%j-mgscsAsmICYuO64hH4T={9S9N1Jr@8ca0nQeI>^Dv~9LARQEPkjOPNOG%L>2`bpV&aMHXN}n%thap9hU6&J)BV&{& z*>bLqVl7k9^Ty{J^LDTwFhuh#Es+N<`+9~}23rzH(6mYzU>D>wQNRUz*y2i000aw| z;279Ax4tU310O{$sr;wh=(OqoG62LK+kc*n8|QzAPo6yZf8EQ&q}yv$T=I1y$s(AD z6;Aj;$en=*=EA=T!Rj|&sJq~#$~{Yk0BGnl0&bnWF%}Lut+lEW6^<%f*&LHv@8dP? zFnDv?_PDM+uS&xBL3O0-0uy9YrK2-IDbJt~1hs>;q{hJHl0WR{=o`Sw0WBioD_jzO zAD%_R<53Dl3J``kN5yj-5p{9Oz5^uFVq${ko(PHzM^m+&=&FpJtE`c>!TT`m$w?tI`A)hB+C}|=qE~0 zqn{+#6ri>~5`~TaQBG;HdtR{1bn%wMLe3fk0X1d4i~F3=@`WucSL5w$+;PYevdxP#=_K zm5b7oBamn`nnCsLBz>U+oeSvEZDCkVJkE3ahQ-M&Pz)|r3mrgK>(aVl-GCS^EUr8O zdt*KO9KOBi7gC@8@r%-t`{pof;5088Qr#8!@_bLJ7o#p?1Iv(%Y z`G5C!AL2jU%X7oi51!8um_wY_`8K5`J_ah7r?PB)Gg1Z<+fk@Cvrup+5*ptEYDp5i z?+-H>CsKGCSym^^bShOLS|BV?o|Twn#Zo)DX`J?(bqKuNHXQ)i`_n2(w0Lu7om_pi z0+s2zQz#WUnPXH}C9iNAzbrveGF?-(Q$*7aeUYj_djv&?=GY9TCTWDlrHpH?@|&(l z-R5YswL4bIdU>mWZw8hGPf@gtWX^c?b4ADl08qMMm9*{26ft0hTrs z9*g@Eyqj4)m4{z|u@mu|yNh19*T{O(TYM7jmA^PWj^Sh!cZ_Tcg2jWTa1mDj;FKRr zmpO{?bjc8oIEZOh(5Z-vETvkm+QJ2GBFHTpP`c17$%#d$6~7YZumDVsz~d|HgPMeo z7v>jD%wl$T)XoX4TNdiXs;=gVAl+>1kxjuI<|^3%fSM10yff%9VQ5AQtqXaFJZ=`( zh@Zn;!qtv-?NfJAfQNJr%qe1UN=C&C-4Nwec7dhB$^xy)a5Zn_bUEyrZQ>BI4n@ro z_$Oc!qMb(2l~<4jh;(ps+lJ;?m>(OH&%sP%^=PB6o|dB1EyxZ_mU}Hn=|Zj=^~BL; z6K)sqYqZzU+k*a`G{OV%`I3@njBkxTtopRnBI8L^B4#+9_{o318 zNp2u-xZl@WIg32TBbAT>&$U6kXDLffC;l3Wo@TxVCI)UZ2mQ^BrbXR`=pws79aN9L z832BeRkH2Mc~PM^$7g`$RRNbMMFk`%2Fw_gPBY#}T2l6m$~D8L{s0(uminVKO9#xS zirJ7GW~4eUCo8Ha=BoiotFHE{NeZiIWWiA#^w=u3g68^Q?0I_Zl*->7v%MhPwROLXWk;VNqx3`Wq#h#JbQFIAZ{1GBH}N@p7UWVmeGI(G0~^ zf(i-Cc+nruEGx+yel?Gl(0;B4LvAMI->tRvbEmYdO>XLkVVpCHxDOYtR%mcUqL6QK zQIel9nSIYoS}LBWLTAh4w5$^;s2?ki79RRk_-($zskqo)E7$gC4>5FVE0ZjrbH4M9Xgz44)#Dc4V7`sL=j9(q7{*O0=6Wj+eR?=)*08W+1g62cw6(Q#?yQJA14@! zoDka2_2ovI#YkN=`}Ap`|6U(D)G~(1zt@LKvIG@%h9K?dim)FP*)^XY`rq170K4x0 zK0Ro}e}A(3aR2LG9=37jF}0P#C+|5J3SSR(k69M9D>}K1=APiP8O`05&`+~?c|x~) zBEg#>;DN(6jzu%)W)t&9i7L!ta1T)7X(Hb7+QU_CV*Kg=`bcY!3Y5mE;7+!}Udw?i z*2i5@7MY*u-apAManw)h3)Ae-$_XmtB8ZTMwyW>b@n?PhFC(SYm%$%L$2+$d)~u_~}4Z^Uv) z|27=_dB^Hs*4;c5u#}jn#$4x)SSw$X5M!a*Y!` z>t(a?b?!ceqmi1={1Sj|51qk`ko-GDCV{Kh?9x(=$RU|cL>hk9GWx>hI^+W&6Vlco z&Uu<*4+Jl_SsO@{pJmZidn;O5YV^6LmpHH~9xy#dG{9N8vo)(j&%5EehLVKJY{M{l zjuN;$Ls6E-rO}Oa8i$TTpq;G}Jk>R;0-etaRL-&_Zo;-p^aM=s9Ay>pl5BqO2{cCq zW~N~`Oyjc~V$Xeq`_Ij+|DF1uewuqrEwDrX+uODCzwPagpFHS)_wukU>W|#K**;MTO-B;}@$k2Gr0v=Jd@eT{R|0_4ahcCLzPLZ5tHOzd$g{N>(YT z-GqaD5d{K~ely&GNnZ4lP&`2?^dov!zJ|~Ox|wy(B%kRy44hQmwo;^n2!;XAlMmE8 z?rm2WVGwISJ%01eAW5UTtS;(G;>W~r19mJJ7K{SH_=hxEN;d}ns{@Kp4BAWZO?Q|C zBkX_%-WrmN$nb>Z1NkI@cz!PBqA~au5mA1B1{0+=u!u!MdbyG`6J=o~KW8>CkZ@n1UE4vPdFYx?>VZT^JGO=N2Sfa-b&B7%0 zBQ6O}FWK^83Qrbk`x-7wkQZo*3IJ1J7ROUSW{};)EfJ9phz&B2+E8}H+!}oYejqbc zT;mb}P6i7KhrsENC)`GFp|x9>x}uR;s}@U(@2$jCm8M-rYu}a?DXUMfc=2sFy~$Ji zT&ZCk*aShABI?6!GkBU6BAI;)L7g>RN~v0)Rb}#Ht?Y24T}1y>EO$Jm|~GdauGN$e+BEa;d7-7ev&qgq_M!h1US8KDY8kmSWa4QIaRIY~25A zoLG5V!VSO1h>&+P^um1kIOCRJm&=FiQjjwgSc3#J7Fcsd=x1@+xbfu+c!d5J&QLPP zmuXg@&Ex3M|He=D?f74NhldaOf9~aZ1Wq9#s7P6a2|faN=!}aBCoxVhK@OuUc!|nz z@CcmGsA|HG{7X>IP?CVlB)b4}NTL}|FLywJ5=ig@F&U-3hiN=`1X6U#9KGnoMN|9{ z#as&gbvp#iQjn#rCMAi^W02q!g@f?<+50n+6=?8CMyvnv;%)wa@?e#t-@5@8@|W;`$8+fBjh{$leY2!|^X$GeYumG8*CeWmwKwFzFCy zqYD^cqLC;(WMzjqoo2-xa&O)Le@T`JI+`Ys49kC2ut3}3uRotNH6p?PlrnqxhhRM33)FX~|Mu_P{q1+~;pbl*C4bZo5&D(&7h@SYvlx}ASfGN%z4&?j zi%IZs2rDuRx~lD3)zU0QZIz_K;&*V7WpreGV5wMJYb?O;A}0tffAguOa3dOtLEOvf zn~a=_Os$xig zjyKrUV|WNCBtS1Xxv(zJ7C>vV9CnOfkkC_kBX~uS$8!HMeO>O znQQ8yLZ$_4*l(Dz6M5PCjUY=hXU8U9shl~gry8qtD*PN$JQ3d?x|!`P(`Pssmw`RR=*J&iBMD&? zp|X6P*?`|782?mYf__LNZNKY)(AB+;Dz(#+**W}kE4C8LEP9d562h4U(9nJ$y0 z7nM9&XQ-X!IVY;C$_l&?ReZeQpS6}{aSws)h*;q($!~W_%~0Oa@KSCS@7NvL#oaF4 zwQZ@rqRX#b)!iSrSGK*e<*ulsn&lYYQm;TT#w+l!F5i!db@^4fXw_VijaKd6e6;HI zXJkoWL8`nb8)fN!Oq8WNSlHx(QL&YS4fY#Vd$Z4|)q{Bj$`c$x{iF6x#tHLC0Xyoh zx0o=fC^dm!9Cxl(&B8)A>nh(Z-g??*`dMPy?JoM3$YosVQ?lEZ(#LY*g5S$LVx_$6 z&tEHtpKl_%QtElMladsWpv$F$@V8l#;Pmoc9z&vO8hW4*=df}5YCB2}hATaTUrj?IU+EI1cIuhwEsLq$$S`RQ3)2i;S>GXOgmjlv*J3-;$KIq^hhLGEl0fC z_GdaQR{p;wDM#v#{d@X5yv#O(qy7AMe{bK8|G)cW?_m6J{(B#faPCm2z18k&{I8(xu#}A+I<~76lYrON%9o@-B$^ehAf7HqWrYa}2HS%HlLTt#bB;=K zM!!+fP(=jXFj%a3$Ud;&>{u5_eBt*fnX^}ePlLgq+Yn#$F8iAh> zND+#82Ii?evnCn1!qFATraXfvh07uCfJ}Po((1uw#y$q%I!nJM;400o0ldg60*lq%0C_5Tm;B-{Zf=>>hb!k<~K*B!0!X+oN1<8%5zcY+J^~AITf?=fa zasS9^RsbF&heWg^xF9vU!JK#Xk^YuNwAo@@CXvYaxI_87 zZB)fmR{O6<^pgd)rs7+OlQ-G*7AlJHMNwqM*0u@8xONRdZ7_TdQ#?gHn7vM)d|!s& zA+n|C#N7cwa}t~69G4|3nBEb-$;gX&PL^9ulxEF39^MXk&ofcl6+*hl-wL=^FZ30z zCfX|1b8u+g6)Cb5hM!jX?4`zFB&5_7i=P|UgB=L zO=t^P02q-9CeI;(EYm<^#>=NJCm3nt^f3sCq5pmdT%lz>@N0k$%1n%mvLlg-Ys-Ak zpoa9<)^@nXiQjHg&SoGKvLH)HYrhH#PeOz3YYe;FYh^BDY zl+P5zErc^HF3Y1bK_~|}_;&#c^gfv5T!(i-47@s=PQE}72_#meL1Y(*^ z3y+MZW2s$0v)Z?o&b0Quie`%Nk1CgG+wM##zepFim&sm{{32agKzfK~^KlF67wMuQ zr~iSLjA=?zJHga)5v7Ze|9!+hzR#xbQM%AYDMQm}z>SPnI1#b5R81E--zFJsw9P}# zl$Jd@2>1FBF%^IVR^EmB?^%{KxavWDk!8sdGphB$eZe6IqJj(g%hb`M9^^PBM+dzc zjZ@xaPmBN0i;sDNBTUpWxO>H>NYBoX&tIOrfAQu=v;TL1_4)m`Z-00lsw6xiOK0>J zP5B>Gk{&U!oMthP!`7o6HT1?P+5v%un-;M!=#76lZ??IM<8OX={^I?cGS{lhV{`uZ~l1$!nfRF88V;ue}4Msry-2zIQ`IrNCAkFsIBO{ zzDee5{E?ApE(Zj4{)!Z(Th0@wYk5{goRW?5eDB>_Jce^XTbRSMsRobab|A>9p>xmGl?s zqNk2t>z=P+&K1NfwAGl!O{Lebu)jzbJ@j>z$FQfy&ivpCfs1GKlSp2}+<`|_lJPfq z{hxWL?q6)B-dUUOU!?mT@a$Uv@3{9nAiL7h)cO5>`Tx;R?nbGG@#K2ES$u%BiThx? z7yaH&?}NH8j*jisYncBmdf^vvq%dx95A`Bl?3f5Qxr3rTu-^HDe={Xq%lSjq@5W|} zmtaG<&qm9&vEm>mfT{I64#*P_1iGd~Tg<<@^=zJ4P%0B=FHYXRIIlGu{IcEA7i79HPIA1Iz%_q$tA*JE|3(dfF3W*XM!Dzq`-&V0<)6zyIs83k^O zZTma#u#_}EO3$vI#x=J+O_DGH!5q?kl<{Q(#ybs!6CRyiUky%}wk!3#22z;>NW3g#bhG9WxeF7 zqr7nZO*Aq5JpQGlqG!dEqj(220166?HSU&3#Q66kk&{eA)M9wxSxt_>_!f$Th1huS zY3AB$1%>TzdoL2!P$KFpH~NijB{zh|FgXGr6cX*4&cq(qDu<{3h}DsAqRbjFnxR!H z02Oyn-aj(oB@oYl!eqvm{nsiY^ol67P|_oQ-@;)(l2^kfKwSrW4bx?FAmHE71nhq2 zru0n2mtK)VBev-T%$MvB#~>8ZtAqJcURjT%_O|1yt-t zFe3BZLl;_Xm@Exzj23>DDUPusAJ(y;d}FE6+&lj~qf<~|b?ez`1p5jI5={uYvdtjS zftFQ7L9=w>|1B4Noi1kCU^fnTn&eD?x{s)9QZHnb)8^4gH!>;FXM$x_M2kWJfHKq5sgwqr*4p z5DU3SX_imtAyaSjAV=roNKZ<;e+N$<@_*dR)A#-#u&(so#T7si8|V)109ue6mjHoziSLhg50E#%|3yHXUGAHJ z4W`mR&zCt`_q2vR-Xj~Xjeg66H@J`EYwCc1!)Tt)xX)$`T#d8&8qEag0j%`x!gGk` zS$c+AF8&!g%Z_4Jq14ajSEEC#uQygv=RPcHkfAqcgZwxX8QIQ!ZVNUcdJ4DOQDQ={ zkIWjklKiBo?Xiyv(|N)m;)_1-(6l>qcJ;CLvMn4cil(wxAW{{nM}q@*wqcz2+9n#e z?qo;Za=$otyCl#-V@p4r5>!lKgl<0F=yOB}9%Hb|clDI!7cZ>sae@fiVz_pIvsK%T zecY8c=opdxy+phWy|S6t!+8I>wV#K_(En#yfq$c0`Q&|`#qVK7vND2eZwET^KaBUD z?%MhPp6nky=>PZed@1_>_iE^!X7RBac$?k~bfNh(?F>A;=(kPiWMp&C(9L`Lr!Y84 z#22tcKdQr7?JBmYPpLG#l0L1w@u(l~7R1vM_h#gr#q(-H_nm~{^sS8LravwRwAb)s zYgzYp$9=WR`%oRk)HU0=AeHfYz1I)Ucvr1XMLiByB*xUqd1qM8%sVdTPr&Yui_sIX z?`|63PMje^XHL0#3&qW5t)ajecu5N6&)ojq*{Ek1>LHfrdNr?J;Tt z(2Z7`E1N)9k82OQy1@D#RxQ2K!%3>&Li`$$0!N=~C2leQ$zZ1DuDY?{ad~-i`tBXU z3I2@*kvv63gi-=8Q6Kr-Pa^v;9375*LRPh5Vm0C>i1I3!fWvX~CaTt`*Jz#<%R6pY z3zDO!w`tm(0SqSKsjqb>+57^h{nUf?JLi5{Ejx4vv@_sgEu%hr?&tghj_5vNtGzCt6vqox zz)Pgf3Jo5Mg>rb%ae=PqGO8xhj@G{I2h-u5J%;^Hq^a0!^xsbV-_zZvcKqLirw{Re z@8|ha?0+KR%%<&qHrPLteNVK#pFOX^sHXj{$xDa5Zo~I81y0Yk`|q=|{q`pJ81LZ% z(4lU6ZD4}FR-4yzT=q12{j9~>;t7Ks7c@Olefm(sO;nU?$7w8`mYpQ|11-5p;}=3Z z3LB}Nj(9dFw$$)cPQ9xeDVmN(d~TZBM+c9%HOpfFD^KlHpoAy~bNnOQE> ztC*E7q8#4yqQu)OL2`3$Rnqt91uf>k{?H^^=?{Nx@x|}Eb(O$&465rp8gvl07@9vh zT5sO>rOHejp=?%}T(U_ZB*(3I zQ#)8gmDqqX%9SpAN$XQzww^94M|nLO*8s(Wuyxw4|1eR>k z2E6vG^H*oB7NgT5Tj2Os5xLh`l}V!3WctUEWB=A#u~b|;;(rbuwLOa<z45I0#M`!t)td8pW#j*VJFwMg$Ugq=IpjH^7A3BDpFIqh>($DU6#~q+Ydl!*o zA9TI-biJ0voh}<|*inqo6G@wM8%fHu97Ww~A_voAF(64v2bT^`05=UF9bi_swdjZ` zDsLbLTYpmPYFiuzj}FynT0NWFtR8I<7;Y1s^_FC8()iMEtUcWQ`eGl$|074m9G4~S z?)SfD7n||}>G1zJJUo12`F|Wf89&5-xR>Wk@&7ojhu(i@7n^ni@j(AGd4rfN=;svT zV_VZV#LHlYxm{t1(r9eQr%&4(6W^c5}%UB;R1 zmxrV4Ri1?eyJFZngQ z@a;*y&$27AANlX>!rF@rVMVf`w)D52^U?{o%HBkyYQ5Voen8!(zgFqQL)MkYX>7#= z-fR|ofySRDS^5WA^Wl#zS#B>QZYPu4B#X1ou3()E5!IU6HryrziKGeeuSHAq!jhu@xZg7$zu9#%4Td#y{w3CH`9yC$k-iql2+Ba#tUrlnuSyM|o z$>wvI#$C68Yjvil4zh~wv4YOAx~{RBjKDxl^sGQL?d>Hjpsc3^*VMep; zIt9bGVDjYf8TeZC*Vjx>us+do{dH#+WIw0m<(52)&rnnqm@H4Sl%S9PjZ5?9wnO)9 zfD2)gWY?z!Uf={>q8DWZ6Lu9<<}EXTcrY~>AMFO{WDJPOqce_DRXbi0D?Ij{7kd|&>npQ_2ure!m z038gi+-G1d)*rJ0cDH=zIBIjV#aK9ryvXVfmB!12|aG+b^J%jZXi7cE-~`-@y4AJ_3FN zKtK0+^*AyCXy%QOE5h~-Is=*IG3!VmC=wN(RnsZ{=*`&Og?0zHicn?whXpDM9HXOQ zJ8cc3-e{HG2^uy)R5Ou+i)%(Q!avLIAzws2J&V^S8e(U>ty|3J zGm;hXl71>TkrKv#r&hzWVz!rCO>rIH1O!7zRuT4Xlk=z4a60CXMUo?t=UD_3^grL8 zZCKbCbe)|Xzj`sGNc^PXk3&&s7|~ZlpEP2_Qpx4JA$ZtA=!4{0Rr0tNy<3T&mMx|+ z*N=|q>|5dPV~xZJK&-)Rah_lQ)}w}J2dqiVhW3T#{x6F+9sBPuo%_H2y{CJ2{=b9q zlf8%i-+eq^%>FNnH@?}^K>n$Ac3IqW8>chKv1c>*NB@)o%-2!o{0@?|7|`-#wd!#0 ze0>bY1ne4$PmUry#rzI)Ym&D@W=Gi9)dB%?|4*h4e1U1Vd;8VUH#;3kxeI?Ve*dng zF(cSTL`1H$;_3^S6zpl887WSjbK{&U%T8%*Fwty^PHeI4!J{`>>cl19KZt`rtT<3(U_D`Q9LJcF29p!zR)*lEN(fL*|ryyB2Z?jgQ>(gKF?iu&hPdb$Shp`1tgty8wMK?KA&p z`V3hdzzGNvc!82KXe|uD6r&`5i>B>BwX!_S_8bvN85nXbtn!E3F9hG*_Hw7KAbPYz zc~{Qbrb%~nHWhT){lBFcYq@P#U$0}+Az%r`31ly{K@@!YtRmTz%m3CQc~Rf%T16hK z%W`eUAL@!$J1;!y8Dp}*v*r1b3JK7eM!wUOB5NzcGa zYBe(mv@vzYO}dR{s;z2FqEjvEwoBW}OOd&(thXl3myQ*QzA^k-Rz;%wh_G|@MhO^2 zs4QP+^!r-`;F^^z`J)(dHnMb5S68b;pbN3$aP`+={-FWgNJ- zsB5hpUhCFt6ys_RTH;gV-_R>O$HcdE)CvFjTShU5duLI2gOe>o4of*B25_)xw>VCqCHxymZ;>NG$)*joT}{l5H(!zI z`iwP@wE>J{b|9iV#s3Tz0?bb3GETZvQewct@MCSQ!b5E$^QqUsIveic7H72tm z!+EE4?ltL@CC(Y3;5jZ(M5rk5ZjpfYCo^2SqJcGogsBdFFkn6yFdqzGI4ejgQ@pstzU|i`ik*u|25>I2} zq_kR>>Li>|ZpuSQde*6ctM5-P3I61O$S+ z+ScS)>%YM0KWqO&w=U!FaNxd-BU9%H_+QKh=l(=}-5Whcz23jKbOdVRv;@0rZfo&8 z%)0ur;i~B0By~w{6Hc48%qVG_&P*^~J6dfkR||qsQ?yf^JGZY9%Cc62)y-?V9C0rW zR{V`xnzUs#adOq)>8|RnxlDi|y5*SgGm8xhtwMKlT6YUP5jqs$9i1vYS&XxV&6prf zhBLAJxmmr+M$EDKT7U7+I?0Jo^=AP^A zt!>!-?|&Kh|3tpUP2U0R$p5l`c+j~2_jG^!aR2Wv9NqUt*9XRdI_7*GChWMvgmeu1kXeT9lf^bdbYmKgup z_}N&WxV>7=0r=W3zBXH5m+B#2wAK?<@8}l9wsh08v5|8a&h^ip8(}?&WZPXonJht* zO{IszFZ}YSCa28V+{dKNbM=4PNkq$*O6h7Z0tX?-ipl2=x1l+ZCCEeBS4eVfHb z;R?1R&-RXQ>2%a}9NLx?{e8jL!`g?Woocgx@!;o_np4 zP$nQaKRLC09`gi8n9%p0E2BPflnbaw9Of$6zCS-dT~YWcY^?6;=+0JK5Dau@E8=_i z{PxVGb=}zbmoHaRKZwgsi%Z%0K4~Tg&HA$JI88Ic(mZTHA@^qpsj*l^~JX_@n#@wbka>g3W%ooDijII!>j576)7U93~?qcn?nCD%V>t!b|jb) zl9$SL1l*Cd^lE=SmQcdd)7lTfx z6P-MdYlqn#mjU76C4X>n_U3DD!ZuJ=y}e=^YA=84^Q9c{|f*B|Nq!>UvB_} F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/airsonic/1.8.3/ix_values.yaml b/stable/airsonic/1.8.3/ix_values.yaml new file mode 100644 index 00000000000..8771a6489cf --- /dev/null +++ b/stable/airsonic/1.8.3/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/stable/airsonic/1.8.3/questions.yaml b/stable/airsonic/1.8.3/questions.yaml new file mode 100644 index 00000000000..fd2e0507bc1 --- /dev/null +++ b/stable/airsonic/1.8.3/questions.yaml @@ -0,0 +1,651 @@ +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 + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/airsonic/1.8.3/templates/common.yaml b/stable/airsonic/1.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/airsonic/1.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/airsonic/1.8.3/test_values.yaml b/stable/airsonic/1.8.3/test_values.yaml new file mode 100644 index 00000000000..a704a092be3 --- /dev/null +++ b/stable/airsonic/1.8.3/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/stable/airsonic/1.8.3/values.yaml b/stable/airsonic/1.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/appdaemon/3.8.3/CONFIG.md b/stable/appdaemon/3.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/appdaemon/3.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/appdaemon/3.8.3/Chart.lock b/stable/appdaemon/3.8.3/Chart.lock new file mode 100644 index 00000000000..242a5f1ab5e --- /dev/null +++ b/stable/appdaemon/3.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:35:56.795226073Z" diff --git a/stable/appdaemon/3.8.3/Chart.yaml b/stable/appdaemon/3.8.3/Chart.yaml new file mode 100644 index 00000000000..aa319e63d3a --- /dev/null +++ b/stable/appdaemon/3.8.3/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: v4.0.8 +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/appdaemon/3.8.3/README.md b/stable/appdaemon/3.8.3/README.md new file mode 100644 index 00000000000..4d025e9bdcb --- /dev/null +++ b/stable/appdaemon/3.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 3.8.2](https://img.shields.io/badge/Version-3.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/appdaemon/3.8.3/app-readme.md b/stable/appdaemon/3.8.3/app-readme.md new file mode 100644 index 00000000000..0fa940d8b6f --- /dev/null +++ b/stable/appdaemon/3.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/appdaemon/3.8.3/charts/common-6.10.7.tgz b/stable/appdaemon/3.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/appdaemon/3.8.3/ix_values.yaml b/stable/appdaemon/3.8.3/ix_values.yaml new file mode 100644 index 00000000000..37a0ce9a4bc --- /dev/null +++ b/stable/appdaemon/3.8.3/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.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/stable/appdaemon/3.8.3/questions.yaml b/stable/appdaemon/3.8.3/questions.yaml new file mode 100644 index 00000000000..074621512b9 --- /dev/null +++ b/stable/appdaemon/3.8.3/questions.yaml @@ -0,0 +1,623 @@ +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: "" + valid_chars: '^[0-9]{1,}\.{1}[0-9]{1,}$' + required: true + - variable: LONGITUDE + label: "Longitude" + description: "Longitude of your home assistant instance" + schema: + type: string + default: "" + valid_chars: '^[0-9]{1,}\.{1}[0-9]{1,}$' + 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 + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/appdaemon/3.8.3/templates/common.yaml b/stable/appdaemon/3.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/appdaemon/3.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/appdaemon/3.8.3/test_values.yaml b/stable/appdaemon/3.8.3/test_values.yaml new file mode 100644 index 00000000000..c17735094cc --- /dev/null +++ b/stable/appdaemon/3.8.3/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/stable/appdaemon/3.8.3/values.yaml b/stable/appdaemon/3.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/bazarr/6.8.3/CONFIG.md b/stable/bazarr/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/bazarr/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/bazarr/6.8.3/Chart.lock b/stable/bazarr/6.8.3/Chart.lock new file mode 100644 index 00000000000..1fdf5b75880 --- /dev/null +++ b/stable/bazarr/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:36:00.731581797Z" diff --git a/stable/bazarr/6.8.3/Chart.yaml b/stable/bazarr/6.8.3/Chart.yaml new file mode 100644 index 00000000000..434f33c16b5 --- /dev/null +++ b/stable/bazarr/6.8.3/Chart.yaml @@ -0,0 +1,32 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/bazarr/6.8.3/README.md b/stable/bazarr/6.8.3/README.md new file mode 100644 index 00000000000..d8ed25c5712 --- /dev/null +++ b/stable/bazarr/6.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/bazarr/6.8.3/app-readme.md b/stable/bazarr/6.8.3/app-readme.md new file mode 100644 index 00000000000..f4b7ce82a42 --- /dev/null +++ b/stable/bazarr/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/bazarr/6.8.3/charts/common-6.10.7.tgz b/stable/bazarr/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/bazarr/6.8.3/ix_values.yaml b/stable/bazarr/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..c6397b4077e --- /dev/null +++ b/stable/bazarr/6.8.3/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.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/stable/bazarr/6.8.3/questions.yaml b/stable/bazarr/6.8.3/questions.yaml new file mode 100644 index 00000000000..d8c84d279a3 --- /dev/null +++ b/stable/bazarr/6.8.3/questions.yaml @@ -0,0 +1,687 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/bazarr/6.8.3/templates/common.yaml b/stable/bazarr/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/bazarr/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/bazarr/6.8.3/test_values.yaml b/stable/bazarr/6.8.3/test_values.yaml new file mode 100644 index 00000000000..b40962936a7 --- /dev/null +++ b/stable/bazarr/6.8.3/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Bazarr. + +image: + repository: ghcr.io/k8s-at-home/bazarr + pullPolicy: IfNotPresent + tag: v0.9.7 + +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/stable/bazarr/6.8.3/values.yaml b/stable/bazarr/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/booksonic-air/1.6.3/CONFIG.md b/stable/booksonic-air/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/booksonic-air/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/booksonic-air/1.6.3/Chart.lock b/stable/booksonic-air/1.6.3/Chart.lock new file mode 100644 index 00000000000..71e71e65045 --- /dev/null +++ b/stable/booksonic-air/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:36:04.671433557Z" diff --git a/stable/booksonic-air/1.6.3/Chart.yaml b/stable/booksonic-air/1.6.3/Chart.yaml new file mode 100644 index 00000000000..1181535c27f --- /dev/null +++ b/stable/booksonic-air/1.6.3/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/booksonic-air/1.6.3/README.md b/stable/booksonic-air/1.6.3/README.md new file mode 100644 index 00000000000..908d9c444d5 --- /dev/null +++ b/stable/booksonic-air/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/booksonic-air/1.6.3/app-readme.md b/stable/booksonic-air/1.6.3/app-readme.md new file mode 100644 index 00000000000..9a471b5ea13 --- /dev/null +++ b/stable/booksonic-air/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +Booksonic is a platform for accessing the audibooks you own wherever you are + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Booksonic is a platform for accessing the audibooks you own wherever diff --git a/stable/booksonic-air/1.6.3/charts/common-6.10.7.tgz b/stable/booksonic-air/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/booksonic-air/1.6.3/ix_values.yaml b/stable/booksonic-air/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..d4514d8f9dd --- /dev/null +++ b/stable/booksonic-air/1.6.3/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/stable/booksonic-air/1.6.3/questions.yaml b/stable/booksonic-air/1.6.3/questions.yaml new file mode 100644 index 00000000000..4d5db3bb593 --- /dev/null +++ b/stable/booksonic-air/1.6.3/questions.yaml @@ -0,0 +1,649 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/booksonic-air/1.6.3/templates/common.yaml b/stable/booksonic-air/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/booksonic-air/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/booksonic-air/1.6.3/test_values.yaml b/stable/booksonic-air/1.6.3/test_values.yaml new file mode 100644 index 00000000000..ce0c5310b0f --- /dev/null +++ b/stable/booksonic-air/1.6.3/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/stable/booksonic-air/1.6.3/values.yaml b/stable/booksonic-air/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/calibre-web/6.8.3/CONFIG.md b/stable/calibre-web/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/calibre-web/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/calibre-web/6.8.3/Chart.lock b/stable/calibre-web/6.8.3/Chart.lock new file mode 100644 index 00000000000..d9032b51cad --- /dev/null +++ b/stable/calibre-web/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:36:12.843740369Z" diff --git a/stable/calibre-web/6.8.3/Chart.yaml b/stable/calibre-web/6.8.3/Chart.yaml new file mode 100644 index 00000000000..fd428d055de --- /dev/null +++ b/stable/calibre-web/6.8.3/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/calibre-web/6.8.3/README.md b/stable/calibre-web/6.8.3/README.md new file mode 100644 index 00000000000..9c3f3a309b0 --- /dev/null +++ b/stable/calibre-web/6.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/calibre-web/6.8.3/app-readme.md b/stable/calibre-web/6.8.3/app-readme.md new file mode 100644 index 00000000000..af83432d07c --- /dev/null +++ b/stable/calibre-web/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/calibre-web/6.8.3/charts/common-6.10.7.tgz b/stable/calibre-web/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/calibre-web/6.8.3/ix_values.yaml b/stable/calibre-web/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..1f6e24d1545 --- /dev/null +++ b/stable/calibre-web/6.8.3/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/stable/calibre-web/6.8.3/questions.yaml b/stable/calibre-web/6.8.3/questions.yaml new file mode 100644 index 00000000000..1bdd2af798e --- /dev/null +++ b/stable/calibre-web/6.8.3/questions.yaml @@ -0,0 +1,648 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/calibre-web/6.8.3/templates/common.yaml b/stable/calibre-web/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/calibre-web/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/calibre-web/6.8.3/test_values.yaml b/stable/calibre-web/6.8.3/test_values.yaml new file mode 100644 index 00000000000..240957f08b5 --- /dev/null +++ b/stable/calibre-web/6.8.3/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/stable/calibre-web/6.8.3/values.yaml b/stable/calibre-web/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/calibre/1.6.3/CONFIG.md b/stable/calibre/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/calibre/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/calibre/1.6.3/Chart.lock b/stable/calibre/1.6.3/Chart.lock new file mode 100644 index 00000000000..f9acf61b245 --- /dev/null +++ b/stable/calibre/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:36:08.836558795Z" diff --git a/stable/calibre/1.6.3/Chart.yaml b/stable/calibre/1.6.3/Chart.yaml new file mode 100644 index 00000000000..660a9383e24 --- /dev/null +++ b/stable/calibre/1.6.3/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/calibre/1.6.3/README.md b/stable/calibre/1.6.3/README.md new file mode 100644 index 00000000000..a27191f83f4 --- /dev/null +++ b/stable/calibre/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/calibre/1.6.3/app-readme.md b/stable/calibre/1.6.3/app-readme.md new file mode 100644 index 00000000000..0fa01f56f15 --- /dev/null +++ b/stable/calibre/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +Calibre is a powerful and easy to use e-book manager. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Calibre is a powerful and easy to use e-book manager. diff --git a/stable/calibre/1.6.3/charts/common-6.10.7.tgz b/stable/calibre/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/calibre/1.6.3/ix_values.yaml b/stable/calibre/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..6f533c9dff8 --- /dev/null +++ b/stable/calibre/1.6.3/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.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/stable/calibre/1.6.3/questions.yaml b/stable/calibre/1.6.3/questions.yaml new file mode 100644 index 00000000000..4dc1e7771c4 --- /dev/null +++ b/stable/calibre/1.6.3/questions.yaml @@ -0,0 +1,764 @@ +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 + - 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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/calibre/1.6.3/templates/common.yaml b/stable/calibre/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..c53fdc73fbd --- /dev/null +++ b/stable/calibre/1.6.3/templates/common.yaml @@ -0,0 +1,3 @@ +--- + +{{ include "common.all" . }} diff --git a/stable/calibre/1.6.3/test_values.yaml b/stable/calibre/1.6.3/test_values.yaml new file mode 100644 index 00000000000..72038bfa8b8 --- /dev/null +++ b/stable/calibre/1.6.3/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.25.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/stable/calibre/1.6.3/values.yaml b/stable/calibre/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/collabora-online/6.8.3/CONFIG.md b/stable/collabora-online/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/collabora-online/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/collabora-online/6.8.3/Chart.lock new file mode 100644 index 00000000000..b7faf5db3c4 --- /dev/null +++ b/stable/collabora-online/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:36:16.893712844Z" diff --git a/stable/collabora-online/6.8.3/Chart.yaml b/stable/collabora-online/6.8.3/Chart.yaml new file mode 100644 index 00000000000..1be472d1904 --- /dev/null +++ b/stable/collabora-online/6.8.3/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/collabora-online/6.8.3/README.md b/stable/collabora-online/6.8.3/README.md new file mode 100644 index 00000000000..15dcba20797 --- /dev/null +++ b/stable/collabora-online/6.8.3/README.md @@ -0,0 +1,44 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/collabora-online/6.8.3/app-readme.md new file mode 100644 index 00000000000..1e3bedd43a5 --- /dev/null +++ b/stable/collabora-online/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/collabora-online/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/collabora-online/6.8.3/ix_values.yaml b/stable/collabora-online/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..7aeb071aae8 --- /dev/null +++ b/stable/collabora-online/6.8.3/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.10.10 + 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.8.3/questions.yaml b/stable/collabora-online/6.8.3/questions.yaml new file mode 100644 index 00000000000..542501c7384 --- /dev/null +++ b/stable/collabora-online/6.8.3/questions.yaml @@ -0,0 +1,564 @@ +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' + valid_chars: '^([a-z]{1,}\\{1}\.{1}[a-z]{1,}\\{1}\.{1}[a-z]{1,}\|{0,1})*$' + 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: "" + valid_chars: "[a-zA-Z0-9!@#$%^&*?]{8,}" + 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: DONT_GEN_SSL_CERT + label: "DONT_GEN_SSL_CERT" + description: "When set to true it does NOT generate an SSL cert, you have to use your own" + schema: + type: string + default: "true" + enum: + - value: "true" + description: "true" + - value: "" + description: "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' + valid_chars: '^[a-z]{1,}\\{1}\.{1}[a-z]{1,}\\{1}\.{1}[a-z]{1,}$' + # 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 + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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.8.3/templates/common.yaml b/stable/collabora-online/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/collabora-online/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/collabora-online/6.8.3/test_values.yaml b/stable/collabora-online/6.8.3/test_values.yaml new file mode 100644 index 00000000000..2bbc50b4948 --- /dev/null +++ b/stable/collabora-online/6.8.3/test_values.yaml @@ -0,0 +1,22 @@ +image: + repository: collabora/code + tag: 6.4.10.10 + 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.8.3/values.yaml b/stable/collabora-online/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/deconz/1.6.3/CONFIG.md b/stable/deconz/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/deconz/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/deconz/1.6.3/Chart.lock b/stable/deconz/1.6.3/Chart.lock new file mode 100644 index 00000000000..4ec1903304d --- /dev/null +++ b/stable/deconz/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:36:20.774620084Z" diff --git a/stable/deconz/1.6.3/Chart.yaml b/stable/deconz/1.6.3/Chart.yaml new file mode 100644 index 00000000000..bcb47251eb6 --- /dev/null +++ b/stable/deconz/1.6.3/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/deconz/1.6.3/README.md b/stable/deconz/1.6.3/README.md new file mode 100644 index 00000000000..219e80c4436 --- /dev/null +++ b/stable/deconz/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/deconz/1.6.3/app-readme.md b/stable/deconz/1.6.3/app-readme.md new file mode 100644 index 00000000000..a986a5c28af --- /dev/null +++ b/stable/deconz/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +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. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +deCONZ is an easy to use control software, with which you can set up diff --git a/stable/deconz/1.6.3/charts/common-6.10.7.tgz b/stable/deconz/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/deconz/1.6.3/ix_values.yaml b/stable/deconz/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..bc0f860f664 --- /dev/null +++ b/stable/deconz/1.6.3/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.06 + +## +# 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/deconz/1.6.3/questions.yaml b/stable/deconz/1.6.3/questions.yaml new file mode 100644 index 00000000000..f270abed02b --- /dev/null +++ b/stable/deconz/1.6.3/questions.yaml @@ -0,0 +1,868 @@ +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 + - 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 + - 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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/deconz/1.6.3/templates/common.yaml b/stable/deconz/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/deconz/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/deconz/1.6.3/test_values.yaml b/stable/deconz/1.6.3/test_values.yaml new file mode 100644 index 00000000000..bfade9c14fc --- /dev/null +++ b/stable/deconz/1.6.3/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.06 + # -- 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/stable/deconz/1.6.3/values.yaml b/stable/deconz/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/deepstack-cpu/4.8.3/CONFIG.md b/stable/deepstack-cpu/4.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/deepstack-cpu/4.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/deepstack-cpu/4.8.3/Chart.lock new file mode 100644 index 00000000000..d261513c5c5 --- /dev/null +++ b/stable/deepstack-cpu/4.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:36:24.867292779Z" diff --git a/stable/deepstack-cpu/4.8.3/Chart.yaml b/stable/deepstack-cpu/4.8.3/Chart.yaml new file mode 100644 index 00000000000..0707e403032 --- /dev/null +++ b/stable/deepstack-cpu/4.8.3/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/deepstack-cpu/4.8.3/README.md b/stable/deepstack-cpu/4.8.3/README.md new file mode 100644 index 00000000000..6d795de874e --- /dev/null +++ b/stable/deepstack-cpu/4.8.3/README.md @@ -0,0 +1,44 @@ +# Introduction + +![Version: 4.8.2](https://img.shields.io/badge/Version-4.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/deepstack-cpu/4.8.3/app-readme.md new file mode 100644 index 00000000000..0f75582169b --- /dev/null +++ b/stable/deepstack-cpu/4.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/deepstack-cpu/4.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/deepstack-cpu/4.8.3/ix_values.yaml b/stable/deepstack-cpu/4.8.3/ix_values.yaml new file mode 100644 index 00000000000..4bff0fb6e80 --- /dev/null +++ b/stable/deepstack-cpu/4.8.3/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.8.3/questions.yaml b/stable/deepstack-cpu/4.8.3/questions.yaml new file mode 100644 index 00000000000..47f99d6b9d6 --- /dev/null +++ b/stable/deepstack-cpu/4.8.3/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: + # 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 + + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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.8.3/templates/common.yaml b/stable/deepstack-cpu/4.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/deepstack-cpu/4.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/deepstack-cpu/4.8.3/test_values.yaml b/stable/deepstack-cpu/4.8.3/test_values.yaml new file mode 100644 index 00000000000..939cd7e6ce4 --- /dev/null +++ b/stable/deepstack-cpu/4.8.3/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.8.3/values.yaml b/stable/deepstack-cpu/4.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/deluge/6.8.3/CONFIG.md b/stable/deluge/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/deluge/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/deluge/6.8.3/Chart.lock b/stable/deluge/6.8.3/Chart.lock new file mode 100644 index 00000000000..01f13c7c6ce --- /dev/null +++ b/stable/deluge/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:36:28.787798263Z" diff --git a/stable/deluge/6.8.3/Chart.yaml b/stable/deluge/6.8.3/Chart.yaml new file mode 100644 index 00000000000..b8aa94d09ae --- /dev/null +++ b/stable/deluge/6.8.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/deluge/6.8.3/README.md b/stable/deluge/6.8.3/README.md new file mode 100644 index 00000000000..8095b0b83b8 --- /dev/null +++ b/stable/deluge/6.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/deluge/6.8.3/app-readme.md b/stable/deluge/6.8.3/app-readme.md new file mode 100644 index 00000000000..e078f25b8c3 --- /dev/null +++ b/stable/deluge/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/deluge/6.8.3/charts/common-6.10.7.tgz b/stable/deluge/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/deluge/6.8.3/ix_values.yaml b/stable/deluge/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..14051dceb23 --- /dev/null +++ b/stable/deluge/6.8.3/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/stable/deluge/6.8.3/questions.yaml b/stable/deluge/6.8.3/questions.yaml new file mode 100644 index 00000000000..4b03098cd93 --- /dev/null +++ b/stable/deluge/6.8.3/questions.yaml @@ -0,0 +1,763 @@ +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 + - 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 + - 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 + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/deluge/6.8.3/templates/common.yaml b/stable/deluge/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/deluge/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/deluge/6.8.3/test_values.yaml b/stable/deluge/6.8.3/test_values.yaml new file mode 100644 index 00000000000..3c8f28d1d26 --- /dev/null +++ b/stable/deluge/6.8.3/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/stable/deluge/6.8.3/values.yaml b/stable/deluge/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/dizquetv/1.6.3/CONFIG.md b/stable/dizquetv/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/dizquetv/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/dizquetv/1.6.3/Chart.lock b/stable/dizquetv/1.6.3/Chart.lock new file mode 100644 index 00000000000..736b1492713 --- /dev/null +++ b/stable/dizquetv/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:36:32.710270863Z" diff --git a/stable/dizquetv/1.6.3/Chart.yaml b/stable/dizquetv/1.6.3/Chart.yaml new file mode 100644 index 00000000000..6227823bae6 --- /dev/null +++ b/stable/dizquetv/1.6.3/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/dizquetv/1.6.3/README.md b/stable/dizquetv/1.6.3/README.md new file mode 100644 index 00000000000..b667f7c27d3 --- /dev/null +++ b/stable/dizquetv/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/dizquetv/1.6.3/app-readme.md b/stable/dizquetv/1.6.3/app-readme.md new file mode 100644 index 00000000000..368ab69afef --- /dev/null +++ b/stable/dizquetv/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +Create live TV channel streams from media on your Plex servers. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Create live TV channel streams from media on your Plex servers. diff --git a/stable/dizquetv/1.6.3/charts/common-6.10.7.tgz b/stable/dizquetv/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/dizquetv/1.6.3/ix_values.yaml b/stable/dizquetv/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..4bc21c65fd5 --- /dev/null +++ b/stable/dizquetv/1.6.3/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/stable/dizquetv/1.6.3/questions.yaml b/stable/dizquetv/1.6.3/questions.yaml new file mode 100644 index 00000000000..82f051d2338 --- /dev/null +++ b/stable/dizquetv/1.6.3/questions.yaml @@ -0,0 +1,649 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/dizquetv/1.6.3/templates/common.yaml b/stable/dizquetv/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/dizquetv/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/dizquetv/1.6.3/test_values.yaml b/stable/dizquetv/1.6.3/test_values.yaml new file mode 100644 index 00000000000..f1674bd5277 --- /dev/null +++ b/stable/dizquetv/1.6.3/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/stable/dizquetv/1.6.3/values.yaml b/stable/dizquetv/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/duplicati/1.6.3/CONFIG.md b/stable/duplicati/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/duplicati/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/duplicati/1.6.3/Chart.lock b/stable/duplicati/1.6.3/Chart.lock new file mode 100644 index 00000000000..c32918f9bd3 --- /dev/null +++ b/stable/duplicati/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:36:36.655924128Z" diff --git a/stable/duplicati/1.6.3/Chart.yaml b/stable/duplicati/1.6.3/Chart.yaml new file mode 100644 index 00000000000..85bc5ecba8f --- /dev/null +++ b/stable/duplicati/1.6.3/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/duplicati/1.6.3/README.md b/stable/duplicati/1.6.3/README.md new file mode 100644 index 00000000000..b75dfda8af4 --- /dev/null +++ b/stable/duplicati/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/duplicati/1.6.3/app-readme.md b/stable/duplicati/1.6.3/app-readme.md new file mode 100644 index 00000000000..071db847f8e --- /dev/null +++ b/stable/duplicati/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +Store securely encrypted backups on cloud storage services! + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Store securely encrypted backups on cloud storage services! diff --git a/stable/duplicati/1.6.3/charts/common-6.10.7.tgz b/stable/duplicati/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/duplicati/1.6.3/ix_values.yaml b/stable/duplicati/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..ab1c03b2bc8 --- /dev/null +++ b/stable/duplicati/1.6.3/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/stable/duplicati/1.6.3/questions.yaml b/stable/duplicati/1.6.3/questions.yaml new file mode 100644 index 00000000000..a77997e96df --- /dev/null +++ b/stable/duplicati/1.6.3/questions.yaml @@ -0,0 +1,649 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/duplicati/1.6.3/templates/common.yaml b/stable/duplicati/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/duplicati/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/duplicati/1.6.3/test_values.yaml b/stable/duplicati/1.6.3/test_values.yaml new file mode 100644 index 00000000000..62520af8ea5 --- /dev/null +++ b/stable/duplicati/1.6.3/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/stable/duplicati/1.6.3/values.yaml b/stable/duplicati/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/emby/6.8.3/CONFIG.md b/stable/emby/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/emby/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/emby/6.8.3/Chart.lock new file mode 100644 index 00000000000..7f23faf53e9 --- /dev/null +++ b/stable/emby/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:36:40.600026364Z" diff --git a/stable/emby/6.8.3/Chart.yaml b/stable/emby/6.8.3/Chart.yaml new file mode 100644 index 00000000000..3b68dee338f --- /dev/null +++ b/stable/emby/6.8.3/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/emby/6.8.3/README.md b/stable/emby/6.8.3/README.md new file mode 100644 index 00000000000..1eed6e89afc --- /dev/null +++ b/stable/emby/6.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/emby/6.8.3/app-readme.md new file mode 100644 index 00000000000..15ade62a292 --- /dev/null +++ b/stable/emby/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/emby/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/emby/6.8.3/ix_values.yaml b/stable/emby/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..62b028de9c7 --- /dev/null +++ b/stable/emby/6.8.3/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/emby + pullPolicy: IfNotPresent + tag: v4.6.4.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/emby/6.8.3/questions.yaml b/stable/emby/6.8.3/questions.yaml new file mode 100644 index 00000000000..4e07f8682f7 --- /dev/null +++ b/stable/emby/6.8.3/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" +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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.8.3/templates/common.yaml b/stable/emby/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/emby/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/emby/6.8.3/test_values.yaml b/stable/emby/6.8.3/test_values.yaml new file mode 100644 index 00000000000..f5966485665 --- /dev/null +++ b/stable/emby/6.8.3/test_values.yaml @@ -0,0 +1,29 @@ +# Default values for emby. + +image: + repository: ghcr.io/k8s-at-home/emby + pullPolicy: IfNotPresent + tag: v4.6.4.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.8.3/values.yaml b/stable/emby/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/esphome/6.8.3/CONFIG.md b/stable/esphome/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/esphome/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/esphome/6.8.3/Chart.lock new file mode 100644 index 00000000000..da5c466a61d --- /dev/null +++ b/stable/esphome/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:36:44.572629298Z" diff --git a/stable/esphome/6.8.3/Chart.yaml b/stable/esphome/6.8.3/Chart.yaml new file mode 100644 index 00000000000..22c2fd089af --- /dev/null +++ b/stable/esphome/6.8.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/esphome/6.8.3/README.md b/stable/esphome/6.8.3/README.md new file mode 100644 index 00000000000..01d48c90b21 --- /dev/null +++ b/stable/esphome/6.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/esphome/6.8.3/app-readme.md new file mode 100644 index 00000000000..561699f8df7 --- /dev/null +++ b/stable/esphome/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/esphome/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/esphome/6.8.3/ix_values.yaml b/stable/esphome/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..812b6219a1d --- /dev/null +++ b/stable/esphome/6.8.3/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: 2021.8.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/stable/esphome/6.8.3/questions.yaml b/stable/esphome/6.8.3/questions.yaml new file mode 100644 index 00000000000..0440443ef66 --- /dev/null +++ b/stable/esphome/6.8.3/questions.yaml @@ -0,0 +1,790 @@ +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 + # 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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.8.3/templates/common.yaml b/stable/esphome/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/esphome/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/esphome/6.8.3/test_values.yaml b/stable/esphome/6.8.3/test_values.yaml new file mode 100644 index 00000000000..e992c8a4c0f --- /dev/null +++ b/stable/esphome/6.8.3/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for esphome. + +image: + repository: esphome/esphome + pullPolicy: IfNotPresent + tag: 2021.8.1 + +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.8.3/values.yaml b/stable/esphome/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/external-service/1.1.4/CONFIG.md b/stable/external-service/1.1.4/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/external-service/1.1.4/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/external-service/1.1.4/Chart.lock b/stable/external-service/1.1.4/Chart.lock new file mode 100644 index 00000000000..9d5c2555efe --- /dev/null +++ b/stable/external-service/1.1.4/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:36:48.540775721Z" diff --git a/stable/external-service/1.1.4/Chart.yaml b/stable/external-service/1.1.4/Chart.yaml new file mode 100644 index 00000000000..72ef6cf9931 --- /dev/null +++ b/stable/external-service/1.1.4/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +deprecated: false +description: Allow external services to be used like Apps. +home: https://github.com/truecharts/apps/tree/master/charts/stable/external-service +icon: https://truecharts.org/_static/img/external-service-icon.png +keywords: +- external-service +- reverse-proxy +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: external-service +sources: +- https://github.com/truecharts/apps/tree/master/charts/stable/external-service +type: application +version: 1.1.4 diff --git a/stable/external-service/1.1.4/README.md b/stable/external-service/1.1.4/README.md new file mode 100644 index 00000000000..175896eab8a --- /dev/null +++ b/stable/external-service/1.1.4/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-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) + +Allow external services to be used like 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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/external-service/1.1.4/app-readme.md b/stable/external-service/1.1.4/app-readme.md new file mode 100644 index 00000000000..c61beedadb5 --- /dev/null +++ b/stable/external-service/1.1.4/app-readme.md @@ -0,0 +1,4 @@ +Allow external services to be used like Apps. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Allow external services to be used like Apps. diff --git a/stable/external-service/1.1.4/charts/common-6.10.7.tgz b/stable/external-service/1.1.4/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/external-service/1.1.4/ix_values.yaml b/stable/external-service/1.1.4/ix_values.yaml new file mode 100644 index 00000000000..64d5a513ed3 --- /dev/null +++ b/stable/external-service/1.1.4/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. +## + +# Disable Deployment +controller: + 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/stable/external-service/1.1.4/questions.yaml b/stable/external-service/1.1.4/questions.yaml new file mode 100644 index 00000000000..6de04f9c293 --- /dev/null +++ b/stable/external-service/1.1.4/questions.yaml @@ -0,0 +1,245 @@ +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: 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: "ExternalIP gets connected to using an IP and port, ExternalName gets connected to using a domain name" + schema: + type: string + default: "ExternalIP" + enum: + - value: "ExternalName" + description: "ExternalName" + - value: "ExternalIP" + description: "ExternalIP" + - variable: externalName + label: "External Service Domainname" + description: "Domainname of External service" + schema: + show_if: [["type", "=", "ExternalName"]] + type: string + default: "google.com" + - variable: externalIP + label: "External Service IP" + description: "IP of External service" + schema: + show_if: [["type", "=", "ExternalIP"]] + type: string + default: "1.1.1.1" + - 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: "Service Port" + description: "Both the external service port and internal service port will be the same" + schema: + type: int + default: 80 + + - 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: annotations + label: "annoations" + schema: + type: dict + hidden: true + attrs: + - variable: traefik.frontend.passHostHeader + label: "passHostHeader" + schema: + type: string + default: "false" + hidden: true + - 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 diff --git a/stable/external-service/1.1.4/templates/common.yaml b/stable/external-service/1.1.4/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/external-service/1.1.4/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/external-service/1.1.4/test_values.yaml b/stable/external-service/1.1.4/test_values.yaml new file mode 100644 index 00000000000..337035f6b5b --- /dev/null +++ b/stable/external-service/1.1.4/test_values.yaml @@ -0,0 +1,15 @@ +# Default values for Jackett. + +# Disable Deployment +controller: + enabled: false + +service: + main: + enabled: true + type: ExternalIP + externalIP: "1.1.1.1" + ports: + main: + Type: HTTPS + port: 443 diff --git a/stable/external-service/1.1.4/values.yaml b/stable/external-service/1.1.4/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/fireflyiii/5.3.3/CONFIG.md b/stable/fireflyiii/5.3.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/fireflyiii/5.3.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/fireflyiii/5.3.3/Chart.lock b/stable/fireflyiii/5.3.3/Chart.lock new file mode 100644 index 00000000000..8f321f0a308 --- /dev/null +++ b/stable/fireflyiii/5.3.3/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +- name: postgresql + repository: https://truecharts.org/ + version: 1.1.0 +digest: sha256:bfb287d37915d4e0a276787d4c3624a28b5d65086a10290dd5f78a22f57a1e2d +generated: "2021-08-28T12:36:53.263251645Z" diff --git a/stable/fireflyiii/5.3.3/Chart.yaml b/stable/fireflyiii/5.3.3/Chart.yaml new file mode 100644 index 00000000000..cee81e169a2 --- /dev/null +++ b/stable/fireflyiii/5.3.3/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +- condition: postgresql.enabled + name: postgresql + repository: https://truecharts.org/ + version: 1.1.0 +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: 5.3.3 diff --git a/stable/fireflyiii/5.3.3/README.md b/stable/fireflyiii/5.3.3/README.md new file mode 100644 index 00000000000..beb9512f40f --- /dev/null +++ b/stable/fireflyiii/5.3.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 5.3.2](https://img.shields.io/badge/Version-5.3.2-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://truecharts.org/ | common | 6.10.6 | +| https://truecharts.org/ | postgresql | 1.1.0 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/fireflyiii/5.3.3/app-readme.md b/stable/fireflyiii/5.3.3/app-readme.md new file mode 100644 index 00000000000..51ef9c43a7d --- /dev/null +++ b/stable/fireflyiii/5.3.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/fireflyiii/5.3.3/charts/common-6.10.7.tgz b/stable/fireflyiii/5.3.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/fireflyiii/5.3.3/charts/postgresql-1.1.0.tgz b/stable/fireflyiii/5.3.3/charts/postgresql-1.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..e02064f4a0fbbba046f937023554def8f68481d6 GIT binary patch literal 29484 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.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.6.3 diff --git a/stable/flaresolverr/1.6.3/README.md b/stable/flaresolverr/1.6.3/README.md new file mode 100644 index 00000000000..352a407321a --- /dev/null +++ b/stable/flaresolverr/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/flaresolverr/1.6.3/app-readme.md b/stable/flaresolverr/1.6.3/app-readme.md new file mode 100644 index 00000000000..2ffce9f89c3 --- /dev/null +++ b/stable/flaresolverr/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +FlareSolverr is a proxy server to bypass Cloudflare protection + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +FlareSolverr is a proxy server to bypass Cloudflare protection diff --git a/stable/flaresolverr/1.6.3/charts/common-6.10.7.tgz b/stable/flaresolverr/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/flaresolverr/1.6.3/ix_values.yaml b/stable/flaresolverr/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..8d6938f0aa1 --- /dev/null +++ b/stable/flaresolverr/1.6.3/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.9 + +## +# 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/flaresolverr/1.6.3/questions.yaml b/stable/flaresolverr/1.6.3/questions.yaml new file mode 100644 index 00000000000..4b41aebab51 --- /dev/null +++ b/stable/flaresolverr/1.6.3/questions.yaml @@ -0,0 +1,686 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/flaresolverr/1.6.3/templates/common.yaml b/stable/flaresolverr/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/flaresolverr/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/flaresolverr/1.6.3/test_values.yaml b/stable/flaresolverr/1.6.3/test_values.yaml new file mode 100644 index 00000000000..5e136cec6b7 --- /dev/null +++ b/stable/flaresolverr/1.6.3/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.9 + +# -- 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/stable/flaresolverr/1.6.3/values.yaml b/stable/flaresolverr/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/flood/1.6.3/CONFIG.md b/stable/flood/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/flood/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/flood/1.6.3/Chart.lock b/stable/flood/1.6.3/Chart.lock new file mode 100644 index 00000000000..0c15ef72930 --- /dev/null +++ b/stable/flood/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:37:02.224451662Z" diff --git a/stable/flood/1.6.3/Chart.yaml b/stable/flood/1.6.3/Chart.yaml new file mode 100644 index 00000000000..521952ca44b --- /dev/null +++ b/stable/flood/1.6.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/flood/1.6.3/README.md b/stable/flood/1.6.3/README.md new file mode 100644 index 00000000000..e48679348da --- /dev/null +++ b/stable/flood/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/flood/1.6.3/app-readme.md b/stable/flood/1.6.3/app-readme.md new file mode 100644 index 00000000000..1b74a178f8a --- /dev/null +++ b/stable/flood/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +Flood is a monitoring service for various torrent clients + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Flood is a monitoring service for various torrent clients diff --git a/stable/flood/1.6.3/charts/common-6.10.7.tgz b/stable/flood/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/flood/1.6.3/ci/ct-values.yaml b/stable/flood/1.6.3/ci/ct-values.yaml new file mode 100644 index 00000000000..f874292fadf --- /dev/null +++ b/stable/flood/1.6.3/ci/ct-values.yaml @@ -0,0 +1,5 @@ +persistence: + data: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi diff --git a/stable/flood/1.6.3/ix_values.yaml b/stable/flood/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..8ea3b077107 --- /dev/null +++ b/stable/flood/1.6.3/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.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/stable/flood/1.6.3/questions.yaml b/stable/flood/1.6.3/questions.yaml new file mode 100644 index 00000000000..51263f03aca --- /dev/null +++ b/stable/flood/1.6.3/questions.yaml @@ -0,0 +1,693 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/flood/1.6.3/templates/common.yaml b/stable/flood/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/flood/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/flood/1.6.3/test_values.yaml b/stable/flood/1.6.3/test_values.yaml new file mode 100644 index 00000000000..49bb5ec800a --- /dev/null +++ b/stable/flood/1.6.3/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.1 + +# -- 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/stable/flood/1.6.3/values.yaml b/stable/flood/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/focalboard/1.6.3/CONFIG.md b/stable/focalboard/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/focalboard/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/focalboard/1.6.3/Chart.lock b/stable/focalboard/1.6.3/Chart.lock new file mode 100644 index 00000000000..f72fb59ac78 --- /dev/null +++ b/stable/focalboard/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:37:06.245206857Z" diff --git a/stable/focalboard/1.6.3/Chart.yaml b/stable/focalboard/1.6.3/Chart.yaml new file mode 100644 index 00000000000..e8cd1c23b0c --- /dev/null +++ b/stable/focalboard/1.6.3/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/focalboard/1.6.3/README.md b/stable/focalboard/1.6.3/README.md new file mode 100644 index 00000000000..f6b7ee3b79b --- /dev/null +++ b/stable/focalboard/1.6.3/README.md @@ -0,0 +1,44 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/focalboard/1.6.3/app-readme.md b/stable/focalboard/1.6.3/app-readme.md new file mode 100644 index 00000000000..81d01c25ab0 --- /dev/null +++ b/stable/focalboard/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Focalboard is an open source, self-hosted alternative to Trello, Notion, diff --git a/stable/focalboard/1.6.3/charts/common-6.10.7.tgz b/stable/focalboard/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/focalboard/1.6.3/ix_values.yaml b/stable/focalboard/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..d0913f04ee9 --- /dev/null +++ b/stable/focalboard/1.6.3/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.8.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/focalboard/1.6.3/questions.yaml b/stable/focalboard/1.6.3/questions.yaml new file mode 100644 index 00000000000..bf14b299135 --- /dev/null +++ b/stable/focalboard/1.6.3/questions.yaml @@ -0,0 +1,686 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/focalboard/1.6.3/templates/common.yaml b/stable/focalboard/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/focalboard/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/focalboard/1.6.3/test_values.yaml b/stable/focalboard/1.6.3/test_values.yaml new file mode 100644 index 00000000000..9f58880a4f5 --- /dev/null +++ b/stable/focalboard/1.6.3/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.8.0 + +# -- 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/stable/focalboard/1.6.3/values.yaml b/stable/focalboard/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/freeradius/1.4.3/CONFIG.md b/stable/freeradius/1.4.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/freeradius/1.4.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/freeradius/1.4.3/Chart.lock b/stable/freeradius/1.4.3/Chart.lock new file mode 100644 index 00000000000..b8dcdfc3c92 --- /dev/null +++ b/stable/freeradius/1.4.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:37:10.194726126Z" diff --git a/stable/freeradius/1.4.3/Chart.yaml b/stable/freeradius/1.4.3/Chart.yaml new file mode 100644 index 00000000000..106d73e851c --- /dev/null +++ b/stable/freeradius/1.4.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +deprecated: false +description: OpenSource Radius implementation +home: https://www.openldap.org +icon: https://networkradius.com/assets/img/FR-NR.svg +keywords: +- radius +- auth +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: freeradius +sources: +- https://hub.docker.com/r/freeradius/freeradius-server/ +- https://freeradius.org/ +type: application +version: 1.4.3 diff --git a/stable/freeradius/1.4.3/README.md b/stable/freeradius/1.4.3/README.md new file mode 100644 index 00000000000..c237807a10c --- /dev/null +++ b/stable/freeradius/1.4.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.4.2](https://img.shields.io/badge/Version-1.4.2-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) + +OpenSource Radius 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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/freeradius/1.4.3/app-readme.md b/stable/freeradius/1.4.3/app-readme.md new file mode 100644 index 00000000000..a967f8ba6ae --- /dev/null +++ b/stable/freeradius/1.4.3/app-readme.md @@ -0,0 +1,4 @@ +OpenSource Radius implementation + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +OpenSource Radius implementation diff --git a/stable/freeradius/1.4.3/charts/common-6.10.7.tgz b/stable/freeradius/1.4.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/freeradius/1.4.3/ix_values.yaml b/stable/freeradius/1.4.3/ix_values.yaml new file mode 100644 index 00000000000..5f5b3bc0697 --- /dev/null +++ b/stable/freeradius/1.4.3/ix_values.yaml @@ -0,0 +1,34 @@ +## +# 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/freeradius + pullPolicy: IfNotPresent + tag: v3.0.23 + +# -- Probe configuration +# -- [[ref]](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) +# @default -- See below +probes: + # -- Liveness probe configuration + # @default -- See below + liveness: + enabled: false + + # -- Redainess probe configuration + # @default -- See below + readiness: + enabled: false + + # -- Startup probe configuration + # @default -- See below + 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/stable/freeradius/1.4.3/questions.yaml b/stable/freeradius/1.4.3/questions.yaml new file mode 100644 index 00000000000..ecaa0eff5d7 --- /dev/null +++ b/stable/freeradius/1.4.3/questions.yaml @@ -0,0 +1,619 @@ +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: "Statefulset" + 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: "RollingUpdate" + 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: "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: 1812 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 1812 + 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: 36096 + - variable: administration + label: "administration Service" + description: "The administration 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: 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: "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: 1813 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 1813 + 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: 36097 + + - 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 Config." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/freeradius/1.4.3/templates/common.yaml b/stable/freeradius/1.4.3/templates/common.yaml new file mode 100644 index 00000000000..64e027ac0fa --- /dev/null +++ b/stable/freeradius/1.4.3/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/stable/freeradius/1.4.3/test_values.yaml b/stable/freeradius/1.4.3/test_values.yaml new file mode 100644 index 00000000000..8159592eed5 --- /dev/null +++ b/stable/freeradius/1.4.3/test_values.yaml @@ -0,0 +1,47 @@ +# Default values for Bitwarden. + +image: + repository: ghcr.io/truecharts/freeradius + pullPolicy: IfNotPresent + tag: v3.0.23 + +service: + main: + ports: + main: + protocol: UDP + port: 1812 + accounting: + ports: + accounting: + protocol: UDP + port: 1813 + +# -- Probe configuration +# -- [[ref]](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) +# @default -- See below +probes: + # -- Liveness probe configuration + # @default -- See below + liveness: + enabled: false + + # -- Redainess probe configuration + # @default -- See below + readiness: + enabled: false + + # -- Startup probe configuration + # @default -- See below + startup: + enabled: false + +env: {} + +persistence: + config: + enabled: true + mountPath: "/config" + type: pvc + accessMode: ReadWriteOnce + size: "100Gi" diff --git a/stable/freeradius/1.4.3/values.yaml b/stable/freeradius/1.4.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/freshrss/6.8.3/CONFIG.md b/stable/freshrss/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/freshrss/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/freshrss/6.8.3/Chart.lock b/stable/freshrss/6.8.3/Chart.lock new file mode 100644 index 00000000000..57338b43437 --- /dev/null +++ b/stable/freshrss/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:37:14.108279433Z" diff --git a/stable/freshrss/6.8.3/Chart.yaml b/stable/freshrss/6.8.3/Chart.yaml new file mode 100644 index 00000000000..cac0f70157b --- /dev/null +++ b/stable/freshrss/6.8.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/freshrss/6.8.3/README.md b/stable/freshrss/6.8.3/README.md new file mode 100644 index 00000000000..a2b03a39d4f --- /dev/null +++ b/stable/freshrss/6.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/freshrss/6.8.3/app-readme.md b/stable/freshrss/6.8.3/app-readme.md new file mode 100644 index 00000000000..e0a7bf6bef9 --- /dev/null +++ b/stable/freshrss/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/freshrss/6.8.3/charts/common-6.10.7.tgz b/stable/freshrss/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 zcmV)tK$pKCiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POw$ciT3yFpTf7kNyfQlRmZkSd{!FPOd)J`?+2xZF4tCePXA5 zpWE$8U=p%WQzVxJ<*07nzx_SbdXlXoE zNnr7p@!GiT#{HW-FvmZlqQqG`0gJr>%yacK%~CXoQ5h9DC+y9)RT|O1K!Ps{SS-Ob zE5LbCAvS!2`Wb7Js*ez z98p9P1YAG@i!$V(suC4ZmJ*Z_2DKVJJvtQu6{*H{9k1>%PNA>VS+9$aC#Z0iGuY*kz!cx{>OjpdtmWmq7`JBqls+d zU?JOc819b4r-NSoFXsOOCKW30NC33Y|AXD#gRwpTpYHBH%>Vm%E|cs6CX)dGkHByU z&JY1G1=#`>1&$G$;ADnCUZ5%d2(l^rHLa3_4n#3*e-Nb&D6||(2`&&T17bAADW=k6 z02F|_=73J@B1;lfC@?667YSmJ>aXDdhz~KJ95&LrD4_ErWZ!>;364R=uQdTT zpLBo;yg%$sU{fePADF)DF^VvuJs6-))n6CA;E0(M(CR^^ukj1eeF0SUTX zvZCK+1$eHADR;nvag)mo#>}@UDi9oDJ&O~d@ zkQ3Ms>2s7If|?*|@Eq84#tI4s;L9{C=vcue{U+(BW2w+V&=*?sYaUye=I|q^Qn-LP zp<|8J(tfW3rmTuf4uJh-Rn@xIs++@t$O!}LUut^1<2SklB`&Q1kW*H zz0N;;&)>hIuP0!CFu-$oSx;E@iw=>j#IzhAFXD$)ia@&b5qN36&#NQ>d6wXaR;RyC z*^kL!z)H!vE{5EE4%2w6+*Tq+bS)c=Z2cXGLKE=wFAfl}xGY;L)6cBtpl!b9Sv<(I z_}H401J9Hc#b4Faj+Z=+V*tVTS%H6}1SH@zi@|Y4vND1RDh7|he@P05L-3z5E|~!P z+W?9(IA!cqf^7@mN7QIeqtz-~|81 z8hVO~2&IIM0$T7{UG6oSXT`F$=%7T!0!QdLin1ytwcyWDgr^vl;ChD03>5$ZQ4~O4 z7L>EBN@8$<0GAo@0EoY2vn4dGR{+TXjAQyg+7A{?hg6j?&Szr%5lfd%4aq=N3fc5> z3et>#k`0wu5Cw3_mYE#@IUrnuOOzriUt&;|IK4F1L_p9yPar``rwalxO5T-RKvAT5 zmRGbCV^CBe0in6RTF7)8n(VpMH4z zd;;dnVGhfZYT=@}uOUtWN*B1uQYIP~u)uVDmmxS8Op+s>w(xA368KRr(v!g>aJ&u9 z|7QZ;ou5z!Y;$bSC*bRw8xX!l34$dG-%zH1`tA$&b6%FV@<&P<>j>G_H$Oao@&3*6>la*h05HWUiQl5B z{4L&`LNc4Mc@U;qj3^fd1KF!$VW3ifiZ5TooYm*G(x%BJe4aDM4Sc%mC-s-KNVPbeMLKW7{l}u6XyZ9K#Nteq+GLUk1+j&sR9TD#hkbOhv(V-l{VcRcuC{WGO)(iP8d3xq2qQi_e;#))UU0 zu3WV$Sz7R@dRyQHPSB;Us}%^wKcva>ZI+R5af0|%ufIb&15ahe7gX(o+^)u3>LM}0 zQxq+u1o>!F1$4cY&vCl21G?uvk)=yOHGmNOU%H-)1qskq8^r*pa?z){D=dd}BW2ds z)oBd{jAJY&OLS{YH4rDh(;~Y-YW6X<@ee&lD__cFUA{mmLbdk^UZ50}<&btHW`C6g z7Np9DIYnQNwk<`TuAvtw$*u>yfYO6s2~Z$+&`ry@p#UIh&^C!LYAZ-$fE{oJ$25f) zTYIi*exRQ|P*F(5^ffML^sQJ3=(_@B*Qo-2s$lcQryjrpc1ic!+$cmFN0vFF>VC>} zP`*m2g{vmiY;$maavHGr+`w{va#|yJIi;Ja^Yc@I0hd%qkJav<%?0{>ME^Nc(rcSH zIfrB>>$p&l0c99>e50O5pMgMOhk`6R;;f=BU6-O7hpcWAUEg zIm#;1C_jZbsS0#HD^N-4oq#8U+6WOte5;|ZW|@1etIu~b*cJ4L(Z0%PH`%t~;qC_h zg^l+!z9OtV+QmxZ9_ytJbi*TEzws~DODk19CPy))fd^2j4?ZshQ$(Gp(QBs94D}l8s^tjUH)2v z3BCH8C@^6rRGc=ZX$jc2zvO>wZE(!iy6$VbLFV(7O)Na8WJ(j{RwcAyt~~D0nZ^uF zBnrcDTN`)Ga7PFKoS$*P6zobcJK8p!nFg~oS=OIfEm&M3s%c9SIB4;sLA7CJ=XQZ= zI>jG3csXr(*WuD&gmtE8$*tP@O2vaFC&d2y<*8QXw8$2e2yJ(v+wZSuIGV8?_XS-! z{#D@u#k^e(Q?MVVuj29h4T!VAVQO-H;9pav0ZY&K9M9Pj$>pEFMCRW)~S}rd# zl0{h(YTwSPoWann@gL|C_F;$r|BU`|escPO*{VLgdw%*sug+IH`bn&NIlN8*q>E>L zT9L-!5|Mi5;gq0)4yAW*U$L)jp4R3bt@WJX34?AmN$uk6iOEiYSW_*{Pb|Fx3==`tVhUNoOp~b3~P53ZMQKsB2v6thBDlKMH)OjAb}k);u^bD)i>~44j=D zzj~o)t;g_IiE?(nyls#}Y0N4D*g2axfS60{D2<0zDVDG){)pn&byd0I59z$Y>F@%U zIMP_H&7VI6*EMilrrd#6DFwDEpykMBXN41xUgGqlrzlCvA&i)V0G&<2o#?4j@fLKk zv&cS^@)3B;ftUJ;74wt*4^}`2s7@gR)?V3?N0tazbwGquJ8T{=C?1sAs!*K)BIomRwGKWm#qqc`_V3GpX*t>E` zT_ARr9ie(CP&5`4ejMBzGSlYzLDqC_Yw16Kb!HEj5d1wOGjUeWTq3A=;3JFnKwf0b ze+8Po!~26ITpVyz$`gPOUt`n^Nm6PQaYrEKsl!xW2)=vwvbF}9GCe{C!BeUYOEVem zp9m)C1Qo=v>Y2m;ksN8RL2Ro=IUOq{p&V{e+TPJwPBQ7vL?v)7R%jbgg4mHTP6hQ8 z&OED9LKm5LXMYDVVtVF!8lXmPQw!u6yh>odmfjU{7WOU**QTyRLFGp0ujx0xdaBW* zP9=qRMT1tuip~7I%COa#%`5a!d38**(e1kLnKD6Z)s(5o<;0yYq8)(dIaxl(#SWWD zR5(*QxOG-DGUW?h<(Xzhq+C&R=5BoY;|UP1m9)@LI7ygTW;#u}R6g*9P;R-ZMd7?r zetru6PfY(N8J|ep)|@5P97%1;Jja)-uI>QyVf3GrocG!EJ(;2Ry!zih?1-YmDTS8& zdib@N-ldM|q9SH@@b|ANMI0d`j=NZaM?jo~YaJrCxOl3AtsOX7briFcn<3pqaH!G| zqH)Hs;x>WfYu_cDk*t812%ISAEMYO2;!6Vn+ZC0Fd3=5te%Jx=GKF&-(ItcXNK(166&OLh{%%(i3)M6*n7C0woHICU6Y&l~DPT^x*DL+(yn zpo+O=0rU}96vV z8rxlbFaUfAH5X+F%Iads&y~_r4oju9#Px)gmL`Bn35qP^I$~K}sHsD{a#&UuOux}K zR?OS!b*A5>k+O|g!}E2$C(ndl!4_-okUP&}q^3!2wz?1}eWHta-^Hl-s{p!^If=s< z)f5gng{5@c8d54sZcKuzX%p}k!T6^F6Z8XJKh2Xj$OT|FRW!<0(CrH zAwYX%Mi-n5M6MA^0Zepfr-8=mRXDBK%kagx*ls^VrX<7@*CJXkbCPshzK?iq$KG&` zVq7spLcm@BgL>V9fXwr03AWxIzaCz|=!*81@@?Ceb3*`CN1VK)C1Bd$v~H7;%$+K!wEQMNRQYvYpJk@L(aTZl{`y-U!tdI(($qv5j4g#-o#F(*yY9uYF&Cw;C zEb6i4Rl`}q;apz9X&DuoHvDg_o@(vAJ0N>+jy#i7@;|uP=-dOv@y~F3rq4ZO)?;ClPBJDaYA0OH+#1ERW0H-lt;JAVb z?WrrSU?UhYjfucCLg9cnf~i;XR!=EzX2g&{?!>MyMD#6tsjCoyp+f}hySDB>dIWwb z08=bMf=j|Ka`1LjIbP)rEZS?OsF4{uQ|7@;m(kH9`Y*?o725;)>rDL8{K5H% zE&-gf)6=C!6DX?W7HG1 z?SY0wv+2Am`2u;IU|1q`^H9hFl#&ATwUqa59+&z32?uNVLF(2)UQa)pc zAduF_D4PfJ-Szc#XuKa7x@3XMtSTZTmHQHm_+8}EbAcfo$SUd@`y=oZ0##YTBw2z2 zMcI6g(wLcIGzZ7pB~?`C2Spi35L}2OROaeN2YZCGs^qYvS%x(mT~(qYZpR_wP;@Vw;31Jt+A3dsx*#Tu0%_sq{af)d_hjO1BXKJe~ z+oDygQr=$9&S{n;*)>itIrxN5;~fCwU#pVv<3Ct}6j3n-izUD7S)h5gkn2~GEWt&= z4$R<`paOhdv-@jq@{c3#f_!bXO`y=AN zsC%xX_b^F9l5a8$Oh^2uy(drhtoSbnyNBb4_%HYI+}w=58Hk(Oq*&$|U43gaDjggu z+7pw6A$UpnjjjTvF)ElTq@sT%eBUKU61ad=|CEsvxM4~L`UnT#j6QuD+}sSgPZt6K zM;5{)3Bd3ZT?y#d(Kp~VDlWzSr!0brI98F~c4@4W%D=^OoAS*_1BKHlsp1-wpoCq+ z3_u7zv4eAg^zRksH|DhlwL;4mkqHD(LHMIYp+`#yg>ubdxuKag1Ylm2u7yJ<8cnMg z8$qC>m;&@KS6SxjAJpL`0$IyVnqDvjzk?K~F+u;PD z9ivgS6{i7a3ULCq@&c!13W7Ho0Z;_Dv5DFGs@x8Iq;Bh-COf;?^9`!m9t4%)EQb!N z-F3t;>s?-)!qf833f8D+r{(o9cc7;wT+po6d)pi4SwUdpCCF2YZxm56$7M;?e;)~6 zCZmts|Mq1{P%)+Ym6HU$5uaPqyPxLzujbpvw1BSlfA7$a|Mq16aQ|WbzmJEl|7`oC zJejCaKy33wm%odoLQJM9tw2TH0@=l{C?dk43>I}nAG$G8&fB^U;a~U7L!PrS=8RW&sCNK zmi8;&6LUzS*(X3t%<63~%1`GfVcKgt|SRPU~m?)o_oo?{n3^P_2 z^zz*TrbY+==Ga|>MbB(9Y>Ho5L%9#J4RZBMj4nd8QIcn|qZ2iFpIcu3(H_V8uk`y( zDF7Yo|Ng<#C-(aP4OSiHDge-h52(>V{iUp1syCzLqr5gVn zetf6J)McIDqDPnzIW;=0GZtRA8;bS9Y55)SSYAw?94T=iUzrCSvZOly7#dPbe&#SJI0ahR)p^O$H$0kYeT?K>GSiG$ zAVd9{f>0lr%lnqck{*g1)d6_Cy{%Cz=zULVq@-As2RfcW;21U}w9zO790-13{mbD6 zU@OKE0fFj16W_K4+h-N8s{<3W=uRp|Kkk6XB+ccsvE6x;>|V6z$TvK|yW- zsfc~G7=E<~KtK}Ss2F_&CZ8K)$I+9H3MS45N`|!!VkbqG-qYy8nuo5z&_;RZD2Px& zzR!{v6@iAw$u@f+pn|AVoyWIU!n7aSp93MQNL8eb%OrNB1TMb1Q_8#A#8_gx(C6|3J&S zVjx+#UAInlhSfSj(2*stI$I*HN6Y$py&C2fT9%F`{0^qLD2W5O31Fy=wJ-OyZu3u5 z|H~KA{rdmx?v0-|{C}PvJm`P-@i6n%%RE;d+)CdntG$LPaNzB$`*F@19uT&GZ&}+v_cZv^K27=0)wfM9 z0Uh#x{A7G+%m2ftdk^yeJ|1!Y!;&Es%B2I4OiR$@m+n&4cbwO#qZ$tQ^BmJ~Yxxg3 z{8xnr4U?j9Q2X?0P?7?tm(K-x9;@P>CA0nz;>$Jvd0^3dv;XZKjBWq#C*y;M`F}4@ zL;sVpY;URWDUZ@N1E7lP+|&Liqe^KSpnPTRujSzN?61XVO?Q)UT=qXbD2Ac8Sy|}V zZnn)vXrS$HBb1HlYa=vU*J&fXorzF&u!*j(npjs~)$%jYEI)QAZ9Z7L24$PI=S&XC zE@My2ShS5j9fPr9>`^q_k*!A~y@9gL)FbQZrXGu>pU>2zTJT`$xy|EU|3!k#O{f8# z`u|h={O|B!@4^53ULH;V*KZuHybmz1E4A+j^s=k$3rs9;Hsr|V*cKSKwHjVh4KIz} zPE%jtj=?ei>)THo+5>dV|AWJWU0eTu`sBg>doRx|{6Dqy?HhFfHLl%tdVp$F`~h7+ zS906Dy+Haxy*Lf$!*yIae@LIB1l^%4r#=^Y_;OYZ-PsBro&DT1yIelQ92SJ<&1iGj zRHeK<*bekQJt@U1{bt4K-tK_e+fUNrsrleK+37kdBVJj-qSV;24*eDp(YM*Iy86hY z<=JkN`*p?Wqir2pM1+kCZ!K2=jRC{PfYH_)1xPVa=a(LB$_grfb5k3^l-Q|D%TSr@ zJC!+$lXJk_izKz%{7PLjNnz%`0ffQ|`PJcXc62%HT zsL{K`h<2-$v18Zrc|K*rFc=2S%2ebA0qZmo5r7p{VS61_0IhR#({vdF0sd&l_X@0J z{JiE+MgkB+z=U46+~L#ZcY(UUjY32J7lyjg`|q;?|CXf$CZ}0^T#<}<;1##n6Li`C z_wD;%d%K5+PapLE`*>RQe`sm{Gc_bYp7BI4d{FrJ0hJ0b-FF*c#IYFa3Z7gDBwn0e zHf*a*q|b8rMu_xowZN#!(|z@??AoT()QuK<7l=T)W%0}?_x43KV!d68T!R>@bJn`I zXvzV(HdpjLr`D@e)yw?(GOsl&jdoW@an6F@m71^fngN*O^sQ?Lp+nKiXrOil0Qj*R zKwU-yurB~0Qs78uvwP5S%1=(;y(2imzcD@V6crIl39RoV4TWm|RxG>&a~-x-h$yer z8;;<3f#^!2A?e_57e$T*r?rJV@bV@b$%DhK+s+soI=FgPhEa;cD2=8e&PI#fKrGj9c;MAzLSQtTqm(>X*+(5qHvTxItG2mC`1Far zRGU$`8jA!v;A{4kwdB*MuU*bXcP*y;^M7;q06XUY)2D~F|M%gO{RjL1y*w+;f0!hV z`+=LV{5S58X{Yv7+g??fztQgc$+|Tlt;|9>0=X{k)H@I12@%>pF~i0=fd0L43&_NJ z)Z*dc@QW~9G8Qf$pKbZx?PcEJ%8_mJFuu0Ha(SQ#N077H$Aqf;wu?-+k5jmnKP5TVt(Dy>%?-1B7&QRd zK6j?wmqBl0H*ah10M?2B#rm;PHfUzOZ59JT9mzc^;s9)0CVwkdXeUjQp3Pvdw?WFG zPISz?Z=cMa-7#OWC+7V+VcyCA`5LVE6VcA~6>xePE`^k10BqB@bK`}QLS3A54O|y2 z-7?;+(T_`x0jR-O?X~r6S1eVR1gYx?8NzjOp>=pnW%{zU?xB9;WKWI;MWUItp~x!2 z0xrww*<~P(gZLcL!fMy{rr;V~lqjkSq=Fy!L!%GLNu#5Ta~7qONJ=&l?nxWO_39uI z*g2s&lxC)AjXUlt4dV?vDYC)?ki>s-XayLss{$}Ib50vTROOH-_s~vk*kK*XDYqW` zPPH1h+$r%jOh+68Jq>a5C~DXYD8M*nL=Xt@#|RZ9aAR`GL>5z_PNVE2hBa0zr<(0M z)AqS@1DiKzC<8oEUmDxl$GeE|CPdd)4(l3;(Fm58+Lol%4#BqEZX4@gWx{%w1EvBM*|m-M6=rA_`kCY_x7XS8VzAZvSF?d zU^ON;zb~1gWFD5Y(JafZf(ghAG!&C&AQi11{fI?J_n5YL$t8%%PXqRD=^uYIEohqPON4n`L^9hI|S2L!_? z_(dxOi%ZKhPMb&XcfjLWK4;pXHJYqtdI+LfcAbLZTYb1pzKQ|eO>a@z%4a*X0nGAw zs1jL%-$BV$ule@I&O>-(UY;NZB zP~_}%C`K}wrv&IN=}{*euSHH)=U%Wkt8UGv8-7FjIJt()l1}0&DvT85DV6msxvfb4 zj);EQSi*R$Dol=eN?T8uJIXUv*0rUu3pwtux)C4oeC#fmW?-83w-mpE>H3-#7J(ws zxcO4$@-|_}@6Fl4jU_I?R)b{T@<2oy4*Kk3JQzGw8mY)vz~kO}s5aMGhF653vVu4E zd8U(api-l!83F7j4{NV_ZQ<(a65Bj3d2r*|%;Vqx@yuHHaR2whC4ph02Q z&B+l69;aE1-s3!|+b9}$aImknJ0n??C9Dd|BW;#H)xT?>sO+V$M)f;ElZ9n)qlGFp zE%5Y>E3>3BzF!u$$y|;P`uaRiOi?cye+0H_LoY4#*lVz6<=rr>Z?0ubD{XSyvm8p| z8|LGhrAJ_kN1fn>wz=Wd3$ur1j`xi?4C3>NZmwt#C0TY=1|Z+QpNZRG0Vv}xT1T{W~bVC@b(=gr0=^$iF%ry@j?O2U|2|)7- zrp;(P1t}7v!X6X4dEFpHZ?s4|>W3h{Te6AgBz=>`%)%QOZI&oC5f`SSq-Dm)3b3Vv z=jRYo1O(ropPvToWVyY}S>p)XlqE-=$}5iQ`t;j?F6pybxUF}CPKsXH8h{+Wt4p^X zvP?S=w6SQiwO^a8Ny5QExaVfW$yYm=7i zfPWQhR*@x%*gqFAjgOOj2H#Y3@I*g@k|fA}5+@_Za8zf9oU_IWR&JiAnBSC9A?J1% z?ORnOjg#5QX!O-$^3{T!%PJB$QV#yH=oAf-f+=*7vdR#2Z+Jj=pib>e>euH+_6{Z`_``-Xo=kudZo?FzgYJ^F_4U z`P0otTzhZoz-cT_gsWsQ47SadNn)GMtny1MN}CCFYm~EQRv3;H7FKt$8X8@f_&Veq za`uwt_6(EgbUtN;!d+hByh_EXiQiGm8DK?gsR>3fSskg!yKwb+$`wMn?{I28m#sGc zoBHr+rK2Z#P}7KCuzKVI6(m4(OFgQ!O2*1-1ud|{6|57epg}`3RDs>ijW`9}5ek|$ z`vfU);M;7R0tW(5sDj21jUoKxq@G~)Z^Ow?E7oA|7oYV;%$ zu;n6Ro|)Pu4`!;;T-UYUaT(zkwZUP1<2(OjdmHo!DC*GwbvCT)gJUg!W`w_+8>yFB z-`o7^Z)*wBZHrqT>zvVN+se`>$ZfxFAp3{Of}$*=8KN{XqnJx6=+;_qb2l{>1}QsDjOYi{vL>Ui~zb7OT+B4NBvhTA{faq{-{& zJTR?B3LA!^6nl-dlICR*?E~nC?d56EQSwy=9WVSR#Ec7d}k2vD&D3& z%Eq1-a5}{i_x>^&WPEaR%2Bxur%vM;+gZGY>7~5<iGH?+_oFUDeeYzGjq& zIlCQCSwI5OZtJDNE@y>ypxpZF1kFGBxZ;M>hb3N#qT)iFmgWF?dAe%I(?+xN>LS7A z>`g}AA{Z}^<5;8)cN=osD}!h>#)Z-d1^g!@|-m}zn-6*YUfb3jsN`Qbl^JDwN3##Po~-+7&z(* zwHo2z&sH6nRf<}5peItw$rUQs&+xXlRU_pqtqIMOzLveXJ*Mm9FVCv9?fXoZk!>;8 z^|-Bm4XHICsXO+0#~S9<@Lr@bzgoFz9q)0&*i~JWh)>WVfNHV}bJGyu+_?(LHb6h|9g4t%u24D+Dz0i`wzIp3zS+mpx$;Jd$-@r!gR_6Vpj?#DMmv>jM~|k3_04B zdWj=mIqwo*(8gdZL8%F=HKIIUC79Jr5=hxAO;Z01zAFD2{54S5c==edc^mobZQaPaAp~@;|{BqX-pb^q&5Ewuxl09rAx~{M63>@^o+a zA^+pOJT9q?3ZgQ*>eg-*1fsXGTX~%trgw_q`z(o3VLC8KJHD^5mC?`;78-SppgzOe zB(4hikXT+5GOUKTxE^G~W!&jUo=My7uo~wS3ja;7q>eRcm2PF*JZV^sy8$DRH==Hh zBQA;STt!&58%GCpSi%Lw36C)L7;J-p6qOhWyso6|pXpcSKhppN!{LzaEmuxW{MZhT zavMiSZrU?V>m(_aBO^)5FcRB3cY~Q}Df$Om@&;@7rhf+)hX*K)%wqux@d_>5AQpH5 z3F-^-=Hb%SANlE6|2Gl-wbTD|_lceV{c!Ig{_Fiba{pIgv_S0s?ucI=##2BC0G{Fq z66Qt~iD1eo_HXzs8Lb_7_gKpur~X@1q|U37JVz)$$?~OkbE;m|P$teI4;Yi(IaiyjM- z*xg{J8bM z8KerJ=ErlF_W$wW-V@vYbGZAE|KnaBDnP*r_tVtzvH71tOt#H`BS7;S0-*E!uMz*_>C^G}VgBF8!{+~Sl4RH5AJqjCHZqa-KjU`L z7^R_i>N}%&U)7-WBPr>u5T59jG`yk2FK4O-$nsmZ6knj7VZuBwvb?}ld8zGw?1;_I zUb0fF^w{Keqquu~AVdyMFGDJjcqSp!zFngE0u?9OJZC}V|8qCo{g1$5rR(HqXkO(L z6tGl-K}W14&a9IeimnthO2Y9iS7S$=>|tnoB(EOoeY>55!ojZ&FZQ5eZsuu||H98} zZ3|$R{2w>%e@}KF^1t58qw9a-zQSs%pFI1ZlTY4wW#gwUgDCwj@;i8sQyl(!si59HG*#;Yi zPWsaJJos9^+GbsLaXF2U*)n^1WL?H@ke|Gbxn$*C6~ zbC|{r|34nU-6x)O!J@eeTqfBC_cm7wyX~2#xq65!Edj4(`E)oy9f2)%Wx?@TZX5U~ z!*>nm38O4#zi;}oML=5B@w zo@0Vyy00TMT!O8OCF|nnZ_a30oL;hk+}q*citL0Pa$Z2KEjUaE+6MZV{`J z(pdt?h!@nh51HCYNEPf#m@zC~=o*ATTRw5%j-mgscsAsmICYuO64hH4T={9S9N1Jr@8ca0nQeI>^Dv~9LARQEPkjOPNOG%L>2`bpV&aMHXN}n%thap9hU6&J)BV&{& z*>bLqVl7k9^Ty{J^LDTwFhuh#Es+N<`+9~}23rzH(6mYzU>D>wQNRUz*y2i000aw| z;279Ax4tU310O{$sr;wh=(OqoG62LK+kc*n8|QzAPo6yZf8EQ&q}yv$T=I1y$s(AD z6;Aj;$en=*=EA=T!Rj|&sJq~#$~{Yk0BGnl0&bnWF%}Lut+lEW6^<%f*&LHv@8dP? zFnDv?_PDM+uS&xBL3O0-0uy9YrK2-IDbJt~1hs>;q{hJHl0WR{=o`Sw0WBioD_jzO zAD%_R<53Dl3J``kN5yj-5p{9Oz5^uFVq${ko(PHzM^m+&=&FpJtE`c>!TT`m$w?tI`A)hB+C}|=qE~0 zqn{+#6ri>~5`~TaQBG;HdtR{1bn%wMLe3fk0X1d4i~F3=@`WucSL5w$+;PYevdxP#=_K zm5b7oBamn`nnCsLBz>U+oeSvEZDCkVJkE3ahQ-M&Pz)|r3mrgK>(aVl-GCS^EUr8O zdt*KO9KOBi7gC@8@r%-t`{pof;5088Qr#8!@_bLJ7o#p?1Iv(%Y z`G5C!AL2jU%X7oi51!8um_wY_`8K5`J_ah7r?PB)Gg1Z<+fk@Cvrup+5*ptEYDp5i z?+-H>CsKGCSym^^bShOLS|BV?o|Twn#Zo)DX`J?(bqKuNHXQ)i`_n2(w0Lu7om_pi z0+s2zQz#WUnPXH}C9iNAzbrveGF?-(Q$*7aeUYj_djv&?=GY9TCTWDlrHpH?@|&(l z-R5YswL4bIdU>mWZw8hGPf@gtWX^c?b4ADl08qMMm9*{26ft0hTrs z9*g@Eyqj4)m4{z|u@mu|yNh19*T{O(TYM7jmA^PWj^Sh!cZ_Tcg2jWTa1mDj;FKRr zmpO{?bjc8oIEZOh(5Z-vETvkm+QJ2GBFHTpP`c17$%#d$6~7YZumDVsz~d|HgPMeo z7v>jD%wl$T)XoX4TNdiXs;=gVAl+>1kxjuI<|^3%fSM10yff%9VQ5AQtqXaFJZ=`( zh@Zn;!qtv-?NfJAfQNJr%qe1UN=C&C-4Nwec7dhB$^xy)a5Zn_bUEyrZQ>BI4n@ro z_$Oc!qMb(2l~<4jh;(ps+lJ;?m>(OH&%sP%^=PB6o|dB1EyxZ_mU}Hn=|Zj=^~BL; z6K)sqYqZzU+k*a`G{OV%`I3@njBkxTtopRnBI8L^B4#+9_{o318 zNp2u-xZl@WIg32TBbAT>&$U6kXDLffC;l3Wo@TxVCI)UZ2mQ^BrbXR`=pws79aN9L z832BeRkH2Mc~PM^$7g`$RRNbMMFk`%2Fw_gPBY#}T2l6m$~D8L{s0(uminVKO9#xS zirJ7GW~4eUCo8Ha=BoiotFHE{NeZiIWWiA#^w=u3g68^Q?0I_Zl*->7v%MhPwROLXWk;VNqx3`Wq#h#JbQFIAZ{1GBH}N@p7UWVmeGI(G0~^ zf(i-Cc+nruEGx+yel?Gl(0;B4LvAMI->tRvbEmYdO>XLkVVpCHxDOYtR%mcUqL6QK zQIel9nSIYoS}LBWLTAh4w5$^;s2?ki79RRk_-($zskqo)E7$gC4>5FVE0ZjrbH4M9Xgz44)#Dc4V7`sL=j9(q7{*O0=6Wj+eR?=)*08W+1g62cw6(Q#?yQJA14@! zoDka2_2ovI#YkN=`}Ap`|6U(D)G~(1zt@LKvIG@%h9K?dim)FP*)^XY`rq170K4x0 zK0Ro}e}A(3aR2LG9=37jF}0P#C+|5J3SSR(k69M9D>}K1=APiP8O`05&`+~?c|x~) zBEg#>;DN(6jzu%)W)t&9i7L!ta1T)7X(Hb7+QU_CV*Kg=`bcY!3Y5mE;7+!}Udw?i z*2i5@7MY*u-apAManw)h3)Ae-$_XmtB8ZTMwyW>b@n?PhFC(SYm%$%L$2+$d)~u_~}4Z^Uv) z|27=_dB^Hs*4;c5u#}jn#$4x)SSw$X5M!a*Y!` z>t(a?b?!ceqmi1={1Sj|51qk`ko-GDCV{Kh?9x(=$RU|cL>hk9GWx>hI^+W&6Vlco z&Uu<*4+Jl_SsO@{pJmZidn;O5YV^6LmpHH~9xy#dG{9N8vo)(j&%5EehLVKJY{M{l zjuN;$Ls6E-rO}Oa8i$TTpq;G}Jk>R;0-etaRL-&_Zo;-p^aM=s9Ay>pl5BqO2{cCq zW~N~`Oyjc~V$Xeq`_Ij+|DF1uewuqrEwDrX+uODCzwPagpFHS)_wukU>W|#K**;MTO-B;}@$k2Gr0v=Jd@eT{R|0_4ahcCLzPLZ5tHOzd$g{N>(YT z-GqaD5d{K~ely&GNnZ4lP&`2?^dov!zJ|~Ox|wy(B%kRy44hQmwo;^n2!;XAlMmE8 z?rm2WVGwISJ%01eAW5UTtS;(G;>W~r19mJJ7K{SH_=hxEN;d}ns{@Kp4BAWZO?Q|C zBkX_%-WrmN$nb>Z1NkI@cz!PBqA~au5mA1B1{0+=u!u!MdbyG`6J=o~KW8>CkZ@n1UE4vPdFYx?>VZT^JGO=N2Sfa-b&B7%0 zBQ6O}FWK^83Qrbk`x-7wkQZo*3IJ1J7ROUSW{};)EfJ9phz&B2+E8}H+!}oYejqbc zT;mb}P6i7KhrsENC)`GFp|x9>x}uR;s}@U(@2$jCm8M-rYu}a?DXUMfc=2sFy~$Ji zT&ZCk*aShABI?6!GkBU6BAI;)L7g>RN~v0)Rb}#Ht?Y24T}1y>EO$Jm|~GdauGN$e+BEa;d7-7ev&qgq_M!h1US8KDY8kmSWa4QIaRIY~25A zoLG5V!VSO1h>&+P^um1kIOCRJm&=FiQjjwgSc3#J7Fcsd=x1@+xbfu+c!d5J&QLPP zmuXg@&Ex3M|He=D?f74NhldaOf9~aZ1Wq9#s7P6a2|faN=!}aBCoxVhK@OuUc!|nz z@CcmGsA|HG{7X>IP?CVlB)b4}NTL}|FLywJ5=ig@F&U-3hiN=`1X6U#9KGnoMN|9{ z#as&gbvp#iQjn#rCMAi^W02q!g@f?<+50n+6=?8CMyvnv;%)wa@?e#t-@5@8@|W;`$8+fBjh{$leY2!|^X$GeYumG8*CeWmwKwFzFCy zqYD^cqLC;(WMzjqoo2-xa&O)Le@T`JI+`Ys49kC2ut3}3uRotNH6p?PlrnqxhhRM33)FX~|Mu_P{q1+~;pbl*C4bZo5&D(&7h@SYvlx}ASfGN%z4&?j zi%IZs2rDuRx~lD3)zU0QZIz_K;&*V7WpreGV5wMJYb?O;A}0tffAguOa3dOtLEOvf zn~a=_Os$xig zjyKrUV|WNCBtS1Xxv(zJ7C>vV9CnOfkkC_kBX~uS$8!HMeO>O znQQ8yLZ$_4*l(Dz6M5PCjUY=hXU8U9shl~gry8qtD*PN$JQ3d?x|!`P(`Pssmw`RR=*J&iBMD&? zp|X6P*?`|782?mYf__LNZNKY)(AB+;Dz(#+**W}kE4C8LEP9d562h4U(9nJ$y0 z7nM9&XQ-X!IVY;C$_l&?ReZeQpS6}{aSws)h*;q($!~W_%~0Oa@KSCS@7NvL#oaF4 zwQZ@rqRX#b)!iSrSGK*e<*ulsn&lYYQm;TT#w+l!F5i!db@^4fXw_VijaKd6e6;HI zXJkoWL8`nb8)fN!Oq8WNSlHx(QL&YS4fY#Vd$Z4|)q{Bj$`c$x{iF6x#tHLC0Xyoh zx0o=fC^dm!9Cxl(&B8)A>nh(Z-g??*`dMPy?JoM3$YosVQ?lEZ(#LY*g5S$LVx_$6 z&tEHtpKl_%QtElMladsWpv$F$@V8l#;Pmoc9z&vO8hW4*=df}5YCB2}hATaTUrj?IU+EI1cIuhwEsLq$$S`RQ3)2i;S>GXOgmjlv*J3-;$KIq^hhLGEl0fC z_GdaQR{p;wDM#v#{d@X5yv#O(qy7AMe{bK8|G)cW?_m6J{(B#faPCm2z18k&{I8(xu#}A+I<~76lYrON%9o@-B$^ehAf7HqWrYa}2HS%HlLTt#bB;=K zM!!+fP(=jXFj%a3$Ud;&>{u5_eBt*fnX^}ePlLgq+Yn#$F8iAh> zND+#82Ii?evnCn1!qFATraXfvh07uCfJ}Po((1uw#y$q%I!nJM;400o0ldg60*lq%0C_5Tm;B-{Zf=>>hb!k<~K*B!0!X+oN1<8%5zcY+J^~AITf?=fa zasS9^RsbF&heWg^xF9vU!JK#Xk^YuNwAo@@CXvYaxI_87 zZB)fmR{O6<^pgd)rs7+OlQ-G*7AlJHMNwqM*0u@8xONRdZ7_TdQ#?gHn7vM)d|!s& zA+n|C#N7cwa}t~69G4|3nBEb-$;gX&PL^9ulxEF39^MXk&ofcl6+*hl-wL=^FZ30z zCfX|1b8u+g6)Cb5hM!jX?4`zFB&5_7i=P|UgB=L zO=t^P02q-9CeI;(EYm<^#>=NJCm3nt^f3sCq5pmdT%lz>@N0k$%1n%mvLlg-Ys-Ak zpoa9<)^@nXiQjHg&SoGKvLH)HYrhH#PeOz3YYe;FYh^BDY zl+P5zErc^HF3Y1bK_~|}_;&#c^gfv5T!(i-47@s=PQE}72_#meL1Y(*^ z3y+MZW2s$0v)Z?o&b0Quie`%Nk1CgG+wM##zepFim&sm{{32agKzfK~^KlF67wMuQ zr~iSLjA=?zJHga)5v7Ze|9!+hzR#xbQM%AYDMQm}z>SPnI1#b5R81E--zFJsw9P}# zl$Jd@2>1FBF%^IVR^EmB?^%{KxavWDk!8sdGphB$eZe6IqJj(g%hb`M9^^PBM+dzc zjZ@xaPmBN0i;sDNBTUpWxO>H>NYBoX&tIOrfAQu=v;TL1_4)m`Z-00lsw6xiOK0>J zP5B>Gk{&U!oMthP!`7o6HT1?P+5v%un-;M!=#76lZ??IM<8OX={^I?cGS{lhV{`uZ~l1$!nfRF88V;ue}4Msry-2zIQ`IrNCAkFsIBO{ zzDee5{E?ApE(Zj4{)!Z(Th0@wYk5{goRW?5eDB>_Jce^XTbRSMsRobab|A>9p>xmGl?s zqNk2t>z=P+&K1NfwAGl!O{Lebu)jzbJ@j>z$FQfy&ivpCfs1GKlSp2}+<`|_lJPfq z{hxWL?q6)B-dUUOU!?mT@a$Uv@3{9nAiL7h)cO5>`Tx;R?nbGG@#K2ES$u%BiThx? z7yaH&?}NH8j*jisYncBmdf^vvq%dx95A`Bl?3f5Qxr3rTu-^HDe={Xq%lSjq@5W|} zmtaG<&qm9&vEm>mfT{I64#*P_1iGd~Tg<<@^=zJ4P%0B=FHYXRIIlGu{IcEA7i79HPIA1Iz%_q$tA*JE|3(dfF3W*XM!Dzq`-&V0<)6zyIs83k^O zZTma#u#_}EO3$vI#x=J+O_DGH!5q?kl<{Q(#ybs!6CRyiUky%}wk!3#22z;>NW3g#bhG9WxeF7 zqr7nZO*Aq5JpQGlqG!dEqj(220166?HSU&3#Q66kk&{eA)M9wxSxt_>_!f$Th1huS zY3AB$1%>TzdoL2!P$KFpH~NijB{zh|FgXGr6cX*4&cq(qDu<{3h}DsAqRbjFnxR!H z02Oyn-aj(oB@oYl!eqvm{nsiY^ol67P|_oQ-@;)(l2^kfKwSrW4bx?FAmHE71nhq2 zru0n2mtK)VBev-T%$MvB#~>8ZtAqJcURjT%_O|1yt-t zFe3BZLl;_Xm@Exzj23>DDUPusAJ(y;d}FE6+&lj~qf<~|b?ez`1p5jI5={uYvdtjS zftFQ7L9=w>|1B4Noi1kCU^fnTn&eD?x{s)9QZHnb)8^4gH!>;FXM$x_M2kWJfHKq5sgwqr*4p z5DU3SX_imtAyaSjAV=roNKZ<;e+N$<@_*dR)A#-#u&(so#T7si8|V)109ue6mjHoziSLhg50E#%|3yHXUGAHJ z4W`mR&zCt`_q2vR-Xj~Xjeg66H@J`EYwCc1!)Tt)xX)$`T#d8&8qEag0j%`x!gGk` zS$c+AF8&!g%Z_4Jq14ajSEEC#uQygv=RPcHkfAqcgZwxX8QIQ!ZVNUcdJ4DOQDQ={ zkIWjklKiBo?Xiyv(|N)m;)_1-(6l>qcJ;CLvMn4cil(wxAW{{nM}q@*wqcz2+9n#e z?qo;Za=$otyCl#-V@p4r5>!lKgl<0F=yOB}9%Hb|clDI!7cZ>sae@fiVz_pIvsK%T zecY8c=opdxy+phWy|S6t!+8I>wV#K_(En#yfq$c0`Q&|`#qVK7vND2eZwET^KaBUD z?%MhPp6nky=>PZed@1_>_iE^!X7RBac$?k~bfNh(?F>A;=(kPiWMp&C(9L`Lr!Y84 z#22tcKdQr7?JBmYPpLG#l0L1w@u(l~7R1vM_h#gr#q(-H_nm~{^sS8LravwRwAb)s zYgzYp$9=WR`%oRk)HU0=AeHfYz1I)Ucvr1XMLiByB*xUqd1qM8%sVdTPr&Yui_sIX z?`|63PMje^XHL0#3&qW5t)ajecu5N6&)ojq*{Ek1>LHfrdNr?J;Tt z(2Z7`E1N)9k82OQy1@D#RxQ2K!%3>&Li`$$0!N=~C2leQ$zZ1DuDY?{ad~-i`tBXU z3I2@*kvv63gi-=8Q6Kr-Pa^v;9375*LRPh5Vm0C>i1I3!fWvX~CaTt`*Jz#<%R6pY z3zDO!w`tm(0SqSKsjqb>+57^h{nUf?JLi5{Ejx4vv@_sgEu%hr?&tghj_5vNtGzCt6vqox zz)Pgf3Jo5Mg>rb%ae=PqGO8xhj@G{I2h-u5J%;^Hq^a0!^xsbV-_zZvcKqLirw{Re z@8|ha?0+KR%%<&qHrPLteNVK#pFOX^sHXj{$xDa5Zo~I81y0Yk`|q=|{q`pJ81LZ% z(4lU6ZD4}FR-4yzT=q12{j9~>;t7Ks7c@Olefm(sO;nU?$7w8`mYpQ|11-5p;}=3Z z3LB}Nj(9dFw$$)cPQ9xeDVmN(d~TZBM+c9%HOpfFD^KlHpoAy~bNnOQE> ztC*E7q8#4yqQu)OL2`3$Rnqt91uf>k{?H^^=?{Nx@x|}Eb(O$&465rp8gvl07@9vh zT5sO>rOHejp=?%}T(U_ZB*(3I zQ#)8gmDqqX%9SpAN$XQzww^94M|nLO*8s(Wuyxw4|1eR>k z2E6vG^H*oB7NgT5Tj2Os5xLh`l}V!3WctUEWB=A#u~b|;;(rbuwLOa<z45I0#M`!t)td8pW#j*VJFwMg$Ugq=IpjH^7A3BDpFIqh>($DU6#~q+Ydl!*o zA9TI-biJ0voh}<|*inqo6G@wM8%fHu97Ww~A_voAF(64v2bT^`05=UF9bi_swdjZ` zDsLbLTYpmPYFiuzj}FynT0NWFtR8I<7;Y1s^_FC8()iMEtUcWQ`eGl$|074m9G4~S z?)SfD7n||}>G1zJJUo12`F|Wf89&5-xR>Wk@&7ojhu(i@7n^ni@j(AGd4rfN=;svT zV_VZV#LHlYxm{t1(r9eQr%&4(6W^c5}%UB;R1 zmxrV4Ri1?eyJFZngQ z@a;*y&$27AANlX>!rF@rVMVf`w)D52^U?{o%HBkyYQ5Voen8!(zgFqQL)MkYX>7#= z-fR|ofySRDS^5WA^Wl#zS#B>QZYPu4B#X1ou3()E5!IU6HryrziKGeeuSHAq!jhu@xZg7$zu9#%4Td#y{w3CH`9yC$k-iql2+Ba#tUrlnuSyM|o z$>wvI#$C68Yjvil4zh~wv4YOAx~{RBjKDxl^sGQL?d>Hjpsc3^*VMep; zIt9bGVDjYf8TeZC*Vjx>us+do{dH#+WIw0m<(52)&rnnqm@H4Sl%S9PjZ5?9wnO)9 zfD2)gWY?z!Uf={>q8DWZ6Lu9<<}EXTcrY~>AMFO{WDJPOqce_DRXbi0D?Ij{7kd|&>npQ_2ure!m z038gi+-G1d)*rJ0cDH=zIBIjV#aK9ryvXVfmB!12|aG+b^J%jZXi7cE-~`-@y4AJ_3FN zKtK0+^*AyCXy%QOE5h~-Is=*IG3!VmC=wN(RnsZ{=*`&Og?0zHicn?whXpDM9HXOQ zJ8cc3-e{HG2^uy)R5Ou+i)%(Q!avLIAzws2J&V^S8e(U>ty|3J zGm;hXl71>TkrKv#r&hzWVz!rCO>rIH1O!7zRuT4Xlk=z4a60CXMUo?t=UD_3^grL8 zZCKbCbe)|Xzj`sGNc^PXk3&&s7|~ZlpEP2_Qpx4JA$ZtA=!4{0Rr0tNy<3T&mMx|+ z*N=|q>|5dPV~xZJK&-)Rah_lQ)}w}J2dqiVhW3T#{x6F+9sBPuo%_H2y{CJ2{=b9q zlf8%i-+eq^%>FNnH@?}^K>n$Ac3IqW8>chKv1c>*NB@)o%-2!o{0@?|7|`-#wd!#0 ze0>bY1ne4$PmUry#rzI)Ym&D@W=Gi9)dB%?|4*h4e1U1Vd;8VUH#;3kxeI?Ve*dng zF(cSTL`1H$;_3^S6zpl887WSjbK{&U%T8%*Fwty^PHeI4!J{`>>cl19KZt`rtT<3(U_D`Q9LJcF29p!zR)*lEN(fL*|ryyB2Z?jgQ>(gKF?iu&hPdb$Shp`1tgty8wMK?KA&p z`V3hdzzGNvc!82KXe|uD6r&`5i>B>BwX!_S_8bvN85nXbtn!E3F9hG*_Hw7KAbPYz zc~{Qbrb%~nHWhT){lBFcYq@P#U$0}+Az%r`31ly{K@@!YtRmTz%m3CQc~Rf%T16hK z%W`eUAL@!$J1;!y8Dp}*v*r1b3JK7eM!wUOB5NzcGa zYBe(mv@vzYO}dR{s;z2FqEjvEwoBW}OOd&(thXl3myQ*QzA^k-Rz;%wh_G|@MhO^2 zs4QP+^!r-`;F^^z`J)(dHnMb5S68b;pbN3$aP`+={-FWgNJ- zsB5hpUhCFt6ys_RTH;gV-_R>O$HcdE)CvFjTShU5duLI2gOe>o4of*B25_)xw>VCqCHxymZ;>NG$)*joT}{l5H(!zI z`iwP@wE>J{b|9iV#s3Tz0?bb3GETZvQewct@MCSQ!b5E$^QqUsIveic7H72tm z!+EE4?ltL@CC(Y3;5jZ(M5rk5ZjpfYCo^2SqJcGogsBdFFkn6yFdqzGI4ejgQ@pstzU|i`ik*u|25>I2} zq_kR>>Li>|ZpuSQde*6ctM5-P3I61O$S+ z+ScS)>%YM0KWqO&w=U!FaNxd-BU9%H_+QKh=l(=}-5Whcz23jKbOdVRv;@0rZfo&8 z%)0ur;i~B0By~w{6Hc48%qVG_&P*^~J6dfkR||qsQ?yf^JGZY9%Cc62)y-?V9C0rW zR{V`xnzUs#adOq)>8|RnxlDi|y5*SgGm8xhtwMKlT6YUP5jqs$9i1vYS&XxV&6prf zhBLAJxmmr+M$EDKT7U7+I?0Jo^=AP^A zt!>!-?|&Kh|3tpUP2U0R$p5l`c+j~2_jG^!aR2Wv9NqUt*9XRdI_7*GChWMvgmeu1kXeT9lf^bdbYmKgup z_}N&WxV>7=0r=W3zBXH5m+B#2wAK?<@8}l9wsh08v5|8a&h^ip8(}?&WZPXonJht* zO{IszFZ}YSCa28V+{dKNbM=4PNkq$*O6h7Z0tX?-ipl2=x1l+ZCCEeBS4eVfHb z;R?1R&-RXQ>2%a}9NLx?{e8jL!`g?Woocgx@!;o_np4 zP$nQaKRLC09`gi8n9%p0E2BPflnbaw9Of$6zCS-dT~YWcY^?6;=+0JK5Dau@E8=_i z{PxVGb=}zbmoHaRKZwgsi%Z%0K4~Tg&HA$JI88Ic(mZTHA@^qpsj*l^~JX_@n#@wbka>g3W%ooDijII!>j576)7U93~?qcn?nCD%V>t!b|jb) zl9$SL1l*Cd^lE=SmQcdd)7lTfx z6P-MdYlqn#mjU76C4X>n_U3DD!ZuJ=y}e=^YA=84^Q9c{|f*B|Nq!>UvB_} F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/freshrss/6.8.3/ix_values.yaml b/stable/freshrss/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..98641a23823 --- /dev/null +++ b/stable/freshrss/6.8.3/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/stable/freshrss/6.8.3/questions.yaml b/stable/freshrss/6.8.3/questions.yaml new file mode 100644 index 00000000000..b9a5cd7270a --- /dev/null +++ b/stable/freshrss/6.8.3/questions.yaml @@ -0,0 +1,648 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/freshrss/6.8.3/templates/common.yaml b/stable/freshrss/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/freshrss/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/freshrss/6.8.3/test_values.yaml b/stable/freshrss/6.8.3/test_values.yaml new file mode 100644 index 00000000000..8cadee1dd69 --- /dev/null +++ b/stable/freshrss/6.8.3/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/stable/freshrss/6.8.3/values.yaml b/stable/freshrss/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/gaps/6.8.3/CONFIG.md b/stable/gaps/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/gaps/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/gaps/6.8.3/Chart.lock b/stable/gaps/6.8.3/Chart.lock new file mode 100644 index 00000000000..7281a2cd90a --- /dev/null +++ b/stable/gaps/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:37:18.046916983Z" diff --git a/stable/gaps/6.8.3/Chart.yaml b/stable/gaps/6.8.3/Chart.yaml new file mode 100644 index 00000000000..3329f1ea305 --- /dev/null +++ b/stable/gaps/6.8.3/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/gaps/6.8.3/README.md b/stable/gaps/6.8.3/README.md new file mode 100644 index 00000000000..6396cdbe628 --- /dev/null +++ b/stable/gaps/6.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/gaps/6.8.3/app-readme.md b/stable/gaps/6.8.3/app-readme.md new file mode 100644 index 00000000000..df7087e7a53 --- /dev/null +++ b/stable/gaps/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/gaps/6.8.3/charts/common-6.10.7.tgz b/stable/gaps/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/gaps/6.8.3/ix_values.yaml b/stable/gaps/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..d11177660e5 --- /dev/null +++ b/stable/gaps/6.8.3/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/stable/gaps/6.8.3/questions.yaml b/stable/gaps/6.8.3/questions.yaml new file mode 100644 index 00000000000..4745224c185 --- /dev/null +++ b/stable/gaps/6.8.3/questions.yaml @@ -0,0 +1,686 @@ +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 + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/gaps/6.8.3/templates/common.yaml b/stable/gaps/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/gaps/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/gaps/6.8.3/test_values.yaml b/stable/gaps/6.8.3/test_values.yaml new file mode 100644 index 00000000000..c7555ac8822 --- /dev/null +++ b/stable/gaps/6.8.3/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/stable/gaps/6.8.3/values.yaml b/stable/gaps/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/gonic/1.6.3/CONFIG.md b/stable/gonic/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/gonic/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/gonic/1.6.3/Chart.lock b/stable/gonic/1.6.3/Chart.lock new file mode 100644 index 00000000000..87128c7b205 --- /dev/null +++ b/stable/gonic/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:37:21.959929857Z" diff --git a/stable/gonic/1.6.3/Chart.yaml b/stable/gonic/1.6.3/Chart.yaml new file mode 100644 index 00000000000..d45d8667377 --- /dev/null +++ b/stable/gonic/1.6.3/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/gonic/1.6.3/README.md b/stable/gonic/1.6.3/README.md new file mode 100644 index 00000000000..4fec12dd83f --- /dev/null +++ b/stable/gonic/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/gonic/1.6.3/app-readme.md b/stable/gonic/1.6.3/app-readme.md new file mode 100644 index 00000000000..8aac0d79210 --- /dev/null +++ b/stable/gonic/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +Music streaming server / subsonic server API implementation + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Music streaming server / subsonic server API implementation diff --git a/stable/gonic/1.6.3/charts/common-6.10.7.tgz b/stable/gonic/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/gonic/1.6.3/ci/ct-values.yaml b/stable/gonic/1.6.3/ci/ct-values.yaml new file mode 100644 index 00000000000..6d8d2f4a5c9 --- /dev/null +++ b/stable/gonic/1.6.3/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/stable/gonic/1.6.3/ix_values.yaml b/stable/gonic/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..0573c45fa47 --- /dev/null +++ b/stable/gonic/1.6.3/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/stable/gonic/1.6.3/questions.yaml b/stable/gonic/1.6.3/questions.yaml new file mode 100644 index 00000000000..a955cede25c --- /dev/null +++ b/stable/gonic/1.6.3/questions.yaml @@ -0,0 +1,686 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/gonic/1.6.3/templates/common.yaml b/stable/gonic/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/gonic/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/gonic/1.6.3/test_values.yaml b/stable/gonic/1.6.3/test_values.yaml new file mode 100644 index 00000000000..dfedb91dfd0 --- /dev/null +++ b/stable/gonic/1.6.3/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/stable/gonic/1.6.3/values.yaml b/stable/gonic/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/grocy/6.8.3/CONFIG.md b/stable/grocy/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/grocy/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/grocy/6.8.3/Chart.lock b/stable/grocy/6.8.3/Chart.lock new file mode 100644 index 00000000000..ad5e9938098 --- /dev/null +++ b/stable/grocy/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:37:25.9368684Z" diff --git a/stable/grocy/6.8.3/Chart.yaml b/stable/grocy/6.8.3/Chart.yaml new file mode 100644 index 00000000000..c43e3c0cf69 --- /dev/null +++ b/stable/grocy/6.8.3/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/grocy/6.8.3/README.md b/stable/grocy/6.8.3/README.md new file mode 100644 index 00000000000..8660aea847e --- /dev/null +++ b/stable/grocy/6.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/grocy/6.8.3/app-readme.md b/stable/grocy/6.8.3/app-readme.md new file mode 100644 index 00000000000..29b6f35a8a7 --- /dev/null +++ b/stable/grocy/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/grocy/6.8.3/charts/common-6.10.7.tgz b/stable/grocy/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 zcmV)tK$pKCiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POw$ciT3yFpTf7kNyfQlRmZkSd{!FPOd)J`?+2xZF4tCePXA5 zpWE$8U=p%WQzVxJ<*07nzx_SbdXlXoE zNnr7p@!GiT#{HW-FvmZlqQqG`0gJr>%yacK%~CXoQ5h9DC+y9)RT|O1K!Ps{SS-Ob zE5LbCAvS!2`Wb7Js*ez z98p9P1YAG@i!$V(suC4ZmJ*Z_2DKVJJvtQu6{*H{9k1>%PNA>VS+9$aC#Z0iGuY*kz!cx{>OjpdtmWmq7`JBqls+d zU?JOc819b4r-NSoFXsOOCKW30NC33Y|AXD#gRwpTpYHBH%>Vm%E|cs6CX)dGkHByU z&JY1G1=#`>1&$G$;ADnCUZ5%d2(l^rHLa3_4n#3*e-Nb&D6||(2`&&T17bAADW=k6 z02F|_=73J@B1;lfC@?667YSmJ>aXDdhz~KJ95&LrD4_ErWZ!>;364R=uQdTT zpLBo;yg%$sU{fePADF)DF^VvuJs6-))n6CA;E0(M(CR^^ukj1eeF0SUTX zvZCK+1$eHADR;nvag)mo#>}@UDi9oDJ&O~d@ zkQ3Ms>2s7If|?*|@Eq84#tI4s;L9{C=vcue{U+(BW2w+V&=*?sYaUye=I|q^Qn-LP zp<|8J(tfW3rmTuf4uJh-Rn@xIs++@t$O!}LUut^1<2SklB`&Q1kW*H zz0N;;&)>hIuP0!CFu-$oSx;E@iw=>j#IzhAFXD$)ia@&b5qN36&#NQ>d6wXaR;RyC z*^kL!z)H!vE{5EE4%2w6+*Tq+bS)c=Z2cXGLKE=wFAfl}xGY;L)6cBtpl!b9Sv<(I z_}H401J9Hc#b4Faj+Z=+V*tVTS%H6}1SH@zi@|Y4vND1RDh7|he@P05L-3z5E|~!P z+W?9(IA!cqf^7@mN7QIeqtz-~|81 z8hVO~2&IIM0$T7{UG6oSXT`F$=%7T!0!QdLin1ytwcyWDgr^vl;ChD03>5$ZQ4~O4 z7L>EBN@8$<0GAo@0EoY2vn4dGR{+TXjAQyg+7A{?hg6j?&Szr%5lfd%4aq=N3fc5> z3et>#k`0wu5Cw3_mYE#@IUrnuOOzriUt&;|IK4F1L_p9yPar``rwalxO5T-RKvAT5 zmRGbCV^CBe0in6RTF7)8n(VpMH4z zd;;dnVGhfZYT=@}uOUtWN*B1uQYIP~u)uVDmmxS8Op+s>w(xA368KRr(v!g>aJ&u9 z|7QZ;ou5z!Y;$bSC*bRw8xX!l34$dG-%zH1`tA$&b6%FV@<&P<>j>G_H$Oao@&3*6>la*h05HWUiQl5B z{4L&`LNc4Mc@U;qj3^fd1KF!$VW3ifiZ5TooYm*G(x%BJe4aDM4Sc%mC-s-KNVPbeMLKW7{l}u6XyZ9K#Nteq+GLUk1+j&sR9TD#hkbOhv(V-l{VcRcuC{WGO)(iP8d3xq2qQi_e;#))UU0 zu3WV$Sz7R@dRyQHPSB;Us}%^wKcva>ZI+R5af0|%ufIb&15ahe7gX(o+^)u3>LM}0 zQxq+u1o>!F1$4cY&vCl21G?uvk)=yOHGmNOU%H-)1qskq8^r*pa?z){D=dd}BW2ds z)oBd{jAJY&OLS{YH4rDh(;~Y-YW6X<@ee&lD__cFUA{mmLbdk^UZ50}<&btHW`C6g z7Np9DIYnQNwk<`TuAvtw$*u>yfYO6s2~Z$+&`ry@p#UIh&^C!LYAZ-$fE{oJ$25f) zTYIi*exRQ|P*F(5^ffML^sQJ3=(_@B*Qo-2s$lcQryjrpc1ic!+$cmFN0vFF>VC>} zP`*m2g{vmiY;$maavHGr+`w{va#|yJIi;Ja^Yc@I0hd%qkJav<%?0{>ME^Nc(rcSH zIfrB>>$p&l0c99>e50O5pMgMOhk`6R;;f=BU6-O7hpcWAUEg zIm#;1C_jZbsS0#HD^N-4oq#8U+6WOte5;|ZW|@1etIu~b*cJ4L(Z0%PH`%t~;qC_h zg^l+!z9OtV+QmxZ9_ytJbi*TEzws~DODk19CPy))fd^2j4?ZshQ$(Gp(QBs94D}l8s^tjUH)2v z3BCH8C@^6rRGc=ZX$jc2zvO>wZE(!iy6$VbLFV(7O)Na8WJ(j{RwcAyt~~D0nZ^uF zBnrcDTN`)Ga7PFKoS$*P6zobcJK8p!nFg~oS=OIfEm&M3s%c9SIB4;sLA7CJ=XQZ= zI>jG3csXr(*WuD&gmtE8$*tP@O2vaFC&d2y<*8QXw8$2e2yJ(v+wZSuIGV8?_XS-! z{#D@u#k^e(Q?MVVuj29h4T!VAVQO-H;9pav0ZY&K9M9Pj$>pEFMCRW)~S}rd# zl0{h(YTwSPoWann@gL|C_F;$r|BU`|escPO*{VLgdw%*sug+IH`bn&NIlN8*q>E>L zT9L-!5|Mi5;gq0)4yAW*U$L)jp4R3bt@WJX34?AmN$uk6iOEiYSW_*{Pb|Fx3==`tVhUNoOp~b3~P53ZMQKsB2v6thBDlKMH)OjAb}k);u^bD)i>~44j=D zzj~o)t;g_IiE?(nyls#}Y0N4D*g2axfS60{D2<0zDVDG){)pn&byd0I59z$Y>F@%U zIMP_H&7VI6*EMilrrd#6DFwDEpykMBXN41xUgGqlrzlCvA&i)V0G&<2o#?4j@fLKk zv&cS^@)3B;ftUJ;74wt*4^}`2s7@gR)?V3?N0tazbwGquJ8T{=C?1sAs!*K)BIomRwGKWm#qqc`_V3GpX*t>E` zT_ARr9ie(CP&5`4ejMBzGSlYzLDqC_Yw16Kb!HEj5d1wOGjUeWTq3A=;3JFnKwf0b ze+8Po!~26ITpVyz$`gPOUt`n^Nm6PQaYrEKsl!xW2)=vwvbF}9GCe{C!BeUYOEVem zp9m)C1Qo=v>Y2m;ksN8RL2Ro=IUOq{p&V{e+TPJwPBQ7vL?v)7R%jbgg4mHTP6hQ8 z&OED9LKm5LXMYDVVtVF!8lXmPQw!u6yh>odmfjU{7WOU**QTyRLFGp0ujx0xdaBW* zP9=qRMT1tuip~7I%COa#%`5a!d38**(e1kLnKD6Z)s(5o<;0yYq8)(dIaxl(#SWWD zR5(*QxOG-DGUW?h<(Xzhq+C&R=5BoY;|UP1m9)@LI7ygTW;#u}R6g*9P;R-ZMd7?r zetru6PfY(N8J|ep)|@5P97%1;Jja)-uI>QyVf3GrocG!EJ(;2Ry!zih?1-YmDTS8& zdib@N-ldM|q9SH@@b|ANMI0d`j=NZaM?jo~YaJrCxOl3AtsOX7briFcn<3pqaH!G| zqH)Hs;x>WfYu_cDk*t812%ISAEMYO2;!6Vn+ZC0Fd3=5te%Jx=GKF&-(ItcXNK(166&OLh{%%(i3)M6*n7C0woHICU6Y&l~DPT^x*DL+(yn zpo+O=0rU}96vV z8rxlbFaUfAH5X+F%Iads&y~_r4oju9#Px)gmL`Bn35qP^I$~K}sHsD{a#&UuOux}K zR?OS!b*A5>k+O|g!}E2$C(ndl!4_-okUP&}q^3!2wz?1}eWHta-^Hl-s{p!^If=s< z)f5gng{5@c8d54sZcKuzX%p}k!T6^F6Z8XJKh2Xj$OT|FRW!<0(CrH zAwYX%Mi-n5M6MA^0Zepfr-8=mRXDBK%kagx*ls^VrX<7@*CJXkbCPshzK?iq$KG&` zVq7spLcm@BgL>V9fXwr03AWxIzaCz|=!*81@@?Ceb3*`CN1VK)C1Bd$v~H7;%$+K!wEQMNRQYvYpJk@L(aTZl{`y-U!tdI(($qv5j4g#-o#F(*yY9uYF&Cw;C zEb6i4Rl`}q;apz9X&DuoHvDg_o@(vAJ0N>+jy#i7@;|uP=-dOv@y~F3rq4ZO)?;ClPBJDaYA0OH+#1ERW0H-lt;JAVb z?WrrSU?UhYjfucCLg9cnf~i;XR!=EzX2g&{?!>MyMD#6tsjCoyp+f}hySDB>dIWwb z08=bMf=j|Ka`1LjIbP)rEZS?OsF4{uQ|7@;m(kH9`Y*?o725;)>rDL8{K5H% zE&-gf)6=C!6DX?W7HG1 z?SY0wv+2Am`2u;IU|1q`^H9hFl#&ATwUqa59+&z32?uNVLF(2)UQa)pc zAduF_D4PfJ-Szc#XuKa7x@3XMtSTZTmHQHm_+8}EbAcfo$SUd@`y=oZ0##YTBw2z2 zMcI6g(wLcIGzZ7pB~?`C2Spi35L}2OROaeN2YZCGs^qYvS%x(mT~(qYZpR_wP;@Vw;31Jt+A3dsx*#Tu0%_sq{af)d_hjO1BXKJe~ z+oDygQr=$9&S{n;*)>itIrxN5;~fCwU#pVv<3Ct}6j3n-izUD7S)h5gkn2~GEWt&= z4$R<`paOhdv-@jq@{c3#f_!bXO`y=AN zsC%xX_b^F9l5a8$Oh^2uy(drhtoSbnyNBb4_%HYI+}w=58Hk(Oq*&$|U43gaDjggu z+7pw6A$UpnjjjTvF)ElTq@sT%eBUKU61ad=|CEsvxM4~L`UnT#j6QuD+}sSgPZt6K zM;5{)3Bd3ZT?y#d(Kp~VDlWzSr!0brI98F~c4@4W%D=^OoAS*_1BKHlsp1-wpoCq+ z3_u7zv4eAg^zRksH|DhlwL;4mkqHD(LHMIYp+`#yg>ubdxuKag1Ylm2u7yJ<8cnMg z8$qC>m;&@KS6SxjAJpL`0$IyVnqDvjzk?K~F+u;PD z9ivgS6{i7a3ULCq@&c!13W7Ho0Z;_Dv5DFGs@x8Iq;Bh-COf;?^9`!m9t4%)EQb!N z-F3t;>s?-)!qf833f8D+r{(o9cc7;wT+po6d)pi4SwUdpCCF2YZxm56$7M;?e;)~6 zCZmts|Mq1{P%)+Ym6HU$5uaPqyPxLzujbpvw1BSlfA7$a|Mq16aQ|WbzmJEl|7`oC zJejCaKy33wm%odoLQJM9tw2TH0@=l{C?dk43>I}nAG$G8&fB^U;a~U7L!PrS=8RW&sCNK zmi8;&6LUzS*(X3t%<63~%1`GfVcKgt|SRPU~m?)o_oo?{n3^P_2 z^zz*TrbY+==Ga|>MbB(9Y>Ho5L%9#J4RZBMj4nd8QIcn|qZ2iFpIcu3(H_V8uk`y( zDF7Yo|Ng<#C-(aP4OSiHDge-h52(>V{iUp1syCzLqr5gVn zetf6J)McIDqDPnzIW;=0GZtRA8;bS9Y55)SSYAw?94T=iUzrCSvZOly7#dPbe&#SJI0ahR)p^O$H$0kYeT?K>GSiG$ zAVd9{f>0lr%lnqck{*g1)d6_Cy{%Cz=zULVq@-As2RfcW;21U}w9zO790-13{mbD6 zU@OKE0fFj16W_K4+h-N8s{<3W=uRp|Kkk6XB+ccsvE6x;>|V6z$TvK|yW- zsfc~G7=E<~KtK}Ss2F_&CZ8K)$I+9H3MS45N`|!!VkbqG-qYy8nuo5z&_;RZD2Px& zzR!{v6@iAw$u@f+pn|AVoyWIU!n7aSp93MQNL8eb%OrNB1TMb1Q_8#A#8_gx(C6|3J&S zVjx+#UAInlhSfSj(2*stI$I*HN6Y$py&C2fT9%F`{0^qLD2W5O31Fy=wJ-OyZu3u5 z|H~KA{rdmx?v0-|{C}PvJm`P-@i6n%%RE;d+)CdntG$LPaNzB$`*F@19uT&GZ&}+v_cZv^K27=0)wfM9 z0Uh#x{A7G+%m2ftdk^yeJ|1!Y!;&Es%B2I4OiR$@m+n&4cbwO#qZ$tQ^BmJ~Yxxg3 z{8xnr4U?j9Q2X?0P?7?tm(K-x9;@P>CA0nz;>$Jvd0^3dv;XZKjBWq#C*y;M`F}4@ zL;sVpY;URWDUZ@N1E7lP+|&Liqe^KSpnPTRujSzN?61XVO?Q)UT=qXbD2Ac8Sy|}V zZnn)vXrS$HBb1HlYa=vU*J&fXorzF&u!*j(npjs~)$%jYEI)QAZ9Z7L24$PI=S&XC zE@My2ShS5j9fPr9>`^q_k*!A~y@9gL)FbQZrXGu>pU>2zTJT`$xy|EU|3!k#O{f8# z`u|h={O|B!@4^53ULH;V*KZuHybmz1E4A+j^s=k$3rs9;Hsr|V*cKSKwHjVh4KIz} zPE%jtj=?ei>)THo+5>dV|AWJWU0eTu`sBg>doRx|{6Dqy?HhFfHLl%tdVp$F`~h7+ zS906Dy+Haxy*Lf$!*yIae@LIB1l^%4r#=^Y_;OYZ-PsBro&DT1yIelQ92SJ<&1iGj zRHeK<*bekQJt@U1{bt4K-tK_e+fUNrsrleK+37kdBVJj-qSV;24*eDp(YM*Iy86hY z<=JkN`*p?Wqir2pM1+kCZ!K2=jRC{PfYH_)1xPVa=a(LB$_grfb5k3^l-Q|D%TSr@ zJC!+$lXJk_izKz%{7PLjNnz%`0ffQ|`PJcXc62%HT zsL{K`h<2-$v18Zrc|K*rFc=2S%2ebA0qZmo5r7p{VS61_0IhR#({vdF0sd&l_X@0J z{JiE+MgkB+z=U46+~L#ZcY(UUjY32J7lyjg`|q;?|CXf$CZ}0^T#<}<;1##n6Li`C z_wD;%d%K5+PapLE`*>RQe`sm{Gc_bYp7BI4d{FrJ0hJ0b-FF*c#IYFa3Z7gDBwn0e zHf*a*q|b8rMu_xowZN#!(|z@??AoT()QuK<7l=T)W%0}?_x43KV!d68T!R>@bJn`I zXvzV(HdpjLr`D@e)yw?(GOsl&jdoW@an6F@m71^fngN*O^sQ?Lp+nKiXrOil0Qj*R zKwU-yurB~0Qs78uvwP5S%1=(;y(2imzcD@V6crIl39RoV4TWm|RxG>&a~-x-h$yer z8;;<3f#^!2A?e_57e$T*r?rJV@bV@b$%DhK+s+soI=FgPhEa;cD2=8e&PI#fKrGj9c;MAzLSQtTqm(>X*+(5qHvTxItG2mC`1Far zRGU$`8jA!v;A{4kwdB*MuU*bXcP*y;^M7;q06XUY)2D~F|M%gO{RjL1y*w+;f0!hV z`+=LV{5S58X{Yv7+g??fztQgc$+|Tlt;|9>0=X{k)H@I12@%>pF~i0=fd0L43&_NJ z)Z*dc@QW~9G8Qf$pKbZx?PcEJ%8_mJFuu0Ha(SQ#N077H$Aqf;wu?-+k5jmnKP5TVt(Dy>%?-1B7&QRd zK6j?wmqBl0H*ah10M?2B#rm;PHfUzOZ59JT9mzc^;s9)0CVwkdXeUjQp3Pvdw?WFG zPISz?Z=cMa-7#OWC+7V+VcyCA`5LVE6VcA~6>xePE`^k10BqB@bK`}QLS3A54O|y2 z-7?;+(T_`x0jR-O?X~r6S1eVR1gYx?8NzjOp>=pnW%{zU?xB9;WKWI;MWUItp~x!2 z0xrww*<~P(gZLcL!fMy{rr;V~lqjkSq=Fy!L!%GLNu#5Ta~7qONJ=&l?nxWO_39uI z*g2s&lxC)AjXUlt4dV?vDYC)?ki>s-XayLss{$}Ib50vTROOH-_s~vk*kK*XDYqW` zPPH1h+$r%jOh+68Jq>a5C~DXYD8M*nL=Xt@#|RZ9aAR`GL>5z_PNVE2hBa0zr<(0M z)AqS@1DiKzC<8oEUmDxl$GeE|CPdd)4(l3;(Fm58+Lol%4#BqEZX4@gWx{%w1EvBM*|m-M6=rA_`kCY_x7XS8VzAZvSF?d zU^ON;zb~1gWFD5Y(JafZf(ghAG!&C&AQi11{fI?J_n5YL$t8%%PXqRD=^uYIEohqPON4n`L^9hI|S2L!_? z_(dxOi%ZKhPMb&XcfjLWK4;pXHJYqtdI+LfcAbLZTYb1pzKQ|eO>a@z%4a*X0nGAw zs1jL%-$BV$ule@I&O>-(UY;NZB zP~_}%C`K}wrv&IN=}{*euSHH)=U%Wkt8UGv8-7FjIJt()l1}0&DvT85DV6msxvfb4 zj);EQSi*R$Dol=eN?T8uJIXUv*0rUu3pwtux)C4oeC#fmW?-83w-mpE>H3-#7J(ws zxcO4$@-|_}@6Fl4jU_I?R)b{T@<2oy4*Kk3JQzGw8mY)vz~kO}s5aMGhF653vVu4E zd8U(api-l!83F7j4{NV_ZQ<(a65Bj3d2r*|%;Vqx@yuHHaR2whC4ph02Q z&B+l69;aE1-s3!|+b9}$aImknJ0n??C9Dd|BW;#H)xT?>sO+V$M)f;ElZ9n)qlGFp zE%5Y>E3>3BzF!u$$y|;P`uaRiOi?cye+0H_LoY4#*lVz6<=rr>Z?0ubD{XSyvm8p| z8|LGhrAJ_kN1fn>wz=Wd3$ur1j`xi?4C3>NZmwt#C0TY=1|Z+QpNZRG0Vv}xT1T{W~bVC@b(=gr0=^$iF%ry@j?O2U|2|)7- zrp;(P1t}7v!X6X4dEFpHZ?s4|>W3h{Te6AgBz=>`%)%QOZI&oC5f`SSq-Dm)3b3Vv z=jRYo1O(ropPvToWVyY}S>p)XlqE-=$}5iQ`t;j?F6pybxUF}CPKsXH8h{+Wt4p^X zvP?S=w6SQiwO^a8Ny5QExaVfW$yYm=7i zfPWQhR*@x%*gqFAjgOOj2H#Y3@I*g@k|fA}5+@_Za8zf9oU_IWR&JiAnBSC9A?J1% z?ORnOjg#5QX!O-$^3{T!%PJB$QV#yH=oAf-f+=*7vdR#2Z+Jj=pib>e>euH+_6{Z`_``-Xo=kudZo?FzgYJ^F_4U z`P0otTzhZoz-cT_gsWsQ47SadNn)GMtny1MN}CCFYm~EQRv3;H7FKt$8X8@f_&Veq za`uwt_6(EgbUtN;!d+hByh_EXiQiGm8DK?gsR>3fSskg!yKwb+$`wMn?{I28m#sGc zoBHr+rK2Z#P}7KCuzKVI6(m4(OFgQ!O2*1-1ud|{6|57epg}`3RDs>ijW`9}5ek|$ z`vfU);M;7R0tW(5sDj21jUoKxq@G~)Z^Ow?E7oA|7oYV;%$ zu;n6Ro|)Pu4`!;;T-UYUaT(zkwZUP1<2(OjdmHo!DC*GwbvCT)gJUg!W`w_+8>yFB z-`o7^Z)*wBZHrqT>zvVN+se`>$ZfxFAp3{Of}$*=8KN{XqnJx6=+;_qb2l{>1}QsDjOYi{vL>Ui~zb7OT+B4NBvhTA{faq{-{& zJTR?B3LA!^6nl-dlICR*?E~nC?d56EQSwy=9WVSR#Ec7d}k2vD&D3& z%Eq1-a5}{i_x>^&WPEaR%2Bxur%vM;+gZGY>7~5<iGH?+_oFUDeeYzGjq& zIlCQCSwI5OZtJDNE@y>ypxpZF1kFGBxZ;M>hb3N#qT)iFmgWF?dAe%I(?+xN>LS7A z>`g}AA{Z}^<5;8)cN=osD}!h>#)Z-d1^g!@|-m}zn-6*YUfb3jsN`Qbl^JDwN3##Po~-+7&z(* zwHo2z&sH6nRf<}5peItw$rUQs&+xXlRU_pqtqIMOzLveXJ*Mm9FVCv9?fXoZk!>;8 z^|-Bm4XHICsXO+0#~S9<@Lr@bzgoFz9q)0&*i~JWh)>WVfNHV}bJGyu+_?(LHb6h|9g4t%u24D+Dz0i`wzIp3zS+mpx$;Jd$-@r!gR_6Vpj?#DMmv>jM~|k3_04B zdWj=mIqwo*(8gdZL8%F=HKIIUC79Jr5=hxAO;Z01zAFD2{54S5c==edc^mobZQaPaAp~@;|{BqX-pb^q&5Ewuxl09rAx~{M63>@^o+a zA^+pOJT9q?3ZgQ*>eg-*1fsXGTX~%trgw_q`z(o3VLC8KJHD^5mC?`;78-SppgzOe zB(4hikXT+5GOUKTxE^G~W!&jUo=My7uo~wS3ja;7q>eRcm2PF*JZV^sy8$DRH==Hh zBQA;STt!&58%GCpSi%Lw36C)L7;J-p6qOhWyso6|pXpcSKhppN!{LzaEmuxW{MZhT zavMiSZrU?V>m(_aBO^)5FcRB3cY~Q}Df$Om@&;@7rhf+)hX*K)%wqux@d_>5AQpH5 z3F-^-=Hb%SANlE6|2Gl-wbTD|_lceV{c!Ig{_Fiba{pIgv_S0s?ucI=##2BC0G{Fq z66Qt~iD1eo_HXzs8Lb_7_gKpur~X@1q|U37JVz)$$?~OkbE;m|P$teI4;Yi(IaiyjM- z*xg{J8bM z8KerJ=ErlF_W$wW-V@vYbGZAE|KnaBDnP*r_tVtzvH71tOt#H`BS7;S0-*E!uMz*_>C^G}VgBF8!{+~Sl4RH5AJqjCHZqa-KjU`L z7^R_i>N}%&U)7-WBPr>u5T59jG`yk2FK4O-$nsmZ6knj7VZuBwvb?}ld8zGw?1;_I zUb0fF^w{Keqquu~AVdyMFGDJjcqSp!zFngE0u?9OJZC}V|8qCo{g1$5rR(HqXkO(L z6tGl-K}W14&a9IeimnthO2Y9iS7S$=>|tnoB(EOoeY>55!ojZ&FZQ5eZsuu||H98} zZ3|$R{2w>%e@}KF^1t58qw9a-zQSs%pFI1ZlTY4wW#gwUgDCwj@;i8sQyl(!si59HG*#;Yi zPWsaJJos9^+GbsLaXF2U*)n^1WL?H@ke|Gbxn$*C6~ zbC|{r|34nU-6x)O!J@eeTqfBC_cm7wyX~2#xq65!Edj4(`E)oy9f2)%Wx?@TZX5U~ z!*>nm38O4#zi;}oML=5B@w zo@0Vyy00TMT!O8OCF|nnZ_a30oL;hk+}q*citL0Pa$Z2KEjUaE+6MZV{`J z(pdt?h!@nh51HCYNEPf#m@zC~=o*ATTRw5%j-mgscsAsmICYuO64hH4T={9S9N1Jr@8ca0nQeI>^Dv~9LARQEPkjOPNOG%L>2`bpV&aMHXN}n%thap9hU6&J)BV&{& z*>bLqVl7k9^Ty{J^LDTwFhuh#Es+N<`+9~}23rzH(6mYzU>D>wQNRUz*y2i000aw| z;279Ax4tU310O{$sr;wh=(OqoG62LK+kc*n8|QzAPo6yZf8EQ&q}yv$T=I1y$s(AD z6;Aj;$en=*=EA=T!Rj|&sJq~#$~{Yk0BGnl0&bnWF%}Lut+lEW6^<%f*&LHv@8dP? zFnDv?_PDM+uS&xBL3O0-0uy9YrK2-IDbJt~1hs>;q{hJHl0WR{=o`Sw0WBioD_jzO zAD%_R<53Dl3J``kN5yj-5p{9Oz5^uFVq${ko(PHzM^m+&=&FpJtE`c>!TT`m$w?tI`A)hB+C}|=qE~0 zqn{+#6ri>~5`~TaQBG;HdtR{1bn%wMLe3fk0X1d4i~F3=@`WucSL5w$+;PYevdxP#=_K zm5b7oBamn`nnCsLBz>U+oeSvEZDCkVJkE3ahQ-M&Pz)|r3mrgK>(aVl-GCS^EUr8O zdt*KO9KOBi7gC@8@r%-t`{pof;5088Qr#8!@_bLJ7o#p?1Iv(%Y z`G5C!AL2jU%X7oi51!8um_wY_`8K5`J_ah7r?PB)Gg1Z<+fk@Cvrup+5*ptEYDp5i z?+-H>CsKGCSym^^bShOLS|BV?o|Twn#Zo)DX`J?(bqKuNHXQ)i`_n2(w0Lu7om_pi z0+s2zQz#WUnPXH}C9iNAzbrveGF?-(Q$*7aeUYj_djv&?=GY9TCTWDlrHpH?@|&(l z-R5YswL4bIdU>mWZw8hGPf@gtWX^c?b4ADl08qMMm9*{26ft0hTrs z9*g@Eyqj4)m4{z|u@mu|yNh19*T{O(TYM7jmA^PWj^Sh!cZ_Tcg2jWTa1mDj;FKRr zmpO{?bjc8oIEZOh(5Z-vETvkm+QJ2GBFHTpP`c17$%#d$6~7YZumDVsz~d|HgPMeo z7v>jD%wl$T)XoX4TNdiXs;=gVAl+>1kxjuI<|^3%fSM10yff%9VQ5AQtqXaFJZ=`( zh@Zn;!qtv-?NfJAfQNJr%qe1UN=C&C-4Nwec7dhB$^xy)a5Zn_bUEyrZQ>BI4n@ro z_$Oc!qMb(2l~<4jh;(ps+lJ;?m>(OH&%sP%^=PB6o|dB1EyxZ_mU}Hn=|Zj=^~BL; z6K)sqYqZzU+k*a`G{OV%`I3@njBkxTtopRnBI8L^B4#+9_{o318 zNp2u-xZl@WIg32TBbAT>&$U6kXDLffC;l3Wo@TxVCI)UZ2mQ^BrbXR`=pws79aN9L z832BeRkH2Mc~PM^$7g`$RRNbMMFk`%2Fw_gPBY#}T2l6m$~D8L{s0(uminVKO9#xS zirJ7GW~4eUCo8Ha=BoiotFHE{NeZiIWWiA#^w=u3g68^Q?0I_Zl*->7v%MhPwROLXWk;VNqx3`Wq#h#JbQFIAZ{1GBH}N@p7UWVmeGI(G0~^ zf(i-Cc+nruEGx+yel?Gl(0;B4LvAMI->tRvbEmYdO>XLkVVpCHxDOYtR%mcUqL6QK zQIel9nSIYoS}LBWLTAh4w5$^;s2?ki79RRk_-($zskqo)E7$gC4>5FVE0ZjrbH4M9Xgz44)#Dc4V7`sL=j9(q7{*O0=6Wj+eR?=)*08W+1g62cw6(Q#?yQJA14@! zoDka2_2ovI#YkN=`}Ap`|6U(D)G~(1zt@LKvIG@%h9K?dim)FP*)^XY`rq170K4x0 zK0Ro}e}A(3aR2LG9=37jF}0P#C+|5J3SSR(k69M9D>}K1=APiP8O`05&`+~?c|x~) zBEg#>;DN(6jzu%)W)t&9i7L!ta1T)7X(Hb7+QU_CV*Kg=`bcY!3Y5mE;7+!}Udw?i z*2i5@7MY*u-apAManw)h3)Ae-$_XmtB8ZTMwyW>b@n?PhFC(SYm%$%L$2+$d)~u_~}4Z^Uv) z|27=_dB^Hs*4;c5u#}jn#$4x)SSw$X5M!a*Y!` z>t(a?b?!ceqmi1={1Sj|51qk`ko-GDCV{Kh?9x(=$RU|cL>hk9GWx>hI^+W&6Vlco z&Uu<*4+Jl_SsO@{pJmZidn;O5YV^6LmpHH~9xy#dG{9N8vo)(j&%5EehLVKJY{M{l zjuN;$Ls6E-rO}Oa8i$TTpq;G}Jk>R;0-etaRL-&_Zo;-p^aM=s9Ay>pl5BqO2{cCq zW~N~`Oyjc~V$Xeq`_Ij+|DF1uewuqrEwDrX+uODCzwPagpFHS)_wukU>W|#K**;MTO-B;}@$k2Gr0v=Jd@eT{R|0_4ahcCLzPLZ5tHOzd$g{N>(YT z-GqaD5d{K~ely&GNnZ4lP&`2?^dov!zJ|~Ox|wy(B%kRy44hQmwo;^n2!;XAlMmE8 z?rm2WVGwISJ%01eAW5UTtS;(G;>W~r19mJJ7K{SH_=hxEN;d}ns{@Kp4BAWZO?Q|C zBkX_%-WrmN$nb>Z1NkI@cz!PBqA~au5mA1B1{0+=u!u!MdbyG`6J=o~KW8>CkZ@n1UE4vPdFYx?>VZT^JGO=N2Sfa-b&B7%0 zBQ6O}FWK^83Qrbk`x-7wkQZo*3IJ1J7ROUSW{};)EfJ9phz&B2+E8}H+!}oYejqbc zT;mb}P6i7KhrsENC)`GFp|x9>x}uR;s}@U(@2$jCm8M-rYu}a?DXUMfc=2sFy~$Ji zT&ZCk*aShABI?6!GkBU6BAI;)L7g>RN~v0)Rb}#Ht?Y24T}1y>EO$Jm|~GdauGN$e+BEa;d7-7ev&qgq_M!h1US8KDY8kmSWa4QIaRIY~25A zoLG5V!VSO1h>&+P^um1kIOCRJm&=FiQjjwgSc3#J7Fcsd=x1@+xbfu+c!d5J&QLPP zmuXg@&Ex3M|He=D?f74NhldaOf9~aZ1Wq9#s7P6a2|faN=!}aBCoxVhK@OuUc!|nz z@CcmGsA|HG{7X>IP?CVlB)b4}NTL}|FLywJ5=ig@F&U-3hiN=`1X6U#9KGnoMN|9{ z#as&gbvp#iQjn#rCMAi^W02q!g@f?<+50n+6=?8CMyvnv;%)wa@?e#t-@5@8@|W;`$8+fBjh{$leY2!|^X$GeYumG8*CeWmwKwFzFCy zqYD^cqLC;(WMzjqoo2-xa&O)Le@T`JI+`Ys49kC2ut3}3uRotNH6p?PlrnqxhhRM33)FX~|Mu_P{q1+~;pbl*C4bZo5&D(&7h@SYvlx}ASfGN%z4&?j zi%IZs2rDuRx~lD3)zU0QZIz_K;&*V7WpreGV5wMJYb?O;A}0tffAguOa3dOtLEOvf zn~a=_Os$xig zjyKrUV|WNCBtS1Xxv(zJ7C>vV9CnOfkkC_kBX~uS$8!HMeO>O znQQ8yLZ$_4*l(Dz6M5PCjUY=hXU8U9shl~gry8qtD*PN$JQ3d?x|!`P(`Pssmw`RR=*J&iBMD&? zp|X6P*?`|782?mYf__LNZNKY)(AB+;Dz(#+**W}kE4C8LEP9d562h4U(9nJ$y0 z7nM9&XQ-X!IVY;C$_l&?ReZeQpS6}{aSws)h*;q($!~W_%~0Oa@KSCS@7NvL#oaF4 zwQZ@rqRX#b)!iSrSGK*e<*ulsn&lYYQm;TT#w+l!F5i!db@^4fXw_VijaKd6e6;HI zXJkoWL8`nb8)fN!Oq8WNSlHx(QL&YS4fY#Vd$Z4|)q{Bj$`c$x{iF6x#tHLC0Xyoh zx0o=fC^dm!9Cxl(&B8)A>nh(Z-g??*`dMPy?JoM3$YosVQ?lEZ(#LY*g5S$LVx_$6 z&tEHtpKl_%QtElMladsWpv$F$@V8l#;Pmoc9z&vO8hW4*=df}5YCB2}hATaTUrj?IU+EI1cIuhwEsLq$$S`RQ3)2i;S>GXOgmjlv*J3-;$KIq^hhLGEl0fC z_GdaQR{p;wDM#v#{d@X5yv#O(qy7AMe{bK8|G)cW?_m6J{(B#faPCm2z18k&{I8(xu#}A+I<~76lYrON%9o@-B$^ehAf7HqWrYa}2HS%HlLTt#bB;=K zM!!+fP(=jXFj%a3$Ud;&>{u5_eBt*fnX^}ePlLgq+Yn#$F8iAh> zND+#82Ii?evnCn1!qFATraXfvh07uCfJ}Po((1uw#y$q%I!nJM;400o0ldg60*lq%0C_5Tm;B-{Zf=>>hb!k<~K*B!0!X+oN1<8%5zcY+J^~AITf?=fa zasS9^RsbF&heWg^xF9vU!JK#Xk^YuNwAo@@CXvYaxI_87 zZB)fmR{O6<^pgd)rs7+OlQ-G*7AlJHMNwqM*0u@8xONRdZ7_TdQ#?gHn7vM)d|!s& zA+n|C#N7cwa}t~69G4|3nBEb-$;gX&PL^9ulxEF39^MXk&ofcl6+*hl-wL=^FZ30z zCfX|1b8u+g6)Cb5hM!jX?4`zFB&5_7i=P|UgB=L zO=t^P02q-9CeI;(EYm<^#>=NJCm3nt^f3sCq5pmdT%lz>@N0k$%1n%mvLlg-Ys-Ak zpoa9<)^@nXiQjHg&SoGKvLH)HYrhH#PeOz3YYe;FYh^BDY zl+P5zErc^HF3Y1bK_~|}_;&#c^gfv5T!(i-47@s=PQE}72_#meL1Y(*^ z3y+MZW2s$0v)Z?o&b0Quie`%Nk1CgG+wM##zepFim&sm{{32agKzfK~^KlF67wMuQ zr~iSLjA=?zJHga)5v7Ze|9!+hzR#xbQM%AYDMQm}z>SPnI1#b5R81E--zFJsw9P}# zl$Jd@2>1FBF%^IVR^EmB?^%{KxavWDk!8sdGphB$eZe6IqJj(g%hb`M9^^PBM+dzc zjZ@xaPmBN0i;sDNBTUpWxO>H>NYBoX&tIOrfAQu=v;TL1_4)m`Z-00lsw6xiOK0>J zP5B>Gk{&U!oMthP!`7o6HT1?P+5v%un-;M!=#76lZ??IM<8OX={^I?cGS{lhV{`uZ~l1$!nfRF88V;ue}4Msry-2zIQ`IrNCAkFsIBO{ zzDee5{E?ApE(Zj4{)!Z(Th0@wYk5{goRW?5eDB>_Jce^XTbRSMsRobab|A>9p>xmGl?s zqNk2t>z=P+&K1NfwAGl!O{Lebu)jzbJ@j>z$FQfy&ivpCfs1GKlSp2}+<`|_lJPfq z{hxWL?q6)B-dUUOU!?mT@a$Uv@3{9nAiL7h)cO5>`Tx;R?nbGG@#K2ES$u%BiThx? z7yaH&?}NH8j*jisYncBmdf^vvq%dx95A`Bl?3f5Qxr3rTu-^HDe={Xq%lSjq@5W|} zmtaG<&qm9&vEm>mfT{I64#*P_1iGd~Tg<<@^=zJ4P%0B=FHYXRIIlGu{IcEA7i79HPIA1Iz%_q$tA*JE|3(dfF3W*XM!Dzq`-&V0<)6zyIs83k^O zZTma#u#_}EO3$vI#x=J+O_DGH!5q?kl<{Q(#ybs!6CRyiUky%}wk!3#22z;>NW3g#bhG9WxeF7 zqr7nZO*Aq5JpQGlqG!dEqj(220166?HSU&3#Q66kk&{eA)M9wxSxt_>_!f$Th1huS zY3AB$1%>TzdoL2!P$KFpH~NijB{zh|FgXGr6cX*4&cq(qDu<{3h}DsAqRbjFnxR!H z02Oyn-aj(oB@oYl!eqvm{nsiY^ol67P|_oQ-@;)(l2^kfKwSrW4bx?FAmHE71nhq2 zru0n2mtK)VBev-T%$MvB#~>8ZtAqJcURjT%_O|1yt-t zFe3BZLl;_Xm@Exzj23>DDUPusAJ(y;d}FE6+&lj~qf<~|b?ez`1p5jI5={uYvdtjS zftFQ7L9=w>|1B4Noi1kCU^fnTn&eD?x{s)9QZHnb)8^4gH!>;FXM$x_M2kWJfHKq5sgwqr*4p z5DU3SX_imtAyaSjAV=roNKZ<;e+N$<@_*dR)A#-#u&(so#T7si8|V)109ue6mjHoziSLhg50E#%|3yHXUGAHJ z4W`mR&zCt`_q2vR-Xj~Xjeg66H@J`EYwCc1!)Tt)xX)$`T#d8&8qEag0j%`x!gGk` zS$c+AF8&!g%Z_4Jq14ajSEEC#uQygv=RPcHkfAqcgZwxX8QIQ!ZVNUcdJ4DOQDQ={ zkIWjklKiBo?Xiyv(|N)m;)_1-(6l>qcJ;CLvMn4cil(wxAW{{nM}q@*wqcz2+9n#e z?qo;Za=$otyCl#-V@p4r5>!lKgl<0F=yOB}9%Hb|clDI!7cZ>sae@fiVz_pIvsK%T zecY8c=opdxy+phWy|S6t!+8I>wV#K_(En#yfq$c0`Q&|`#qVK7vND2eZwET^KaBUD z?%MhPp6nky=>PZed@1_>_iE^!X7RBac$?k~bfNh(?F>A;=(kPiWMp&C(9L`Lr!Y84 z#22tcKdQr7?JBmYPpLG#l0L1w@u(l~7R1vM_h#gr#q(-H_nm~{^sS8LravwRwAb)s zYgzYp$9=WR`%oRk)HU0=AeHfYz1I)Ucvr1XMLiByB*xUqd1qM8%sVdTPr&Yui_sIX z?`|63PMje^XHL0#3&qW5t)ajecu5N6&)ojq*{Ek1>LHfrdNr?J;Tt z(2Z7`E1N)9k82OQy1@D#RxQ2K!%3>&Li`$$0!N=~C2leQ$zZ1DuDY?{ad~-i`tBXU z3I2@*kvv63gi-=8Q6Kr-Pa^v;9375*LRPh5Vm0C>i1I3!fWvX~CaTt`*Jz#<%R6pY z3zDO!w`tm(0SqSKsjqb>+57^h{nUf?JLi5{Ejx4vv@_sgEu%hr?&tghj_5vNtGzCt6vqox zz)Pgf3Jo5Mg>rb%ae=PqGO8xhj@G{I2h-u5J%;^Hq^a0!^xsbV-_zZvcKqLirw{Re z@8|ha?0+KR%%<&qHrPLteNVK#pFOX^sHXj{$xDa5Zo~I81y0Yk`|q=|{q`pJ81LZ% z(4lU6ZD4}FR-4yzT=q12{j9~>;t7Ks7c@Olefm(sO;nU?$7w8`mYpQ|11-5p;}=3Z z3LB}Nj(9dFw$$)cPQ9xeDVmN(d~TZBM+c9%HOpfFD^KlHpoAy~bNnOQE> ztC*E7q8#4yqQu)OL2`3$Rnqt91uf>k{?H^^=?{Nx@x|}Eb(O$&465rp8gvl07@9vh zT5sO>rOHejp=?%}T(U_ZB*(3I zQ#)8gmDqqX%9SpAN$XQzww^94M|nLO*8s(Wuyxw4|1eR>k z2E6vG^H*oB7NgT5Tj2Os5xLh`l}V!3WctUEWB=A#u~b|;;(rbuwLOa<z45I0#M`!t)td8pW#j*VJFwMg$Ugq=IpjH^7A3BDpFIqh>($DU6#~q+Ydl!*o zA9TI-biJ0voh}<|*inqo6G@wM8%fHu97Ww~A_voAF(64v2bT^`05=UF9bi_swdjZ` zDsLbLTYpmPYFiuzj}FynT0NWFtR8I<7;Y1s^_FC8()iMEtUcWQ`eGl$|074m9G4~S z?)SfD7n||}>G1zJJUo12`F|Wf89&5-xR>Wk@&7ojhu(i@7n^ni@j(AGd4rfN=;svT zV_VZV#LHlYxm{t1(r9eQr%&4(6W^c5}%UB;R1 zmxrV4Ri1?eyJFZngQ z@a;*y&$27AANlX>!rF@rVMVf`w)D52^U?{o%HBkyYQ5Voen8!(zgFqQL)MkYX>7#= z-fR|ofySRDS^5WA^Wl#zS#B>QZYPu4B#X1ou3()E5!IU6HryrziKGeeuSHAq!jhu@xZg7$zu9#%4Td#y{w3CH`9yC$k-iql2+Ba#tUrlnuSyM|o z$>wvI#$C68Yjvil4zh~wv4YOAx~{RBjKDxl^sGQL?d>Hjpsc3^*VMep; zIt9bGVDjYf8TeZC*Vjx>us+do{dH#+WIw0m<(52)&rnnqm@H4Sl%S9PjZ5?9wnO)9 zfD2)gWY?z!Uf={>q8DWZ6Lu9<<}EXTcrY~>AMFO{WDJPOqce_DRXbi0D?Ij{7kd|&>npQ_2ure!m z038gi+-G1d)*rJ0cDH=zIBIjV#aK9ryvXVfmB!12|aG+b^J%jZXi7cE-~`-@y4AJ_3FN zKtK0+^*AyCXy%QOE5h~-Is=*IG3!VmC=wN(RnsZ{=*`&Og?0zHicn?whXpDM9HXOQ zJ8cc3-e{HG2^uy)R5Ou+i)%(Q!avLIAzws2J&V^S8e(U>ty|3J zGm;hXl71>TkrKv#r&hzWVz!rCO>rIH1O!7zRuT4Xlk=z4a60CXMUo?t=UD_3^grL8 zZCKbCbe)|Xzj`sGNc^PXk3&&s7|~ZlpEP2_Qpx4JA$ZtA=!4{0Rr0tNy<3T&mMx|+ z*N=|q>|5dPV~xZJK&-)Rah_lQ)}w}J2dqiVhW3T#{x6F+9sBPuo%_H2y{CJ2{=b9q zlf8%i-+eq^%>FNnH@?}^K>n$Ac3IqW8>chKv1c>*NB@)o%-2!o{0@?|7|`-#wd!#0 ze0>bY1ne4$PmUry#rzI)Ym&D@W=Gi9)dB%?|4*h4e1U1Vd;8VUH#;3kxeI?Ve*dng zF(cSTL`1H$;_3^S6zpl887WSjbK{&U%T8%*Fwty^PHeI4!J{`>>cl19KZt`rtT<3(U_D`Q9LJcF29p!zR)*lEN(fL*|ryyB2Z?jgQ>(gKF?iu&hPdb$Shp`1tgty8wMK?KA&p z`V3hdzzGNvc!82KXe|uD6r&`5i>B>BwX!_S_8bvN85nXbtn!E3F9hG*_Hw7KAbPYz zc~{Qbrb%~nHWhT){lBFcYq@P#U$0}+Az%r`31ly{K@@!YtRmTz%m3CQc~Rf%T16hK z%W`eUAL@!$J1;!y8Dp}*v*r1b3JK7eM!wUOB5NzcGa zYBe(mv@vzYO}dR{s;z2FqEjvEwoBW}OOd&(thXl3myQ*QzA^k-Rz;%wh_G|@MhO^2 zs4QP+^!r-`;F^^z`J)(dHnMb5S68b;pbN3$aP`+={-FWgNJ- zsB5hpUhCFt6ys_RTH;gV-_R>O$HcdE)CvFjTShU5duLI2gOe>o4of*B25_)xw>VCqCHxymZ;>NG$)*joT}{l5H(!zI z`iwP@wE>J{b|9iV#s3Tz0?bb3GETZvQewct@MCSQ!b5E$^QqUsIveic7H72tm z!+EE4?ltL@CC(Y3;5jZ(M5rk5ZjpfYCo^2SqJcGogsBdFFkn6yFdqzGI4ejgQ@pstzU|i`ik*u|25>I2} zq_kR>>Li>|ZpuSQde*6ctM5-P3I61O$S+ z+ScS)>%YM0KWqO&w=U!FaNxd-BU9%H_+QKh=l(=}-5Whcz23jKbOdVRv;@0rZfo&8 z%)0ur;i~B0By~w{6Hc48%qVG_&P*^~J6dfkR||qsQ?yf^JGZY9%Cc62)y-?V9C0rW zR{V`xnzUs#adOq)>8|RnxlDi|y5*SgGm8xhtwMKlT6YUP5jqs$9i1vYS&XxV&6prf zhBLAJxmmr+M$EDKT7U7+I?0Jo^=AP^A zt!>!-?|&Kh|3tpUP2U0R$p5l`c+j~2_jG^!aR2Wv9NqUt*9XRdI_7*GChWMvgmeu1kXeT9lf^bdbYmKgup z_}N&WxV>7=0r=W3zBXH5m+B#2wAK?<@8}l9wsh08v5|8a&h^ip8(}?&WZPXonJht* zO{IszFZ}YSCa28V+{dKNbM=4PNkq$*O6h7Z0tX?-ipl2=x1l+ZCCEeBS4eVfHb z;R?1R&-RXQ>2%a}9NLx?{e8jL!`g?Woocgx@!;o_np4 zP$nQaKRLC09`gi8n9%p0E2BPflnbaw9Of$6zCS-dT~YWcY^?6;=+0JK5Dau@E8=_i z{PxVGb=}zbmoHaRKZwgsi%Z%0K4~Tg&HA$JI88Ic(mZTHA@^qpsj*l^~JX_@n#@wbka>g3W%ooDijII!>j576)7U93~?qcn?nCD%V>t!b|jb) zl9$SL1l*Cd^lE=SmQcdd)7lTfx z6P-MdYlqn#mjU76C4X>n_U3DD!ZuJ=y}e=^YA=84^Q9c{|f*B|Nq!>UvB_} F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/grocy/6.8.3/ix_values.yaml b/stable/grocy/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..c667aba334c --- /dev/null +++ b/stable/grocy/6.8.3/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.1.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/stable/grocy/6.8.3/questions.yaml b/stable/grocy/6.8.3/questions.yaml new file mode 100644 index 00000000000..ad2491d0f14 --- /dev/null +++ b/stable/grocy/6.8.3/questions.yaml @@ -0,0 +1,647 @@ +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 + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/grocy/6.8.3/templates/common.yaml b/stable/grocy/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/grocy/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/grocy/6.8.3/test_values.yaml b/stable/grocy/6.8.3/test_values.yaml new file mode 100644 index 00000000000..5227656dc04 --- /dev/null +++ b/stable/grocy/6.8.3/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for grocy. + +image: + repository: linuxserver/grocy + tag: version-v3.1.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/stable/grocy/6.8.3/values.yaml b/stable/grocy/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/handbrake/6.8.3/CONFIG.md b/stable/handbrake/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/handbrake/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/handbrake/6.8.3/Chart.lock new file mode 100644 index 00000000000..7ce8f104052 --- /dev/null +++ b/stable/handbrake/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:37:29.848649463Z" diff --git a/stable/handbrake/6.8.3/Chart.yaml b/stable/handbrake/6.8.3/Chart.yaml new file mode 100644 index 00000000000..7a42ac04e80 --- /dev/null +++ b/stable/handbrake/6.8.3/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/handbrake/6.8.3/README.md b/stable/handbrake/6.8.3/README.md new file mode 100644 index 00000000000..9db8196cdbc --- /dev/null +++ b/stable/handbrake/6.8.3/README.md @@ -0,0 +1,44 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/handbrake/6.8.3/app-readme.md new file mode 100644 index 00000000000..8e6089d9f0c --- /dev/null +++ b/stable/handbrake/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/handbrake/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/handbrake/6.8.3/ix_values.yaml b/stable/handbrake/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..e403ece7c74 --- /dev/null +++ b/stable/handbrake/6.8.3/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.24.1 + 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.8.3/questions.yaml b/stable/handbrake/6.8.3/questions.yaml new file mode 100644 index 00000000000..28f675780a1 --- /dev/null +++ b/stable/handbrake/6.8.3/questions.yaml @@ -0,0 +1,864 @@ +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 + - 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 + + - 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: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/handbrake/6.8.3/templates/common.yaml b/stable/handbrake/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/handbrake/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/handbrake/6.8.3/test_values.yaml b/stable/handbrake/6.8.3/test_values.yaml new file mode 100644 index 00000000000..6820292289c --- /dev/null +++ b/stable/handbrake/6.8.3/test_values.yaml @@ -0,0 +1,51 @@ +image: + repository: jlesage/handbrake + tag: v1.24.1 + 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.8.3/values.yaml b/stable/handbrake/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/haste-server/1.8.3/CONFIG.md b/stable/haste-server/1.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/haste-server/1.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/haste-server/1.8.3/Chart.lock b/stable/haste-server/1.8.3/Chart.lock new file mode 100644 index 00000000000..79102bc760a --- /dev/null +++ b/stable/haste-server/1.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:37:33.736322461Z" diff --git a/stable/haste-server/1.8.3/Chart.yaml b/stable/haste-server/1.8.3/Chart.yaml new file mode 100644 index 00000000000..df2e1285411 --- /dev/null +++ b/stable/haste-server/1.8.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/haste-server/1.8.3/README.md b/stable/haste-server/1.8.3/README.md new file mode 100644 index 00000000000..d7dcc200959 --- /dev/null +++ b/stable/haste-server/1.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.8.2](https://img.shields.io/badge/Version-1.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/haste-server/1.8.3/app-readme.md b/stable/haste-server/1.8.3/app-readme.md new file mode 100644 index 00000000000..5f4872e4afe --- /dev/null +++ b/stable/haste-server/1.8.3/app-readme.md @@ -0,0 +1,4 @@ +Simple text sharing + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Simple text sharing diff --git a/stable/haste-server/1.8.3/charts/common-6.10.7.tgz b/stable/haste-server/1.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/haste-server/1.8.3/ix_values.yaml b/stable/haste-server/1.8.3/ix_values.yaml new file mode 100644 index 00000000000..a9ee0bcb65b --- /dev/null +++ b/stable/haste-server/1.8.3/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/stable/haste-server/1.8.3/questions.yaml b/stable/haste-server/1.8.3/questions.yaml new file mode 100644 index 00000000000..38b20ffa12c --- /dev/null +++ b/stable/haste-server/1.8.3/questions.yaml @@ -0,0 +1,692 @@ +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 + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/haste-server/1.8.3/templates/common.yaml b/stable/haste-server/1.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/haste-server/1.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/haste-server/1.8.3/test_values.yaml b/stable/haste-server/1.8.3/test_values.yaml new file mode 100644 index 00000000000..2a475ddaa2a --- /dev/null +++ b/stable/haste-server/1.8.3/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/stable/haste-server/1.8.3/values.yaml b/stable/haste-server/1.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/healthchecks/1.6.3/CONFIG.md b/stable/healthchecks/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/healthchecks/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/healthchecks/1.6.3/Chart.lock b/stable/healthchecks/1.6.3/Chart.lock new file mode 100644 index 00000000000..a5a5fb6d6e0 --- /dev/null +++ b/stable/healthchecks/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:37:37.670575027Z" diff --git a/stable/healthchecks/1.6.3/Chart.yaml b/stable/healthchecks/1.6.3/Chart.yaml new file mode 100644 index 00000000000..e5c1d987c8a --- /dev/null +++ b/stable/healthchecks/1.6.3/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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://avatars.githubusercontent.com/u/13053880?s=200&v=4 +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.6.3 diff --git a/stable/healthchecks/1.6.3/README.md b/stable/healthchecks/1.6.3/README.md new file mode 100644 index 00000000000..29b1df7749b --- /dev/null +++ b/stable/healthchecks/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/healthchecks/1.6.3/app-readme.md b/stable/healthchecks/1.6.3/app-readme.md new file mode 100644 index 00000000000..5c726785312 --- /dev/null +++ b/stable/healthchecks/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +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. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Healthchecks is a cron job monitoring service. It listens for HTTP requests diff --git a/stable/healthchecks/1.6.3/charts/common-6.10.7.tgz b/stable/healthchecks/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/healthchecks/1.6.3/ix_values.yaml b/stable/healthchecks/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..484ea724c48 --- /dev/null +++ b/stable/healthchecks/1.6.3/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.22.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/healthchecks/1.6.3/questions.yaml b/stable/healthchecks/1.6.3/questions.yaml new file mode 100644 index 00000000000..276ee90b9ba --- /dev/null +++ b/stable/healthchecks/1.6.3/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: 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 + private: 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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/healthchecks/1.6.3/templates/common.yaml b/stable/healthchecks/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/healthchecks/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/healthchecks/1.6.3/test_values.yaml b/stable/healthchecks/1.6.3/test_values.yaml new file mode 100644 index 00000000000..87890e97cdb --- /dev/null +++ b/stable/healthchecks/1.6.3/test_values.yaml @@ -0,0 +1,41 @@ +# Default values for healthchecks. + +image: + # -- image repository + repository: linuxserver/healthchecks + # -- image tag + tag: version-v1.22.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/stable/healthchecks/1.6.3/values.yaml b/stable/healthchecks/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/heimdall/6.8.3/CONFIG.md b/stable/heimdall/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/heimdall/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/heimdall/6.8.3/Chart.lock b/stable/heimdall/6.8.3/Chart.lock new file mode 100644 index 00000000000..018a08bd1c2 --- /dev/null +++ b/stable/heimdall/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:37:41.616627797Z" diff --git a/stable/heimdall/6.8.3/Chart.yaml b/stable/heimdall/6.8.3/Chart.yaml new file mode 100644 index 00000000000..1e8baf1dcf2 --- /dev/null +++ b/stable/heimdall/6.8.3/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/heimdall/6.8.3/README.md b/stable/heimdall/6.8.3/README.md new file mode 100644 index 00000000000..15c06174b4a --- /dev/null +++ b/stable/heimdall/6.8.3/README.md @@ -0,0 +1,38 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/heimdall/6.8.3/app-readme.md b/stable/heimdall/6.8.3/app-readme.md new file mode 100644 index 00000000000..34abbfd370f --- /dev/null +++ b/stable/heimdall/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/heimdall/6.8.3/charts/common-6.10.7.tgz b/stable/heimdall/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/heimdall/6.8.3/ix_values.yaml b/stable/heimdall/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..bdcc3ce0176 --- /dev/null +++ b/stable/heimdall/6.8.3/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/stable/heimdall/6.8.3/questions.yaml b/stable/heimdall/6.8.3/questions.yaml new file mode 100644 index 00000000000..34e20b333e5 --- /dev/null +++ b/stable/heimdall/6.8.3/questions.yaml @@ -0,0 +1,648 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/heimdall/6.8.3/templates/common.yaml b/stable/heimdall/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/heimdall/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/heimdall/6.8.3/test_values.yaml b/stable/heimdall/6.8.3/test_values.yaml new file mode 100644 index 00000000000..658614359ea --- /dev/null +++ b/stable/heimdall/6.8.3/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/stable/heimdall/6.8.3/values.yaml b/stable/heimdall/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/home-assistant/6.8.3/CONFIG.md b/stable/home-assistant/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/home-assistant/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/home-assistant/6.8.3/Chart.lock new file mode 100644 index 00000000000..489edaa2075 --- /dev/null +++ b/stable/home-assistant/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:37:45.597773681Z" diff --git a/stable/home-assistant/6.8.3/Chart.yaml b/stable/home-assistant/6.8.3/Chart.yaml new file mode 100644 index 00000000000..522b7ce9358 --- /dev/null +++ b/stable/home-assistant/6.8.3/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/home-assistant/6.8.3/README.md b/stable/home-assistant/6.8.3/README.md new file mode 100644 index 00000000000..384eef7a522 --- /dev/null +++ b/stable/home-assistant/6.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/home-assistant/6.8.3/app-readme.md new file mode 100644 index 00000000000..1b5f149dda8 --- /dev/null +++ b/stable/home-assistant/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/home-assistant/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/home-assistant/6.8.3/ix_values.yaml b/stable/home-assistant/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..161391fb151 --- /dev/null +++ b/stable/home-assistant/6.8.3/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.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/stable/home-assistant/6.8.3/questions.yaml b/stable/home-assistant/6.8.3/questions.yaml new file mode 100644 index 00000000000..a110d139e7d --- /dev/null +++ b/stable/home-assistant/6.8.3/questions.yaml @@ -0,0 +1,703 @@ +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 + + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/home-assistant/6.8.3/templates/common.yaml b/stable/home-assistant/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/home-assistant/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/home-assistant/6.8.3/templates/secret.yaml b/stable/home-assistant/6.8.3/templates/secret.yaml new file mode 100644 index 00000000000..19f769cf59b --- /dev/null +++ b/stable/home-assistant/6.8.3/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.8.3/test_values.yaml b/stable/home-assistant/6.8.3/test_values.yaml new file mode 100644 index 00000000000..521b446fe08 --- /dev/null +++ b/stable/home-assistant/6.8.3/test_values.yaml @@ -0,0 +1,83 @@ +# Default values for Home Assistant + +image: + repository: homeassistant/home-assistant + pullPolicy: IfNotPresent + tag: 2021.8.8 + +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.8.3/values.yaml b/stable/home-assistant/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/hyperion-ng/1.6.3/CONFIG.md b/stable/hyperion-ng/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/hyperion-ng/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/hyperion-ng/1.6.3/Chart.lock b/stable/hyperion-ng/1.6.3/Chart.lock new file mode 100644 index 00000000000..f8210535125 --- /dev/null +++ b/stable/hyperion-ng/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:37:49.498588482Z" diff --git a/stable/hyperion-ng/1.6.3/Chart.yaml b/stable/hyperion-ng/1.6.3/Chart.yaml new file mode 100644 index 00000000000..b3dde645b9b --- /dev/null +++ b/stable/hyperion-ng/1.6.3/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/hyperion-ng/1.6.3/README.md b/stable/hyperion-ng/1.6.3/README.md new file mode 100644 index 00000000000..88dc8bf986a --- /dev/null +++ b/stable/hyperion-ng/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/hyperion-ng/1.6.3/app-readme.md b/stable/hyperion-ng/1.6.3/app-readme.md new file mode 100644 index 00000000000..f2e71517e2c --- /dev/null +++ b/stable/hyperion-ng/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +Hyperion is an opensource Bias or Ambient Lighting implementation + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Hyperion is an opensource Bias or Ambient Lighting implementation diff --git a/stable/hyperion-ng/1.6.3/charts/common-6.10.7.tgz b/stable/hyperion-ng/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/hyperion-ng/1.6.3/ix_values.yaml b/stable/hyperion-ng/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..5f7832aeb94 --- /dev/null +++ b/stable/hyperion-ng/1.6.3/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/stable/hyperion-ng/1.6.3/questions.yaml b/stable/hyperion-ng/1.6.3/questions.yaml new file mode 100644 index 00000000000..f5cf266a2ef --- /dev/null +++ b/stable/hyperion-ng/1.6.3/questions.yaml @@ -0,0 +1,989 @@ +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 + - 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 + - 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 + - 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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/hyperion-ng/1.6.3/templates/common.yaml b/stable/hyperion-ng/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/hyperion-ng/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/hyperion-ng/1.6.3/test_values.yaml b/stable/hyperion-ng/1.6.3/test_values.yaml new file mode 100644 index 00000000000..c4b7a2ccb5b --- /dev/null +++ b/stable/hyperion-ng/1.6.3/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/stable/hyperion-ng/1.6.3/values.yaml b/stable/hyperion-ng/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/jackett/6.8.3/CONFIG.md b/stable/jackett/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/jackett/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/jackett/6.8.3/Chart.lock new file mode 100644 index 00000000000..4502ae48e5d --- /dev/null +++ b/stable/jackett/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:37:53.507087199Z" diff --git a/stable/jackett/6.8.3/Chart.yaml b/stable/jackett/6.8.3/Chart.yaml new file mode 100644 index 00000000000..399ee1c40c4 --- /dev/null +++ b/stable/jackett/6.8.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/jackett/6.8.3/README.md b/stable/jackett/6.8.3/README.md new file mode 100644 index 00000000000..3bd08e5574c --- /dev/null +++ b/stable/jackett/6.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/jackett/6.8.3/app-readme.md new file mode 100644 index 00000000000..98549f0fc93 --- /dev/null +++ b/stable/jackett/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/jackett/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/jackett/6.8.3/ix_values.yaml b/stable/jackett/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..2bbd4d359d6 --- /dev/null +++ b/stable/jackett/6.8.3/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.599 + +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.8.3/questions.yaml b/stable/jackett/6.8.3/questions.yaml new file mode 100644 index 00000000000..35eaa50b610 --- /dev/null +++ b/stable/jackett/6.8.3/questions.yaml @@ -0,0 +1,686 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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.8.3/templates/common.yaml b/stable/jackett/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/jackett/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/jackett/6.8.3/test_values.yaml b/stable/jackett/6.8.3/test_values.yaml new file mode 100644 index 00000000000..a8d9fed13c4 --- /dev/null +++ b/stable/jackett/6.8.3/test_values.yaml @@ -0,0 +1,39 @@ +# Default values for Jackett. + +image: + repository: ghcr.io/k8s-at-home/jackett + pullPolicy: IfNotPresent + tag: v0.18.599 + +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.8.3/values.yaml b/stable/jackett/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/jellyfin/6.8.3/CONFIG.md b/stable/jellyfin/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/jellyfin/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/jellyfin/6.8.3/Chart.lock new file mode 100644 index 00000000000..59889777962 --- /dev/null +++ b/stable/jellyfin/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:37:57.614800825Z" diff --git a/stable/jellyfin/6.8.3/Chart.yaml b/stable/jellyfin/6.8.3/Chart.yaml new file mode 100644 index 00000000000..80b3fef785b --- /dev/null +++ b/stable/jellyfin/6.8.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/jellyfin/6.8.3/README.md b/stable/jellyfin/6.8.3/README.md new file mode 100644 index 00000000000..3b28df82511 --- /dev/null +++ b/stable/jellyfin/6.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/jellyfin/6.8.3/app-readme.md new file mode 100644 index 00000000000..ca419ffecaa --- /dev/null +++ b/stable/jellyfin/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/jellyfin/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/jellyfin/6.8.3/ix_values.yaml b/stable/jellyfin/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..6d15d6ab62b --- /dev/null +++ b/stable/jellyfin/6.8.3/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: jellyfin/jellyfin + pullPolicy: IfNotPresent + tag: 10.7.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/jellyfin/6.8.3/questions.yaml b/stable/jellyfin/6.8.3/questions.yaml new file mode 100644 index 00000000000..44288c89f2d --- /dev/null +++ b/stable/jellyfin/6.8.3/questions.yaml @@ -0,0 +1,705 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - variable: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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.8.3/templates/common.yaml b/stable/jellyfin/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/jellyfin/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/jellyfin/6.8.3/test_values.yaml b/stable/jellyfin/6.8.3/test_values.yaml new file mode 100644 index 00000000000..8a0824cc8d0 --- /dev/null +++ b/stable/jellyfin/6.8.3/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.8.3/values.yaml b/stable/jellyfin/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/kms/6.8.3/CONFIG.md b/stable/kms/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/kms/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/kms/6.8.3/Chart.lock new file mode 100644 index 00000000000..4f25a0ccacd --- /dev/null +++ b/stable/kms/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:38:01.558220016Z" diff --git a/stable/kms/6.8.3/Chart.yaml b/stable/kms/6.8.3/Chart.yaml new file mode 100644 index 00000000000..e81fa0cc8f0 --- /dev/null +++ b/stable/kms/6.8.3/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: minimal +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/kms/6.8.3/README.md b/stable/kms/6.8.3/README.md new file mode 100644 index 00000000000..b47fff617fe --- /dev/null +++ b/stable/kms/6.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/kms/6.8.3/app-readme.md new file mode 100644 index 00000000000..0c9616d9471 --- /dev/null +++ b/stable/kms/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/kms/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/kms/6.8.3/ix_values.yaml b/stable/kms/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..05f3f76e0a3 --- /dev/null +++ b/stable/kms/6.8.3/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.8.3/questions.yaml b/stable/kms/6.8.3/questions.yaml new file mode 100644 index 00000000000..57160448972 --- /dev/null +++ b/stable/kms/6.8.3/questions.yaml @@ -0,0 +1,415 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/kms/6.8.3/templates/common.yaml b/stable/kms/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/kms/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/kms/6.8.3/test_values.yaml b/stable/kms/6.8.3/test_values.yaml new file mode 100644 index 00000000000..8aabb450d99 --- /dev/null +++ b/stable/kms/6.8.3/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.8.3/values.yaml b/stable/kms/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/komga/1.6.3/CONFIG.md b/stable/komga/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/komga/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/komga/1.6.3/Chart.lock b/stable/komga/1.6.3/Chart.lock new file mode 100644 index 00000000000..56c85ae908d --- /dev/null +++ b/stable/komga/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:38:05.54057005Z" diff --git a/stable/komga/1.6.3/Chart.yaml b/stable/komga/1.6.3/Chart.yaml new file mode 100644 index 00000000000..cb796e0d7f0 --- /dev/null +++ b/stable/komga/1.6.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/komga/1.6.3/README.md b/stable/komga/1.6.3/README.md new file mode 100644 index 00000000000..1999fdb320d --- /dev/null +++ b/stable/komga/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/komga/1.6.3/app-readme.md b/stable/komga/1.6.3/app-readme.md new file mode 100644 index 00000000000..395a4cdd334 --- /dev/null +++ b/stable/komga/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +A comics/mangas server to serve/stream pages via API + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A comics/mangas server to serve/stream pages via API diff --git a/stable/komga/1.6.3/charts/common-6.10.7.tgz b/stable/komga/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/komga/1.6.3/ix_values.yaml b/stable/komga/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..869a5e7b1c1 --- /dev/null +++ b/stable/komga/1.6.3/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.119.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/stable/komga/1.6.3/questions.yaml b/stable/komga/1.6.3/questions.yaml new file mode 100644 index 00000000000..d6bc3d51441 --- /dev/null +++ b/stable/komga/1.6.3/questions.yaml @@ -0,0 +1,796 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/komga/1.6.3/templates/common.yaml b/stable/komga/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/komga/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/komga/1.6.3/test_values.yaml b/stable/komga/1.6.3/test_values.yaml new file mode 100644 index 00000000000..4bbf14d8f26 --- /dev/null +++ b/stable/komga/1.6.3/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.119.1 + # -- 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/stable/komga/1.6.3/values.yaml b/stable/komga/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/lazylibrarian/6.8.3/CONFIG.md b/stable/lazylibrarian/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/lazylibrarian/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/lazylibrarian/6.8.3/Chart.lock b/stable/lazylibrarian/6.8.3/Chart.lock new file mode 100644 index 00000000000..1063b432265 --- /dev/null +++ b/stable/lazylibrarian/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:38:09.502909168Z" diff --git a/stable/lazylibrarian/6.8.3/Chart.yaml b/stable/lazylibrarian/6.8.3/Chart.yaml new file mode 100644 index 00000000000..29c74c82a23 --- /dev/null +++ b/stable/lazylibrarian/6.8.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/lazylibrarian/6.8.3/README.md b/stable/lazylibrarian/6.8.3/README.md new file mode 100644 index 00000000000..45db207846f --- /dev/null +++ b/stable/lazylibrarian/6.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/lazylibrarian/6.8.3/app-readme.md b/stable/lazylibrarian/6.8.3/app-readme.md new file mode 100644 index 00000000000..cf9ff407111 --- /dev/null +++ b/stable/lazylibrarian/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/lazylibrarian/6.8.3/charts/common-6.10.7.tgz b/stable/lazylibrarian/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/lazylibrarian/6.8.3/ix_values.yaml b/stable/lazylibrarian/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..553b98dbe3e --- /dev/null +++ b/stable/lazylibrarian/6.8.3/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/stable/lazylibrarian/6.8.3/questions.yaml b/stable/lazylibrarian/6.8.3/questions.yaml new file mode 100644 index 00000000000..9e2498f56d4 --- /dev/null +++ b/stable/lazylibrarian/6.8.3/questions.yaml @@ -0,0 +1,648 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/lazylibrarian/6.8.3/templates/common.yaml b/stable/lazylibrarian/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/lazylibrarian/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/lazylibrarian/6.8.3/test_values.yaml b/stable/lazylibrarian/6.8.3/test_values.yaml new file mode 100644 index 00000000000..6bba6ace4dc --- /dev/null +++ b/stable/lazylibrarian/6.8.3/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/stable/lazylibrarian/6.8.3/values.yaml b/stable/lazylibrarian/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/librespeed/1.6.3/CONFIG.md b/stable/librespeed/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/librespeed/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/librespeed/1.6.3/Chart.lock b/stable/librespeed/1.6.3/Chart.lock new file mode 100644 index 00000000000..2dbe5151a4d --- /dev/null +++ b/stable/librespeed/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:38:13.548074512Z" diff --git a/stable/librespeed/1.6.3/Chart.yaml b/stable/librespeed/1.6.3/Chart.yaml new file mode 100644 index 00000000000..29931ec7678 --- /dev/null +++ b/stable/librespeed/1.6.3/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/librespeed/1.6.3/README.md b/stable/librespeed/1.6.3/README.md new file mode 100644 index 00000000000..b258aceab3b --- /dev/null +++ b/stable/librespeed/1.6.3/README.md @@ -0,0 +1,44 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/librespeed/1.6.3/app-readme.md b/stable/librespeed/1.6.3/app-readme.md new file mode 100644 index 00000000000..b64fc8f9897 --- /dev/null +++ b/stable/librespeed/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +Librespeed is a HTML5 webpage to test upload and download speeds + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Librespeed is a HTML5 webpage to test upload and download speeds diff --git a/stable/librespeed/1.6.3/charts/common-6.10.7.tgz b/stable/librespeed/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 zcmV)tK$pKCiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POw$ciT3yFpTf7kNyfQlRmZkSd{!FPOd)J`?+2xZF4tCePXA5 zpWE$8U=p%WQzVxJ<*07nzx_SbdXlXoE zNnr7p@!GiT#{HW-FvmZlqQqG`0gJr>%yacK%~CXoQ5h9DC+y9)RT|O1K!Ps{SS-Ob zE5LbCAvS!2`Wb7Js*ez z98p9P1YAG@i!$V(suC4ZmJ*Z_2DKVJJvtQu6{*H{9k1>%PNA>VS+9$aC#Z0iGuY*kz!cx{>OjpdtmWmq7`JBqls+d zU?JOc819b4r-NSoFXsOOCKW30NC33Y|AXD#gRwpTpYHBH%>Vm%E|cs6CX)dGkHByU z&JY1G1=#`>1&$G$;ADnCUZ5%d2(l^rHLa3_4n#3*e-Nb&D6||(2`&&T17bAADW=k6 z02F|_=73J@B1;lfC@?667YSmJ>aXDdhz~KJ95&LrD4_ErWZ!>;364R=uQdTT zpLBo;yg%$sU{fePADF)DF^VvuJs6-))n6CA;E0(M(CR^^ukj1eeF0SUTX zvZCK+1$eHADR;nvag)mo#>}@UDi9oDJ&O~d@ zkQ3Ms>2s7If|?*|@Eq84#tI4s;L9{C=vcue{U+(BW2w+V&=*?sYaUye=I|q^Qn-LP zp<|8J(tfW3rmTuf4uJh-Rn@xIs++@t$O!}LUut^1<2SklB`&Q1kW*H zz0N;;&)>hIuP0!CFu-$oSx;E@iw=>j#IzhAFXD$)ia@&b5qN36&#NQ>d6wXaR;RyC z*^kL!z)H!vE{5EE4%2w6+*Tq+bS)c=Z2cXGLKE=wFAfl}xGY;L)6cBtpl!b9Sv<(I z_}H401J9Hc#b4Faj+Z=+V*tVTS%H6}1SH@zi@|Y4vND1RDh7|he@P05L-3z5E|~!P z+W?9(IA!cqf^7@mN7QIeqtz-~|81 z8hVO~2&IIM0$T7{UG6oSXT`F$=%7T!0!QdLin1ytwcyWDgr^vl;ChD03>5$ZQ4~O4 z7L>EBN@8$<0GAo@0EoY2vn4dGR{+TXjAQyg+7A{?hg6j?&Szr%5lfd%4aq=N3fc5> z3et>#k`0wu5Cw3_mYE#@IUrnuOOzriUt&;|IK4F1L_p9yPar``rwalxO5T-RKvAT5 zmRGbCV^CBe0in6RTF7)8n(VpMH4z zd;;dnVGhfZYT=@}uOUtWN*B1uQYIP~u)uVDmmxS8Op+s>w(xA368KRr(v!g>aJ&u9 z|7QZ;ou5z!Y;$bSC*bRw8xX!l34$dG-%zH1`tA$&b6%FV@<&P<>j>G_H$Oao@&3*6>la*h05HWUiQl5B z{4L&`LNc4Mc@U;qj3^fd1KF!$VW3ifiZ5TooYm*G(x%BJe4aDM4Sc%mC-s-KNVPbeMLKW7{l}u6XyZ9K#Nteq+GLUk1+j&sR9TD#hkbOhv(V-l{VcRcuC{WGO)(iP8d3xq2qQi_e;#))UU0 zu3WV$Sz7R@dRyQHPSB;Us}%^wKcva>ZI+R5af0|%ufIb&15ahe7gX(o+^)u3>LM}0 zQxq+u1o>!F1$4cY&vCl21G?uvk)=yOHGmNOU%H-)1qskq8^r*pa?z){D=dd}BW2ds z)oBd{jAJY&OLS{YH4rDh(;~Y-YW6X<@ee&lD__cFUA{mmLbdk^UZ50}<&btHW`C6g z7Np9DIYnQNwk<`TuAvtw$*u>yfYO6s2~Z$+&`ry@p#UIh&^C!LYAZ-$fE{oJ$25f) zTYIi*exRQ|P*F(5^ffML^sQJ3=(_@B*Qo-2s$lcQryjrpc1ic!+$cmFN0vFF>VC>} zP`*m2g{vmiY;$maavHGr+`w{va#|yJIi;Ja^Yc@I0hd%qkJav<%?0{>ME^Nc(rcSH zIfrB>>$p&l0c99>e50O5pMgMOhk`6R;;f=BU6-O7hpcWAUEg zIm#;1C_jZbsS0#HD^N-4oq#8U+6WOte5;|ZW|@1etIu~b*cJ4L(Z0%PH`%t~;qC_h zg^l+!z9OtV+QmxZ9_ytJbi*TEzws~DODk19CPy))fd^2j4?ZshQ$(Gp(QBs94D}l8s^tjUH)2v z3BCH8C@^6rRGc=ZX$jc2zvO>wZE(!iy6$VbLFV(7O)Na8WJ(j{RwcAyt~~D0nZ^uF zBnrcDTN`)Ga7PFKoS$*P6zobcJK8p!nFg~oS=OIfEm&M3s%c9SIB4;sLA7CJ=XQZ= zI>jG3csXr(*WuD&gmtE8$*tP@O2vaFC&d2y<*8QXw8$2e2yJ(v+wZSuIGV8?_XS-! z{#D@u#k^e(Q?MVVuj29h4T!VAVQO-H;9pav0ZY&K9M9Pj$>pEFMCRW)~S}rd# zl0{h(YTwSPoWann@gL|C_F;$r|BU`|escPO*{VLgdw%*sug+IH`bn&NIlN8*q>E>L zT9L-!5|Mi5;gq0)4yAW*U$L)jp4R3bt@WJX34?AmN$uk6iOEiYSW_*{Pb|Fx3==`tVhUNoOp~b3~P53ZMQKsB2v6thBDlKMH)OjAb}k);u^bD)i>~44j=D zzj~o)t;g_IiE?(nyls#}Y0N4D*g2axfS60{D2<0zDVDG){)pn&byd0I59z$Y>F@%U zIMP_H&7VI6*EMilrrd#6DFwDEpykMBXN41xUgGqlrzlCvA&i)V0G&<2o#?4j@fLKk zv&cS^@)3B;ftUJ;74wt*4^}`2s7@gR)?V3?N0tazbwGquJ8T{=C?1sAs!*K)BIomRwGKWm#qqc`_V3GpX*t>E` zT_ARr9ie(CP&5`4ejMBzGSlYzLDqC_Yw16Kb!HEj5d1wOGjUeWTq3A=;3JFnKwf0b ze+8Po!~26ITpVyz$`gPOUt`n^Nm6PQaYrEKsl!xW2)=vwvbF}9GCe{C!BeUYOEVem zp9m)C1Qo=v>Y2m;ksN8RL2Ro=IUOq{p&V{e+TPJwPBQ7vL?v)7R%jbgg4mHTP6hQ8 z&OED9LKm5LXMYDVVtVF!8lXmPQw!u6yh>odmfjU{7WOU**QTyRLFGp0ujx0xdaBW* zP9=qRMT1tuip~7I%COa#%`5a!d38**(e1kLnKD6Z)s(5o<;0yYq8)(dIaxl(#SWWD zR5(*QxOG-DGUW?h<(Xzhq+C&R=5BoY;|UP1m9)@LI7ygTW;#u}R6g*9P;R-ZMd7?r zetru6PfY(N8J|ep)|@5P97%1;Jja)-uI>QyVf3GrocG!EJ(;2Ry!zih?1-YmDTS8& zdib@N-ldM|q9SH@@b|ANMI0d`j=NZaM?jo~YaJrCxOl3AtsOX7briFcn<3pqaH!G| zqH)Hs;x>WfYu_cDk*t812%ISAEMYO2;!6Vn+ZC0Fd3=5te%Jx=GKF&-(ItcXNK(166&OLh{%%(i3)M6*n7C0woHICU6Y&l~DPT^x*DL+(yn zpo+O=0rU}96vV z8rxlbFaUfAH5X+F%Iads&y~_r4oju9#Px)gmL`Bn35qP^I$~K}sHsD{a#&UuOux}K zR?OS!b*A5>k+O|g!}E2$C(ndl!4_-okUP&}q^3!2wz?1}eWHta-^Hl-s{p!^If=s< z)f5gng{5@c8d54sZcKuzX%p}k!T6^F6Z8XJKh2Xj$OT|FRW!<0(CrH zAwYX%Mi-n5M6MA^0Zepfr-8=mRXDBK%kagx*ls^VrX<7@*CJXkbCPshzK?iq$KG&` zVq7spLcm@BgL>V9fXwr03AWxIzaCz|=!*81@@?Ceb3*`CN1VK)C1Bd$v~H7;%$+K!wEQMNRQYvYpJk@L(aTZl{`y-U!tdI(($qv5j4g#-o#F(*yY9uYF&Cw;C zEb6i4Rl`}q;apz9X&DuoHvDg_o@(vAJ0N>+jy#i7@;|uP=-dOv@y~F3rq4ZO)?;ClPBJDaYA0OH+#1ERW0H-lt;JAVb z?WrrSU?UhYjfucCLg9cnf~i;XR!=EzX2g&{?!>MyMD#6tsjCoyp+f}hySDB>dIWwb z08=bMf=j|Ka`1LjIbP)rEZS?OsF4{uQ|7@;m(kH9`Y*?o725;)>rDL8{K5H% zE&-gf)6=C!6DX?W7HG1 z?SY0wv+2Am`2u;IU|1q`^H9hFl#&ATwUqa59+&z32?uNVLF(2)UQa)pc zAduF_D4PfJ-Szc#XuKa7x@3XMtSTZTmHQHm_+8}EbAcfo$SUd@`y=oZ0##YTBw2z2 zMcI6g(wLcIGzZ7pB~?`C2Spi35L}2OROaeN2YZCGs^qYvS%x(mT~(qYZpR_wP;@Vw;31Jt+A3dsx*#Tu0%_sq{af)d_hjO1BXKJe~ z+oDygQr=$9&S{n;*)>itIrxN5;~fCwU#pVv<3Ct}6j3n-izUD7S)h5gkn2~GEWt&= z4$R<`paOhdv-@jq@{c3#f_!bXO`y=AN zsC%xX_b^F9l5a8$Oh^2uy(drhtoSbnyNBb4_%HYI+}w=58Hk(Oq*&$|U43gaDjggu z+7pw6A$UpnjjjTvF)ElTq@sT%eBUKU61ad=|CEsvxM4~L`UnT#j6QuD+}sSgPZt6K zM;5{)3Bd3ZT?y#d(Kp~VDlWzSr!0brI98F~c4@4W%D=^OoAS*_1BKHlsp1-wpoCq+ z3_u7zv4eAg^zRksH|DhlwL;4mkqHD(LHMIYp+`#yg>ubdxuKag1Ylm2u7yJ<8cnMg z8$qC>m;&@KS6SxjAJpL`0$IyVnqDvjzk?K~F+u;PD z9ivgS6{i7a3ULCq@&c!13W7Ho0Z;_Dv5DFGs@x8Iq;Bh-COf;?^9`!m9t4%)EQb!N z-F3t;>s?-)!qf833f8D+r{(o9cc7;wT+po6d)pi4SwUdpCCF2YZxm56$7M;?e;)~6 zCZmts|Mq1{P%)+Ym6HU$5uaPqyPxLzujbpvw1BSlfA7$a|Mq16aQ|WbzmJEl|7`oC zJejCaKy33wm%odoLQJM9tw2TH0@=l{C?dk43>I}nAG$G8&fB^U;a~U7L!PrS=8RW&sCNK zmi8;&6LUzS*(X3t%<63~%1`GfVcKgt|SRPU~m?)o_oo?{n3^P_2 z^zz*TrbY+==Ga|>MbB(9Y>Ho5L%9#J4RZBMj4nd8QIcn|qZ2iFpIcu3(H_V8uk`y( zDF7Yo|Ng<#C-(aP4OSiHDge-h52(>V{iUp1syCzLqr5gVn zetf6J)McIDqDPnzIW;=0GZtRA8;bS9Y55)SSYAw?94T=iUzrCSvZOly7#dPbe&#SJI0ahR)p^O$H$0kYeT?K>GSiG$ zAVd9{f>0lr%lnqck{*g1)d6_Cy{%Cz=zULVq@-As2RfcW;21U}w9zO790-13{mbD6 zU@OKE0fFj16W_K4+h-N8s{<3W=uRp|Kkk6XB+ccsvE6x;>|V6z$TvK|yW- zsfc~G7=E<~KtK}Ss2F_&CZ8K)$I+9H3MS45N`|!!VkbqG-qYy8nuo5z&_;RZD2Px& zzR!{v6@iAw$u@f+pn|AVoyWIU!n7aSp93MQNL8eb%OrNB1TMb1Q_8#A#8_gx(C6|3J&S zVjx+#UAInlhSfSj(2*stI$I*HN6Y$py&C2fT9%F`{0^qLD2W5O31Fy=wJ-OyZu3u5 z|H~KA{rdmx?v0-|{C}PvJm`P-@i6n%%RE;d+)CdntG$LPaNzB$`*F@19uT&GZ&}+v_cZv^K27=0)wfM9 z0Uh#x{A7G+%m2ftdk^yeJ|1!Y!;&Es%B2I4OiR$@m+n&4cbwO#qZ$tQ^BmJ~Yxxg3 z{8xnr4U?j9Q2X?0P?7?tm(K-x9;@P>CA0nz;>$Jvd0^3dv;XZKjBWq#C*y;M`F}4@ zL;sVpY;URWDUZ@N1E7lP+|&Liqe^KSpnPTRujSzN?61XVO?Q)UT=qXbD2Ac8Sy|}V zZnn)vXrS$HBb1HlYa=vU*J&fXorzF&u!*j(npjs~)$%jYEI)QAZ9Z7L24$PI=S&XC zE@My2ShS5j9fPr9>`^q_k*!A~y@9gL)FbQZrXGu>pU>2zTJT`$xy|EU|3!k#O{f8# z`u|h={O|B!@4^53ULH;V*KZuHybmz1E4A+j^s=k$3rs9;Hsr|V*cKSKwHjVh4KIz} zPE%jtj=?ei>)THo+5>dV|AWJWU0eTu`sBg>doRx|{6Dqy?HhFfHLl%tdVp$F`~h7+ zS906Dy+Haxy*Lf$!*yIae@LIB1l^%4r#=^Y_;OYZ-PsBro&DT1yIelQ92SJ<&1iGj zRHeK<*bekQJt@U1{bt4K-tK_e+fUNrsrleK+37kdBVJj-qSV;24*eDp(YM*Iy86hY z<=JkN`*p?Wqir2pM1+kCZ!K2=jRC{PfYH_)1xPVa=a(LB$_grfb5k3^l-Q|D%TSr@ zJC!+$lXJk_izKz%{7PLjNnz%`0ffQ|`PJcXc62%HT zsL{K`h<2-$v18Zrc|K*rFc=2S%2ebA0qZmo5r7p{VS61_0IhR#({vdF0sd&l_X@0J z{JiE+MgkB+z=U46+~L#ZcY(UUjY32J7lyjg`|q;?|CXf$CZ}0^T#<}<;1##n6Li`C z_wD;%d%K5+PapLE`*>RQe`sm{Gc_bYp7BI4d{FrJ0hJ0b-FF*c#IYFa3Z7gDBwn0e zHf*a*q|b8rMu_xowZN#!(|z@??AoT()QuK<7l=T)W%0}?_x43KV!d68T!R>@bJn`I zXvzV(HdpjLr`D@e)yw?(GOsl&jdoW@an6F@m71^fngN*O^sQ?Lp+nKiXrOil0Qj*R zKwU-yurB~0Qs78uvwP5S%1=(;y(2imzcD@V6crIl39RoV4TWm|RxG>&a~-x-h$yer z8;;<3f#^!2A?e_57e$T*r?rJV@bV@b$%DhK+s+soI=FgPhEa;cD2=8e&PI#fKrGj9c;MAzLSQtTqm(>X*+(5qHvTxItG2mC`1Far zRGU$`8jA!v;A{4kwdB*MuU*bXcP*y;^M7;q06XUY)2D~F|M%gO{RjL1y*w+;f0!hV z`+=LV{5S58X{Yv7+g??fztQgc$+|Tlt;|9>0=X{k)H@I12@%>pF~i0=fd0L43&_NJ z)Z*dc@QW~9G8Qf$pKbZx?PcEJ%8_mJFuu0Ha(SQ#N077H$Aqf;wu?-+k5jmnKP5TVt(Dy>%?-1B7&QRd zK6j?wmqBl0H*ah10M?2B#rm;PHfUzOZ59JT9mzc^;s9)0CVwkdXeUjQp3Pvdw?WFG zPISz?Z=cMa-7#OWC+7V+VcyCA`5LVE6VcA~6>xePE`^k10BqB@bK`}QLS3A54O|y2 z-7?;+(T_`x0jR-O?X~r6S1eVR1gYx?8NzjOp>=pnW%{zU?xB9;WKWI;MWUItp~x!2 z0xrww*<~P(gZLcL!fMy{rr;V~lqjkSq=Fy!L!%GLNu#5Ta~7qONJ=&l?nxWO_39uI z*g2s&lxC)AjXUlt4dV?vDYC)?ki>s-XayLss{$}Ib50vTROOH-_s~vk*kK*XDYqW` zPPH1h+$r%jOh+68Jq>a5C~DXYD8M*nL=Xt@#|RZ9aAR`GL>5z_PNVE2hBa0zr<(0M z)AqS@1DiKzC<8oEUmDxl$GeE|CPdd)4(l3;(Fm58+Lol%4#BqEZX4@gWx{%w1EvBM*|m-M6=rA_`kCY_x7XS8VzAZvSF?d zU^ON;zb~1gWFD5Y(JafZf(ghAG!&C&AQi11{fI?J_n5YL$t8%%PXqRD=^uYIEohqPON4n`L^9hI|S2L!_? z_(dxOi%ZKhPMb&XcfjLWK4;pXHJYqtdI+LfcAbLZTYb1pzKQ|eO>a@z%4a*X0nGAw zs1jL%-$BV$ule@I&O>-(UY;NZB zP~_}%C`K}wrv&IN=}{*euSHH)=U%Wkt8UGv8-7FjIJt()l1}0&DvT85DV6msxvfb4 zj);EQSi*R$Dol=eN?T8uJIXUv*0rUu3pwtux)C4oeC#fmW?-83w-mpE>H3-#7J(ws zxcO4$@-|_}@6Fl4jU_I?R)b{T@<2oy4*Kk3JQzGw8mY)vz~kO}s5aMGhF653vVu4E zd8U(api-l!83F7j4{NV_ZQ<(a65Bj3d2r*|%;Vqx@yuHHaR2whC4ph02Q z&B+l69;aE1-s3!|+b9}$aImknJ0n??C9Dd|BW;#H)xT?>sO+V$M)f;ElZ9n)qlGFp zE%5Y>E3>3BzF!u$$y|;P`uaRiOi?cye+0H_LoY4#*lVz6<=rr>Z?0ubD{XSyvm8p| z8|LGhrAJ_kN1fn>wz=Wd3$ur1j`xi?4C3>NZmwt#C0TY=1|Z+QpNZRG0Vv}xT1T{W~bVC@b(=gr0=^$iF%ry@j?O2U|2|)7- zrp;(P1t}7v!X6X4dEFpHZ?s4|>W3h{Te6AgBz=>`%)%QOZI&oC5f`SSq-Dm)3b3Vv z=jRYo1O(ropPvToWVyY}S>p)XlqE-=$}5iQ`t;j?F6pybxUF}CPKsXH8h{+Wt4p^X zvP?S=w6SQiwO^a8Ny5QExaVfW$yYm=7i zfPWQhR*@x%*gqFAjgOOj2H#Y3@I*g@k|fA}5+@_Za8zf9oU_IWR&JiAnBSC9A?J1% z?ORnOjg#5QX!O-$^3{T!%PJB$QV#yH=oAf-f+=*7vdR#2Z+Jj=pib>e>euH+_6{Z`_``-Xo=kudZo?FzgYJ^F_4U z`P0otTzhZoz-cT_gsWsQ47SadNn)GMtny1MN}CCFYm~EQRv3;H7FKt$8X8@f_&Veq za`uwt_6(EgbUtN;!d+hByh_EXiQiGm8DK?gsR>3fSskg!yKwb+$`wMn?{I28m#sGc zoBHr+rK2Z#P}7KCuzKVI6(m4(OFgQ!O2*1-1ud|{6|57epg}`3RDs>ijW`9}5ek|$ z`vfU);M;7R0tW(5sDj21jUoKxq@G~)Z^Ow?E7oA|7oYV;%$ zu;n6Ro|)Pu4`!;;T-UYUaT(zkwZUP1<2(OjdmHo!DC*GwbvCT)gJUg!W`w_+8>yFB z-`o7^Z)*wBZHrqT>zvVN+se`>$ZfxFAp3{Of}$*=8KN{XqnJx6=+;_qb2l{>1}QsDjOYi{vL>Ui~zb7OT+B4NBvhTA{faq{-{& zJTR?B3LA!^6nl-dlICR*?E~nC?d56EQSwy=9WVSR#Ec7d}k2vD&D3& z%Eq1-a5}{i_x>^&WPEaR%2Bxur%vM;+gZGY>7~5<iGH?+_oFUDeeYzGjq& zIlCQCSwI5OZtJDNE@y>ypxpZF1kFGBxZ;M>hb3N#qT)iFmgWF?dAe%I(?+xN>LS7A z>`g}AA{Z}^<5;8)cN=osD}!h>#)Z-d1^g!@|-m}zn-6*YUfb3jsN`Qbl^JDwN3##Po~-+7&z(* zwHo2z&sH6nRf<}5peItw$rUQs&+xXlRU_pqtqIMOzLveXJ*Mm9FVCv9?fXoZk!>;8 z^|-Bm4XHICsXO+0#~S9<@Lr@bzgoFz9q)0&*i~JWh)>WVfNHV}bJGyu+_?(LHb6h|9g4t%u24D+Dz0i`wzIp3zS+mpx$;Jd$-@r!gR_6Vpj?#DMmv>jM~|k3_04B zdWj=mIqwo*(8gdZL8%F=HKIIUC79Jr5=hxAO;Z01zAFD2{54S5c==edc^mobZQaPaAp~@;|{BqX-pb^q&5Ewuxl09rAx~{M63>@^o+a zA^+pOJT9q?3ZgQ*>eg-*1fsXGTX~%trgw_q`z(o3VLC8KJHD^5mC?`;78-SppgzOe zB(4hikXT+5GOUKTxE^G~W!&jUo=My7uo~wS3ja;7q>eRcm2PF*JZV^sy8$DRH==Hh zBQA;STt!&58%GCpSi%Lw36C)L7;J-p6qOhWyso6|pXpcSKhppN!{LzaEmuxW{MZhT zavMiSZrU?V>m(_aBO^)5FcRB3cY~Q}Df$Om@&;@7rhf+)hX*K)%wqux@d_>5AQpH5 z3F-^-=Hb%SANlE6|2Gl-wbTD|_lceV{c!Ig{_Fiba{pIgv_S0s?ucI=##2BC0G{Fq z66Qt~iD1eo_HXzs8Lb_7_gKpur~X@1q|U37JVz)$$?~OkbE;m|P$teI4;Yi(IaiyjM- z*xg{J8bM z8KerJ=ErlF_W$wW-V@vYbGZAE|KnaBDnP*r_tVtzvH71tOt#H`BS7;S0-*E!uMz*_>C^G}VgBF8!{+~Sl4RH5AJqjCHZqa-KjU`L z7^R_i>N}%&U)7-WBPr>u5T59jG`yk2FK4O-$nsmZ6knj7VZuBwvb?}ld8zGw?1;_I zUb0fF^w{Keqquu~AVdyMFGDJjcqSp!zFngE0u?9OJZC}V|8qCo{g1$5rR(HqXkO(L z6tGl-K}W14&a9IeimnthO2Y9iS7S$=>|tnoB(EOoeY>55!ojZ&FZQ5eZsuu||H98} zZ3|$R{2w>%e@}KF^1t58qw9a-zQSs%pFI1ZlTY4wW#gwUgDCwj@;i8sQyl(!si59HG*#;Yi zPWsaJJos9^+GbsLaXF2U*)n^1WL?H@ke|Gbxn$*C6~ zbC|{r|34nU-6x)O!J@eeTqfBC_cm7wyX~2#xq65!Edj4(`E)oy9f2)%Wx?@TZX5U~ z!*>nm38O4#zi;}oML=5B@w zo@0Vyy00TMT!O8OCF|nnZ_a30oL;hk+}q*citL0Pa$Z2KEjUaE+6MZV{`J z(pdt?h!@nh51HCYNEPf#m@zC~=o*ATTRw5%j-mgscsAsmICYuO64hH4T={9S9N1Jr@8ca0nQeI>^Dv~9LARQEPkjOPNOG%L>2`bpV&aMHXN}n%thap9hU6&J)BV&{& z*>bLqVl7k9^Ty{J^LDTwFhuh#Es+N<`+9~}23rzH(6mYzU>D>wQNRUz*y2i000aw| z;279Ax4tU310O{$sr;wh=(OqoG62LK+kc*n8|QzAPo6yZf8EQ&q}yv$T=I1y$s(AD z6;Aj;$en=*=EA=T!Rj|&sJq~#$~{Yk0BGnl0&bnWF%}Lut+lEW6^<%f*&LHv@8dP? zFnDv?_PDM+uS&xBL3O0-0uy9YrK2-IDbJt~1hs>;q{hJHl0WR{=o`Sw0WBioD_jzO zAD%_R<53Dl3J``kN5yj-5p{9Oz5^uFVq${ko(PHzM^m+&=&FpJtE`c>!TT`m$w?tI`A)hB+C}|=qE~0 zqn{+#6ri>~5`~TaQBG;HdtR{1bn%wMLe3fk0X1d4i~F3=@`WucSL5w$+;PYevdxP#=_K zm5b7oBamn`nnCsLBz>U+oeSvEZDCkVJkE3ahQ-M&Pz)|r3mrgK>(aVl-GCS^EUr8O zdt*KO9KOBi7gC@8@r%-t`{pof;5088Qr#8!@_bLJ7o#p?1Iv(%Y z`G5C!AL2jU%X7oi51!8um_wY_`8K5`J_ah7r?PB)Gg1Z<+fk@Cvrup+5*ptEYDp5i z?+-H>CsKGCSym^^bShOLS|BV?o|Twn#Zo)DX`J?(bqKuNHXQ)i`_n2(w0Lu7om_pi z0+s2zQz#WUnPXH}C9iNAzbrveGF?-(Q$*7aeUYj_djv&?=GY9TCTWDlrHpH?@|&(l z-R5YswL4bIdU>mWZw8hGPf@gtWX^c?b4ADl08qMMm9*{26ft0hTrs z9*g@Eyqj4)m4{z|u@mu|yNh19*T{O(TYM7jmA^PWj^Sh!cZ_Tcg2jWTa1mDj;FKRr zmpO{?bjc8oIEZOh(5Z-vETvkm+QJ2GBFHTpP`c17$%#d$6~7YZumDVsz~d|HgPMeo z7v>jD%wl$T)XoX4TNdiXs;=gVAl+>1kxjuI<|^3%fSM10yff%9VQ5AQtqXaFJZ=`( zh@Zn;!qtv-?NfJAfQNJr%qe1UN=C&C-4Nwec7dhB$^xy)a5Zn_bUEyrZQ>BI4n@ro z_$Oc!qMb(2l~<4jh;(ps+lJ;?m>(OH&%sP%^=PB6o|dB1EyxZ_mU}Hn=|Zj=^~BL; z6K)sqYqZzU+k*a`G{OV%`I3@njBkxTtopRnBI8L^B4#+9_{o318 zNp2u-xZl@WIg32TBbAT>&$U6kXDLffC;l3Wo@TxVCI)UZ2mQ^BrbXR`=pws79aN9L z832BeRkH2Mc~PM^$7g`$RRNbMMFk`%2Fw_gPBY#}T2l6m$~D8L{s0(uminVKO9#xS zirJ7GW~4eUCo8Ha=BoiotFHE{NeZiIWWiA#^w=u3g68^Q?0I_Zl*->7v%MhPwROLXWk;VNqx3`Wq#h#JbQFIAZ{1GBH}N@p7UWVmeGI(G0~^ zf(i-Cc+nruEGx+yel?Gl(0;B4LvAMI->tRvbEmYdO>XLkVVpCHxDOYtR%mcUqL6QK zQIel9nSIYoS}LBWLTAh4w5$^;s2?ki79RRk_-($zskqo)E7$gC4>5FVE0ZjrbH4M9Xgz44)#Dc4V7`sL=j9(q7{*O0=6Wj+eR?=)*08W+1g62cw6(Q#?yQJA14@! zoDka2_2ovI#YkN=`}Ap`|6U(D)G~(1zt@LKvIG@%h9K?dim)FP*)^XY`rq170K4x0 zK0Ro}e}A(3aR2LG9=37jF}0P#C+|5J3SSR(k69M9D>}K1=APiP8O`05&`+~?c|x~) zBEg#>;DN(6jzu%)W)t&9i7L!ta1T)7X(Hb7+QU_CV*Kg=`bcY!3Y5mE;7+!}Udw?i z*2i5@7MY*u-apAManw)h3)Ae-$_XmtB8ZTMwyW>b@n?PhFC(SYm%$%L$2+$d)~u_~}4Z^Uv) z|27=_dB^Hs*4;c5u#}jn#$4x)SSw$X5M!a*Y!` z>t(a?b?!ceqmi1={1Sj|51qk`ko-GDCV{Kh?9x(=$RU|cL>hk9GWx>hI^+W&6Vlco z&Uu<*4+Jl_SsO@{pJmZidn;O5YV^6LmpHH~9xy#dG{9N8vo)(j&%5EehLVKJY{M{l zjuN;$Ls6E-rO}Oa8i$TTpq;G}Jk>R;0-etaRL-&_Zo;-p^aM=s9Ay>pl5BqO2{cCq zW~N~`Oyjc~V$Xeq`_Ij+|DF1uewuqrEwDrX+uODCzwPagpFHS)_wukU>W|#K**;MTO-B;}@$k2Gr0v=Jd@eT{R|0_4ahcCLzPLZ5tHOzd$g{N>(YT z-GqaD5d{K~ely&GNnZ4lP&`2?^dov!zJ|~Ox|wy(B%kRy44hQmwo;^n2!;XAlMmE8 z?rm2WVGwISJ%01eAW5UTtS;(G;>W~r19mJJ7K{SH_=hxEN;d}ns{@Kp4BAWZO?Q|C zBkX_%-WrmN$nb>Z1NkI@cz!PBqA~au5mA1B1{0+=u!u!MdbyG`6J=o~KW8>CkZ@n1UE4vPdFYx?>VZT^JGO=N2Sfa-b&B7%0 zBQ6O}FWK^83Qrbk`x-7wkQZo*3IJ1J7ROUSW{};)EfJ9phz&B2+E8}H+!}oYejqbc zT;mb}P6i7KhrsENC)`GFp|x9>x}uR;s}@U(@2$jCm8M-rYu}a?DXUMfc=2sFy~$Ji zT&ZCk*aShABI?6!GkBU6BAI;)L7g>RN~v0)Rb}#Ht?Y24T}1y>EO$Jm|~GdauGN$e+BEa;d7-7ev&qgq_M!h1US8KDY8kmSWa4QIaRIY~25A zoLG5V!VSO1h>&+P^um1kIOCRJm&=FiQjjwgSc3#J7Fcsd=x1@+xbfu+c!d5J&QLPP zmuXg@&Ex3M|He=D?f74NhldaOf9~aZ1Wq9#s7P6a2|faN=!}aBCoxVhK@OuUc!|nz z@CcmGsA|HG{7X>IP?CVlB)b4}NTL}|FLywJ5=ig@F&U-3hiN=`1X6U#9KGnoMN|9{ z#as&gbvp#iQjn#rCMAi^W02q!g@f?<+50n+6=?8CMyvnv;%)wa@?e#t-@5@8@|W;`$8+fBjh{$leY2!|^X$GeYumG8*CeWmwKwFzFCy zqYD^cqLC;(WMzjqoo2-xa&O)Le@T`JI+`Ys49kC2ut3}3uRotNH6p?PlrnqxhhRM33)FX~|Mu_P{q1+~;pbl*C4bZo5&D(&7h@SYvlx}ASfGN%z4&?j zi%IZs2rDuRx~lD3)zU0QZIz_K;&*V7WpreGV5wMJYb?O;A}0tffAguOa3dOtLEOvf zn~a=_Os$xig zjyKrUV|WNCBtS1Xxv(zJ7C>vV9CnOfkkC_kBX~uS$8!HMeO>O znQQ8yLZ$_4*l(Dz6M5PCjUY=hXU8U9shl~gry8qtD*PN$JQ3d?x|!`P(`Pssmw`RR=*J&iBMD&? zp|X6P*?`|782?mYf__LNZNKY)(AB+;Dz(#+**W}kE4C8LEP9d562h4U(9nJ$y0 z7nM9&XQ-X!IVY;C$_l&?ReZeQpS6}{aSws)h*;q($!~W_%~0Oa@KSCS@7NvL#oaF4 zwQZ@rqRX#b)!iSrSGK*e<*ulsn&lYYQm;TT#w+l!F5i!db@^4fXw_VijaKd6e6;HI zXJkoWL8`nb8)fN!Oq8WNSlHx(QL&YS4fY#Vd$Z4|)q{Bj$`c$x{iF6x#tHLC0Xyoh zx0o=fC^dm!9Cxl(&B8)A>nh(Z-g??*`dMPy?JoM3$YosVQ?lEZ(#LY*g5S$LVx_$6 z&tEHtpKl_%QtElMladsWpv$F$@V8l#;Pmoc9z&vO8hW4*=df}5YCB2}hATaTUrj?IU+EI1cIuhwEsLq$$S`RQ3)2i;S>GXOgmjlv*J3-;$KIq^hhLGEl0fC z_GdaQR{p;wDM#v#{d@X5yv#O(qy7AMe{bK8|G)cW?_m6J{(B#faPCm2z18k&{I8(xu#}A+I<~76lYrON%9o@-B$^ehAf7HqWrYa}2HS%HlLTt#bB;=K zM!!+fP(=jXFj%a3$Ud;&>{u5_eBt*fnX^}ePlLgq+Yn#$F8iAh> zND+#82Ii?evnCn1!qFATraXfvh07uCfJ}Po((1uw#y$q%I!nJM;400o0ldg60*lq%0C_5Tm;B-{Zf=>>hb!k<~K*B!0!X+oN1<8%5zcY+J^~AITf?=fa zasS9^RsbF&heWg^xF9vU!JK#Xk^YuNwAo@@CXvYaxI_87 zZB)fmR{O6<^pgd)rs7+OlQ-G*7AlJHMNwqM*0u@8xONRdZ7_TdQ#?gHn7vM)d|!s& zA+n|C#N7cwa}t~69G4|3nBEb-$;gX&PL^9ulxEF39^MXk&ofcl6+*hl-wL=^FZ30z zCfX|1b8u+g6)Cb5hM!jX?4`zFB&5_7i=P|UgB=L zO=t^P02q-9CeI;(EYm<^#>=NJCm3nt^f3sCq5pmdT%lz>@N0k$%1n%mvLlg-Ys-Ak zpoa9<)^@nXiQjHg&SoGKvLH)HYrhH#PeOz3YYe;FYh^BDY zl+P5zErc^HF3Y1bK_~|}_;&#c^gfv5T!(i-47@s=PQE}72_#meL1Y(*^ z3y+MZW2s$0v)Z?o&b0Quie`%Nk1CgG+wM##zepFim&sm{{32agKzfK~^KlF67wMuQ zr~iSLjA=?zJHga)5v7Ze|9!+hzR#xbQM%AYDMQm}z>SPnI1#b5R81E--zFJsw9P}# zl$Jd@2>1FBF%^IVR^EmB?^%{KxavWDk!8sdGphB$eZe6IqJj(g%hb`M9^^PBM+dzc zjZ@xaPmBN0i;sDNBTUpWxO>H>NYBoX&tIOrfAQu=v;TL1_4)m`Z-00lsw6xiOK0>J zP5B>Gk{&U!oMthP!`7o6HT1?P+5v%un-;M!=#76lZ??IM<8OX={^I?cGS{lhV{`uZ~l1$!nfRF88V;ue}4Msry-2zIQ`IrNCAkFsIBO{ zzDee5{E?ApE(Zj4{)!Z(Th0@wYk5{goRW?5eDB>_Jce^XTbRSMsRobab|A>9p>xmGl?s zqNk2t>z=P+&K1NfwAGl!O{Lebu)jzbJ@j>z$FQfy&ivpCfs1GKlSp2}+<`|_lJPfq z{hxWL?q6)B-dUUOU!?mT@a$Uv@3{9nAiL7h)cO5>`Tx;R?nbGG@#K2ES$u%BiThx? z7yaH&?}NH8j*jisYncBmdf^vvq%dx95A`Bl?3f5Qxr3rTu-^HDe={Xq%lSjq@5W|} zmtaG<&qm9&vEm>mfT{I64#*P_1iGd~Tg<<@^=zJ4P%0B=FHYXRIIlGu{IcEA7i79HPIA1Iz%_q$tA*JE|3(dfF3W*XM!Dzq`-&V0<)6zyIs83k^O zZTma#u#_}EO3$vI#x=J+O_DGH!5q?kl<{Q(#ybs!6CRyiUky%}wk!3#22z;>NW3g#bhG9WxeF7 zqr7nZO*Aq5JpQGlqG!dEqj(220166?HSU&3#Q66kk&{eA)M9wxSxt_>_!f$Th1huS zY3AB$1%>TzdoL2!P$KFpH~NijB{zh|FgXGr6cX*4&cq(qDu<{3h}DsAqRbjFnxR!H z02Oyn-aj(oB@oYl!eqvm{nsiY^ol67P|_oQ-@;)(l2^kfKwSrW4bx?FAmHE71nhq2 zru0n2mtK)VBev-T%$MvB#~>8ZtAqJcURjT%_O|1yt-t zFe3BZLl;_Xm@Exzj23>DDUPusAJ(y;d}FE6+&lj~qf<~|b?ez`1p5jI5={uYvdtjS zftFQ7L9=w>|1B4Noi1kCU^fnTn&eD?x{s)9QZHnb)8^4gH!>;FXM$x_M2kWJfHKq5sgwqr*4p z5DU3SX_imtAyaSjAV=roNKZ<;e+N$<@_*dR)A#-#u&(so#T7si8|V)109ue6mjHoziSLhg50E#%|3yHXUGAHJ z4W`mR&zCt`_q2vR-Xj~Xjeg66H@J`EYwCc1!)Tt)xX)$`T#d8&8qEag0j%`x!gGk` zS$c+AF8&!g%Z_4Jq14ajSEEC#uQygv=RPcHkfAqcgZwxX8QIQ!ZVNUcdJ4DOQDQ={ zkIWjklKiBo?Xiyv(|N)m;)_1-(6l>qcJ;CLvMn4cil(wxAW{{nM}q@*wqcz2+9n#e z?qo;Za=$otyCl#-V@p4r5>!lKgl<0F=yOB}9%Hb|clDI!7cZ>sae@fiVz_pIvsK%T zecY8c=opdxy+phWy|S6t!+8I>wV#K_(En#yfq$c0`Q&|`#qVK7vND2eZwET^KaBUD z?%MhPp6nky=>PZed@1_>_iE^!X7RBac$?k~bfNh(?F>A;=(kPiWMp&C(9L`Lr!Y84 z#22tcKdQr7?JBmYPpLG#l0L1w@u(l~7R1vM_h#gr#q(-H_nm~{^sS8LravwRwAb)s zYgzYp$9=WR`%oRk)HU0=AeHfYz1I)Ucvr1XMLiByB*xUqd1qM8%sVdTPr&Yui_sIX z?`|63PMje^XHL0#3&qW5t)ajecu5N6&)ojq*{Ek1>LHfrdNr?J;Tt z(2Z7`E1N)9k82OQy1@D#RxQ2K!%3>&Li`$$0!N=~C2leQ$zZ1DuDY?{ad~-i`tBXU z3I2@*kvv63gi-=8Q6Kr-Pa^v;9375*LRPh5Vm0C>i1I3!fWvX~CaTt`*Jz#<%R6pY z3zDO!w`tm(0SqSKsjqb>+57^h{nUf?JLi5{Ejx4vv@_sgEu%hr?&tghj_5vNtGzCt6vqox zz)Pgf3Jo5Mg>rb%ae=PqGO8xhj@G{I2h-u5J%;^Hq^a0!^xsbV-_zZvcKqLirw{Re z@8|ha?0+KR%%<&qHrPLteNVK#pFOX^sHXj{$xDa5Zo~I81y0Yk`|q=|{q`pJ81LZ% z(4lU6ZD4}FR-4yzT=q12{j9~>;t7Ks7c@Olefm(sO;nU?$7w8`mYpQ|11-5p;}=3Z z3LB}Nj(9dFw$$)cPQ9xeDVmN(d~TZBM+c9%HOpfFD^KlHpoAy~bNnOQE> ztC*E7q8#4yqQu)OL2`3$Rnqt91uf>k{?H^^=?{Nx@x|}Eb(O$&465rp8gvl07@9vh zT5sO>rOHejp=?%}T(U_ZB*(3I zQ#)8gmDqqX%9SpAN$XQzww^94M|nLO*8s(Wuyxw4|1eR>k z2E6vG^H*oB7NgT5Tj2Os5xLh`l}V!3WctUEWB=A#u~b|;;(rbuwLOa<z45I0#M`!t)td8pW#j*VJFwMg$Ugq=IpjH^7A3BDpFIqh>($DU6#~q+Ydl!*o zA9TI-biJ0voh}<|*inqo6G@wM8%fHu97Ww~A_voAF(64v2bT^`05=UF9bi_swdjZ` zDsLbLTYpmPYFiuzj}FynT0NWFtR8I<7;Y1s^_FC8()iMEtUcWQ`eGl$|074m9G4~S z?)SfD7n||}>G1zJJUo12`F|Wf89&5-xR>Wk@&7ojhu(i@7n^ni@j(AGd4rfN=;svT zV_VZV#LHlYxm{t1(r9eQr%&4(6W^c5}%UB;R1 zmxrV4Ri1?eyJFZngQ z@a;*y&$27AANlX>!rF@rVMVf`w)D52^U?{o%HBkyYQ5Voen8!(zgFqQL)MkYX>7#= z-fR|ofySRDS^5WA^Wl#zS#B>QZYPu4B#X1ou3()E5!IU6HryrziKGeeuSHAq!jhu@xZg7$zu9#%4Td#y{w3CH`9yC$k-iql2+Ba#tUrlnuSyM|o z$>wvI#$C68Yjvil4zh~wv4YOAx~{RBjKDxl^sGQL?d>Hjpsc3^*VMep; zIt9bGVDjYf8TeZC*Vjx>us+do{dH#+WIw0m<(52)&rnnqm@H4Sl%S9PjZ5?9wnO)9 zfD2)gWY?z!Uf={>q8DWZ6Lu9<<}EXTcrY~>AMFO{WDJPOqce_DRXbi0D?Ij{7kd|&>npQ_2ure!m z038gi+-G1d)*rJ0cDH=zIBIjV#aK9ryvXVfmB!12|aG+b^J%jZXi7cE-~`-@y4AJ_3FN zKtK0+^*AyCXy%QOE5h~-Is=*IG3!VmC=wN(RnsZ{=*`&Og?0zHicn?whXpDM9HXOQ zJ8cc3-e{HG2^uy)R5Ou+i)%(Q!avLIAzws2J&V^S8e(U>ty|3J zGm;hXl71>TkrKv#r&hzWVz!rCO>rIH1O!7zRuT4Xlk=z4a60CXMUo?t=UD_3^grL8 zZCKbCbe)|Xzj`sGNc^PXk3&&s7|~ZlpEP2_Qpx4JA$ZtA=!4{0Rr0tNy<3T&mMx|+ z*N=|q>|5dPV~xZJK&-)Rah_lQ)}w}J2dqiVhW3T#{x6F+9sBPuo%_H2y{CJ2{=b9q zlf8%i-+eq^%>FNnH@?}^K>n$Ac3IqW8>chKv1c>*NB@)o%-2!o{0@?|7|`-#wd!#0 ze0>bY1ne4$PmUry#rzI)Ym&D@W=Gi9)dB%?|4*h4e1U1Vd;8VUH#;3kxeI?Ve*dng zF(cSTL`1H$;_3^S6zpl887WSjbK{&U%T8%*Fwty^PHeI4!J{`>>cl19KZt`rtT<3(U_D`Q9LJcF29p!zR)*lEN(fL*|ryyB2Z?jgQ>(gKF?iu&hPdb$Shp`1tgty8wMK?KA&p z`V3hdzzGNvc!82KXe|uD6r&`5i>B>BwX!_S_8bvN85nXbtn!E3F9hG*_Hw7KAbPYz zc~{Qbrb%~nHWhT){lBFcYq@P#U$0}+Az%r`31ly{K@@!YtRmTz%m3CQc~Rf%T16hK z%W`eUAL@!$J1;!y8Dp}*v*r1b3JK7eM!wUOB5NzcGa zYBe(mv@vzYO}dR{s;z2FqEjvEwoBW}OOd&(thXl3myQ*QzA^k-Rz;%wh_G|@MhO^2 zs4QP+^!r-`;F^^z`J)(dHnMb5S68b;pbN3$aP`+={-FWgNJ- zsB5hpUhCFt6ys_RTH;gV-_R>O$HcdE)CvFjTShU5duLI2gOe>o4of*B25_)xw>VCqCHxymZ;>NG$)*joT}{l5H(!zI z`iwP@wE>J{b|9iV#s3Tz0?bb3GETZvQewct@MCSQ!b5E$^QqUsIveic7H72tm z!+EE4?ltL@CC(Y3;5jZ(M5rk5ZjpfYCo^2SqJcGogsBdFFkn6yFdqzGI4ejgQ@pstzU|i`ik*u|25>I2} zq_kR>>Li>|ZpuSQde*6ctM5-P3I61O$S+ z+ScS)>%YM0KWqO&w=U!FaNxd-BU9%H_+QKh=l(=}-5Whcz23jKbOdVRv;@0rZfo&8 z%)0ur;i~B0By~w{6Hc48%qVG_&P*^~J6dfkR||qsQ?yf^JGZY9%Cc62)y-?V9C0rW zR{V`xnzUs#adOq)>8|RnxlDi|y5*SgGm8xhtwMKlT6YUP5jqs$9i1vYS&XxV&6prf zhBLAJxmmr+M$EDKT7U7+I?0Jo^=AP^A zt!>!-?|&Kh|3tpUP2U0R$p5l`c+j~2_jG^!aR2Wv9NqUt*9XRdI_7*GChWMvgmeu1kXeT9lf^bdbYmKgup z_}N&WxV>7=0r=W3zBXH5m+B#2wAK?<@8}l9wsh08v5|8a&h^ip8(}?&WZPXonJht* zO{IszFZ}YSCa28V+{dKNbM=4PNkq$*O6h7Z0tX?-ipl2=x1l+ZCCEeBS4eVfHb z;R?1R&-RXQ>2%a}9NLx?{e8jL!`g?Woocgx@!;o_np4 zP$nQaKRLC09`gi8n9%p0E2BPflnbaw9Of$6zCS-dT~YWcY^?6;=+0JK5Dau@E8=_i z{PxVGb=}zbmoHaRKZwgsi%Z%0K4~Tg&HA$JI88Ic(mZTHA@^qpsj*l^~JX_@n#@wbka>g3W%ooDijII!>j576)7U93~?qcn?nCD%V>t!b|jb) zl9$SL1l*Cd^lE=SmQcdd)7lTfx z6P-MdYlqn#mjU76C4X>n_U3DD!ZuJ=y}e=^YA=84^Q9c{|f*B|Nq!>UvB_} F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/librespeed/1.6.3/ci/ct-values.yaml b/stable/librespeed/1.6.3/ci/ct-values.yaml new file mode 100644 index 00000000000..a4c249088b9 --- /dev/null +++ b/stable/librespeed/1.6.3/ci/ct-values.yaml @@ -0,0 +1,2 @@ +env: + PASSWORD: "ChangeMe" diff --git a/stable/librespeed/1.6.3/ix_values.yaml b/stable/librespeed/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..1dfd85ef4db --- /dev/null +++ b/stable/librespeed/1.6.3/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/stable/librespeed/1.6.3/questions.yaml b/stable/librespeed/1.6.3/questions.yaml new file mode 100644 index 00000000000..1395b5f16c5 --- /dev/null +++ b/stable/librespeed/1.6.3/questions.yaml @@ -0,0 +1,649 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/librespeed/1.6.3/templates/common.yaml b/stable/librespeed/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/librespeed/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/librespeed/1.6.3/test_values.yaml b/stable/librespeed/1.6.3/test_values.yaml new file mode 100644 index 00000000000..e9605796648 --- /dev/null +++ b/stable/librespeed/1.6.3/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/stable/librespeed/1.6.3/values.yaml b/stable/librespeed/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/lidarr/6.8.3/CONFIG.md b/stable/lidarr/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/lidarr/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/lidarr/6.8.3/Chart.lock new file mode 100644 index 00000000000..ff520212bc2 --- /dev/null +++ b/stable/lidarr/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:38:17.481437301Z" diff --git a/stable/lidarr/6.8.3/Chart.yaml b/stable/lidarr/6.8.3/Chart.yaml new file mode 100644 index 00000000000..cf4e1a75de4 --- /dev/null +++ b/stable/lidarr/6.8.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/lidarr/6.8.3/README.md b/stable/lidarr/6.8.3/README.md new file mode 100644 index 00000000000..eb9ffd00040 --- /dev/null +++ b/stable/lidarr/6.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/lidarr/6.8.3/app-readme.md new file mode 100644 index 00000000000..d4875aa4c25 --- /dev/null +++ b/stable/lidarr/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/lidarr/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/lidarr/6.8.3/ix_values.yaml b/stable/lidarr/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..b8d29de2788 --- /dev/null +++ b/stable/lidarr/6.8.3/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.2255 + +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.8.3/questions.yaml b/stable/lidarr/6.8.3/questions.yaml new file mode 100644 index 00000000000..6984438bf20 --- /dev/null +++ b/stable/lidarr/6.8.3/questions.yaml @@ -0,0 +1,686 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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.8.3/templates/common.yaml b/stable/lidarr/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/lidarr/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/lidarr/6.8.3/test_values.yaml b/stable/lidarr/6.8.3/test_values.yaml new file mode 100644 index 00000000000..fece95f4d7c --- /dev/null +++ b/stable/lidarr/6.8.3/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.2255 + +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.8.3/values.yaml b/stable/lidarr/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/littlelink/1.2.3/CONFIG.md b/stable/littlelink/1.2.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/littlelink/1.2.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/littlelink/1.2.3/Chart.lock b/stable/littlelink/1.2.3/Chart.lock new file mode 100644 index 00000000000..aa2d4e32434 --- /dev/null +++ b/stable/littlelink/1.2.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:38:21.390388272Z" diff --git a/stable/littlelink/1.2.3/Chart.yaml b/stable/littlelink/1.2.3/Chart.yaml new file mode 100644 index 00000000000..857deec6cc4 --- /dev/null +++ b/stable/littlelink/1.2.3/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +deprecated: false +description: Easy platform to combine all your social links +home: https://github.com/truecharts/apps/tree/master/charts/stable/littlelink +icon: https://littlelink.io/images/avatar@2x.png +keywords: +- littlelink +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: littlelink +sources: +- https://github.com/techno-tim/littlelink-server +- https://github.com/sethcottle/littlelink +type: application +version: 1.2.3 diff --git a/stable/littlelink/1.2.3/README.md b/stable/littlelink/1.2.3/README.md new file mode 100644 index 00000000000..76c6391a65c --- /dev/null +++ b/stable/littlelink/1.2.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.2.2](https://img.shields.io/badge/Version-1.2.2-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) + +Easy platform to combine all your social links + +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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/littlelink/1.2.3/app-readme.md b/stable/littlelink/1.2.3/app-readme.md new file mode 100644 index 00000000000..ca20fba99c5 --- /dev/null +++ b/stable/littlelink/1.2.3/app-readme.md @@ -0,0 +1,4 @@ +Easy platform to combine all your social links + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Easy platform to combine all your social links diff --git a/stable/littlelink/1.2.3/charts/common-6.10.7.tgz b/stable/littlelink/1.2.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 zcmV)tK$pKCiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POw$ciT3yFpTf7kNyfQlRmZkSd{!FPOd)J`?+2xZF4tCePXA5 zpWE$8U=p%WQzVxJ<*07nzx_SbdXlXoE zNnr7p@!GiT#{HW-FvmZlqQqG`0gJr>%yacK%~CXoQ5h9DC+y9)RT|O1K!Ps{SS-Ob zE5LbCAvS!2`Wb7Js*ez z98p9P1YAG@i!$V(suC4ZmJ*Z_2DKVJJvtQu6{*H{9k1>%PNA>VS+9$aC#Z0iGuY*kz!cx{>OjpdtmWmq7`JBqls+d zU?JOc819b4r-NSoFXsOOCKW30NC33Y|AXD#gRwpTpYHBH%>Vm%E|cs6CX)dGkHByU z&JY1G1=#`>1&$G$;ADnCUZ5%d2(l^rHLa3_4n#3*e-Nb&D6||(2`&&T17bAADW=k6 z02F|_=73J@B1;lfC@?667YSmJ>aXDdhz~KJ95&LrD4_ErWZ!>;364R=uQdTT zpLBo;yg%$sU{fePADF)DF^VvuJs6-))n6CA;E0(M(CR^^ukj1eeF0SUTX zvZCK+1$eHADR;nvag)mo#>}@UDi9oDJ&O~d@ zkQ3Ms>2s7If|?*|@Eq84#tI4s;L9{C=vcue{U+(BW2w+V&=*?sYaUye=I|q^Qn-LP zp<|8J(tfW3rmTuf4uJh-Rn@xIs++@t$O!}LUut^1<2SklB`&Q1kW*H zz0N;;&)>hIuP0!CFu-$oSx;E@iw=>j#IzhAFXD$)ia@&b5qN36&#NQ>d6wXaR;RyC z*^kL!z)H!vE{5EE4%2w6+*Tq+bS)c=Z2cXGLKE=wFAfl}xGY;L)6cBtpl!b9Sv<(I z_}H401J9Hc#b4Faj+Z=+V*tVTS%H6}1SH@zi@|Y4vND1RDh7|he@P05L-3z5E|~!P z+W?9(IA!cqf^7@mN7QIeqtz-~|81 z8hVO~2&IIM0$T7{UG6oSXT`F$=%7T!0!QdLin1ytwcyWDgr^vl;ChD03>5$ZQ4~O4 z7L>EBN@8$<0GAo@0EoY2vn4dGR{+TXjAQyg+7A{?hg6j?&Szr%5lfd%4aq=N3fc5> z3et>#k`0wu5Cw3_mYE#@IUrnuOOzriUt&;|IK4F1L_p9yPar``rwalxO5T-RKvAT5 zmRGbCV^CBe0in6RTF7)8n(VpMH4z zd;;dnVGhfZYT=@}uOUtWN*B1uQYIP~u)uVDmmxS8Op+s>w(xA368KRr(v!g>aJ&u9 z|7QZ;ou5z!Y;$bSC*bRw8xX!l34$dG-%zH1`tA$&b6%FV@<&P<>j>G_H$Oao@&3*6>la*h05HWUiQl5B z{4L&`LNc4Mc@U;qj3^fd1KF!$VW3ifiZ5TooYm*G(x%BJe4aDM4Sc%mC-s-KNVPbeMLKW7{l}u6XyZ9K#Nteq+GLUk1+j&sR9TD#hkbOhv(V-l{VcRcuC{WGO)(iP8d3xq2qQi_e;#))UU0 zu3WV$Sz7R@dRyQHPSB;Us}%^wKcva>ZI+R5af0|%ufIb&15ahe7gX(o+^)u3>LM}0 zQxq+u1o>!F1$4cY&vCl21G?uvk)=yOHGmNOU%H-)1qskq8^r*pa?z){D=dd}BW2ds z)oBd{jAJY&OLS{YH4rDh(;~Y-YW6X<@ee&lD__cFUA{mmLbdk^UZ50}<&btHW`C6g z7Np9DIYnQNwk<`TuAvtw$*u>yfYO6s2~Z$+&`ry@p#UIh&^C!LYAZ-$fE{oJ$25f) zTYIi*exRQ|P*F(5^ffML^sQJ3=(_@B*Qo-2s$lcQryjrpc1ic!+$cmFN0vFF>VC>} zP`*m2g{vmiY;$maavHGr+`w{va#|yJIi;Ja^Yc@I0hd%qkJav<%?0{>ME^Nc(rcSH zIfrB>>$p&l0c99>e50O5pMgMOhk`6R;;f=BU6-O7hpcWAUEg zIm#;1C_jZbsS0#HD^N-4oq#8U+6WOte5;|ZW|@1etIu~b*cJ4L(Z0%PH`%t~;qC_h zg^l+!z9OtV+QmxZ9_ytJbi*TEzws~DODk19CPy))fd^2j4?ZshQ$(Gp(QBs94D}l8s^tjUH)2v z3BCH8C@^6rRGc=ZX$jc2zvO>wZE(!iy6$VbLFV(7O)Na8WJ(j{RwcAyt~~D0nZ^uF zBnrcDTN`)Ga7PFKoS$*P6zobcJK8p!nFg~oS=OIfEm&M3s%c9SIB4;sLA7CJ=XQZ= zI>jG3csXr(*WuD&gmtE8$*tP@O2vaFC&d2y<*8QXw8$2e2yJ(v+wZSuIGV8?_XS-! z{#D@u#k^e(Q?MVVuj29h4T!VAVQO-H;9pav0ZY&K9M9Pj$>pEFMCRW)~S}rd# zl0{h(YTwSPoWann@gL|C_F;$r|BU`|escPO*{VLgdw%*sug+IH`bn&NIlN8*q>E>L zT9L-!5|Mi5;gq0)4yAW*U$L)jp4R3bt@WJX34?AmN$uk6iOEiYSW_*{Pb|Fx3==`tVhUNoOp~b3~P53ZMQKsB2v6thBDlKMH)OjAb}k);u^bD)i>~44j=D zzj~o)t;g_IiE?(nyls#}Y0N4D*g2axfS60{D2<0zDVDG){)pn&byd0I59z$Y>F@%U zIMP_H&7VI6*EMilrrd#6DFwDEpykMBXN41xUgGqlrzlCvA&i)V0G&<2o#?4j@fLKk zv&cS^@)3B;ftUJ;74wt*4^}`2s7@gR)?V3?N0tazbwGquJ8T{=C?1sAs!*K)BIomRwGKWm#qqc`_V3GpX*t>E` zT_ARr9ie(CP&5`4ejMBzGSlYzLDqC_Yw16Kb!HEj5d1wOGjUeWTq3A=;3JFnKwf0b ze+8Po!~26ITpVyz$`gPOUt`n^Nm6PQaYrEKsl!xW2)=vwvbF}9GCe{C!BeUYOEVem zp9m)C1Qo=v>Y2m;ksN8RL2Ro=IUOq{p&V{e+TPJwPBQ7vL?v)7R%jbgg4mHTP6hQ8 z&OED9LKm5LXMYDVVtVF!8lXmPQw!u6yh>odmfjU{7WOU**QTyRLFGp0ujx0xdaBW* zP9=qRMT1tuip~7I%COa#%`5a!d38**(e1kLnKD6Z)s(5o<;0yYq8)(dIaxl(#SWWD zR5(*QxOG-DGUW?h<(Xzhq+C&R=5BoY;|UP1m9)@LI7ygTW;#u}R6g*9P;R-ZMd7?r zetru6PfY(N8J|ep)|@5P97%1;Jja)-uI>QyVf3GrocG!EJ(;2Ry!zih?1-YmDTS8& zdib@N-ldM|q9SH@@b|ANMI0d`j=NZaM?jo~YaJrCxOl3AtsOX7briFcn<3pqaH!G| zqH)Hs;x>WfYu_cDk*t812%ISAEMYO2;!6Vn+ZC0Fd3=5te%Jx=GKF&-(ItcXNK(166&OLh{%%(i3)M6*n7C0woHICU6Y&l~DPT^x*DL+(yn zpo+O=0rU}96vV z8rxlbFaUfAH5X+F%Iads&y~_r4oju9#Px)gmL`Bn35qP^I$~K}sHsD{a#&UuOux}K zR?OS!b*A5>k+O|g!}E2$C(ndl!4_-okUP&}q^3!2wz?1}eWHta-^Hl-s{p!^If=s< z)f5gng{5@c8d54sZcKuzX%p}k!T6^F6Z8XJKh2Xj$OT|FRW!<0(CrH zAwYX%Mi-n5M6MA^0Zepfr-8=mRXDBK%kagx*ls^VrX<7@*CJXkbCPshzK?iq$KG&` zVq7spLcm@BgL>V9fXwr03AWxIzaCz|=!*81@@?Ceb3*`CN1VK)C1Bd$v~H7;%$+K!wEQMNRQYvYpJk@L(aTZl{`y-U!tdI(($qv5j4g#-o#F(*yY9uYF&Cw;C zEb6i4Rl`}q;apz9X&DuoHvDg_o@(vAJ0N>+jy#i7@;|uP=-dOv@y~F3rq4ZO)?;ClPBJDaYA0OH+#1ERW0H-lt;JAVb z?WrrSU?UhYjfucCLg9cnf~i;XR!=EzX2g&{?!>MyMD#6tsjCoyp+f}hySDB>dIWwb z08=bMf=j|Ka`1LjIbP)rEZS?OsF4{uQ|7@;m(kH9`Y*?o725;)>rDL8{K5H% zE&-gf)6=C!6DX?W7HG1 z?SY0wv+2Am`2u;IU|1q`^H9hFl#&ATwUqa59+&z32?uNVLF(2)UQa)pc zAduF_D4PfJ-Szc#XuKa7x@3XMtSTZTmHQHm_+8}EbAcfo$SUd@`y=oZ0##YTBw2z2 zMcI6g(wLcIGzZ7pB~?`C2Spi35L}2OROaeN2YZCGs^qYvS%x(mT~(qYZpR_wP;@Vw;31Jt+A3dsx*#Tu0%_sq{af)d_hjO1BXKJe~ z+oDygQr=$9&S{n;*)>itIrxN5;~fCwU#pVv<3Ct}6j3n-izUD7S)h5gkn2~GEWt&= z4$R<`paOhdv-@jq@{c3#f_!bXO`y=AN zsC%xX_b^F9l5a8$Oh^2uy(drhtoSbnyNBb4_%HYI+}w=58Hk(Oq*&$|U43gaDjggu z+7pw6A$UpnjjjTvF)ElTq@sT%eBUKU61ad=|CEsvxM4~L`UnT#j6QuD+}sSgPZt6K zM;5{)3Bd3ZT?y#d(Kp~VDlWzSr!0brI98F~c4@4W%D=^OoAS*_1BKHlsp1-wpoCq+ z3_u7zv4eAg^zRksH|DhlwL;4mkqHD(LHMIYp+`#yg>ubdxuKag1Ylm2u7yJ<8cnMg z8$qC>m;&@KS6SxjAJpL`0$IyVnqDvjzk?K~F+u;PD z9ivgS6{i7a3ULCq@&c!13W7Ho0Z;_Dv5DFGs@x8Iq;Bh-COf;?^9`!m9t4%)EQb!N z-F3t;>s?-)!qf833f8D+r{(o9cc7;wT+po6d)pi4SwUdpCCF2YZxm56$7M;?e;)~6 zCZmts|Mq1{P%)+Ym6HU$5uaPqyPxLzujbpvw1BSlfA7$a|Mq16aQ|WbzmJEl|7`oC zJejCaKy33wm%odoLQJM9tw2TH0@=l{C?dk43>I}nAG$G8&fB^U;a~U7L!PrS=8RW&sCNK zmi8;&6LUzS*(X3t%<63~%1`GfVcKgt|SRPU~m?)o_oo?{n3^P_2 z^zz*TrbY+==Ga|>MbB(9Y>Ho5L%9#J4RZBMj4nd8QIcn|qZ2iFpIcu3(H_V8uk`y( zDF7Yo|Ng<#C-(aP4OSiHDge-h52(>V{iUp1syCzLqr5gVn zetf6J)McIDqDPnzIW;=0GZtRA8;bS9Y55)SSYAw?94T=iUzrCSvZOly7#dPbe&#SJI0ahR)p^O$H$0kYeT?K>GSiG$ zAVd9{f>0lr%lnqck{*g1)d6_Cy{%Cz=zULVq@-As2RfcW;21U}w9zO790-13{mbD6 zU@OKE0fFj16W_K4+h-N8s{<3W=uRp|Kkk6XB+ccsvE6x;>|V6z$TvK|yW- zsfc~G7=E<~KtK}Ss2F_&CZ8K)$I+9H3MS45N`|!!VkbqG-qYy8nuo5z&_;RZD2Px& zzR!{v6@iAw$u@f+pn|AVoyWIU!n7aSp93MQNL8eb%OrNB1TMb1Q_8#A#8_gx(C6|3J&S zVjx+#UAInlhSfSj(2*stI$I*HN6Y$py&C2fT9%F`{0^qLD2W5O31Fy=wJ-OyZu3u5 z|H~KA{rdmx?v0-|{C}PvJm`P-@i6n%%RE;d+)CdntG$LPaNzB$`*F@19uT&GZ&}+v_cZv^K27=0)wfM9 z0Uh#x{A7G+%m2ftdk^yeJ|1!Y!;&Es%B2I4OiR$@m+n&4cbwO#qZ$tQ^BmJ~Yxxg3 z{8xnr4U?j9Q2X?0P?7?tm(K-x9;@P>CA0nz;>$Jvd0^3dv;XZKjBWq#C*y;M`F}4@ zL;sVpY;URWDUZ@N1E7lP+|&Liqe^KSpnPTRujSzN?61XVO?Q)UT=qXbD2Ac8Sy|}V zZnn)vXrS$HBb1HlYa=vU*J&fXorzF&u!*j(npjs~)$%jYEI)QAZ9Z7L24$PI=S&XC zE@My2ShS5j9fPr9>`^q_k*!A~y@9gL)FbQZrXGu>pU>2zTJT`$xy|EU|3!k#O{f8# z`u|h={O|B!@4^53ULH;V*KZuHybmz1E4A+j^s=k$3rs9;Hsr|V*cKSKwHjVh4KIz} zPE%jtj=?ei>)THo+5>dV|AWJWU0eTu`sBg>doRx|{6Dqy?HhFfHLl%tdVp$F`~h7+ zS906Dy+Haxy*Lf$!*yIae@LIB1l^%4r#=^Y_;OYZ-PsBro&DT1yIelQ92SJ<&1iGj zRHeK<*bekQJt@U1{bt4K-tK_e+fUNrsrleK+37kdBVJj-qSV;24*eDp(YM*Iy86hY z<=JkN`*p?Wqir2pM1+kCZ!K2=jRC{PfYH_)1xPVa=a(LB$_grfb5k3^l-Q|D%TSr@ zJC!+$lXJk_izKz%{7PLjNnz%`0ffQ|`PJcXc62%HT zsL{K`h<2-$v18Zrc|K*rFc=2S%2ebA0qZmo5r7p{VS61_0IhR#({vdF0sd&l_X@0J z{JiE+MgkB+z=U46+~L#ZcY(UUjY32J7lyjg`|q;?|CXf$CZ}0^T#<}<;1##n6Li`C z_wD;%d%K5+PapLE`*>RQe`sm{Gc_bYp7BI4d{FrJ0hJ0b-FF*c#IYFa3Z7gDBwn0e zHf*a*q|b8rMu_xowZN#!(|z@??AoT()QuK<7l=T)W%0}?_x43KV!d68T!R>@bJn`I zXvzV(HdpjLr`D@e)yw?(GOsl&jdoW@an6F@m71^fngN*O^sQ?Lp+nKiXrOil0Qj*R zKwU-yurB~0Qs78uvwP5S%1=(;y(2imzcD@V6crIl39RoV4TWm|RxG>&a~-x-h$yer z8;;<3f#^!2A?e_57e$T*r?rJV@bV@b$%DhK+s+soI=FgPhEa;cD2=8e&PI#fKrGj9c;MAzLSQtTqm(>X*+(5qHvTxItG2mC`1Far zRGU$`8jA!v;A{4kwdB*MuU*bXcP*y;^M7;q06XUY)2D~F|M%gO{RjL1y*w+;f0!hV z`+=LV{5S58X{Yv7+g??fztQgc$+|Tlt;|9>0=X{k)H@I12@%>pF~i0=fd0L43&_NJ z)Z*dc@QW~9G8Qf$pKbZx?PcEJ%8_mJFuu0Ha(SQ#N077H$Aqf;wu?-+k5jmnKP5TVt(Dy>%?-1B7&QRd zK6j?wmqBl0H*ah10M?2B#rm;PHfUzOZ59JT9mzc^;s9)0CVwkdXeUjQp3Pvdw?WFG zPISz?Z=cMa-7#OWC+7V+VcyCA`5LVE6VcA~6>xePE`^k10BqB@bK`}QLS3A54O|y2 z-7?;+(T_`x0jR-O?X~r6S1eVR1gYx?8NzjOp>=pnW%{zU?xB9;WKWI;MWUItp~x!2 z0xrww*<~P(gZLcL!fMy{rr;V~lqjkSq=Fy!L!%GLNu#5Ta~7qONJ=&l?nxWO_39uI z*g2s&lxC)AjXUlt4dV?vDYC)?ki>s-XayLss{$}Ib50vTROOH-_s~vk*kK*XDYqW` zPPH1h+$r%jOh+68Jq>a5C~DXYD8M*nL=Xt@#|RZ9aAR`GL>5z_PNVE2hBa0zr<(0M z)AqS@1DiKzC<8oEUmDxl$GeE|CPdd)4(l3;(Fm58+Lol%4#BqEZX4@gWx{%w1EvBM*|m-M6=rA_`kCY_x7XS8VzAZvSF?d zU^ON;zb~1gWFD5Y(JafZf(ghAG!&C&AQi11{fI?J_n5YL$t8%%PXqRD=^uYIEohqPON4n`L^9hI|S2L!_? z_(dxOi%ZKhPMb&XcfjLWK4;pXHJYqtdI+LfcAbLZTYb1pzKQ|eO>a@z%4a*X0nGAw zs1jL%-$BV$ule@I&O>-(UY;NZB zP~_}%C`K}wrv&IN=}{*euSHH)=U%Wkt8UGv8-7FjIJt()l1}0&DvT85DV6msxvfb4 zj);EQSi*R$Dol=eN?T8uJIXUv*0rUu3pwtux)C4oeC#fmW?-83w-mpE>H3-#7J(ws zxcO4$@-|_}@6Fl4jU_I?R)b{T@<2oy4*Kk3JQzGw8mY)vz~kO}s5aMGhF653vVu4E zd8U(api-l!83F7j4{NV_ZQ<(a65Bj3d2r*|%;Vqx@yuHHaR2whC4ph02Q z&B+l69;aE1-s3!|+b9}$aImknJ0n??C9Dd|BW;#H)xT?>sO+V$M)f;ElZ9n)qlGFp zE%5Y>E3>3BzF!u$$y|;P`uaRiOi?cye+0H_LoY4#*lVz6<=rr>Z?0ubD{XSyvm8p| z8|LGhrAJ_kN1fn>wz=Wd3$ur1j`xi?4C3>NZmwt#C0TY=1|Z+QpNZRG0Vv}xT1T{W~bVC@b(=gr0=^$iF%ry@j?O2U|2|)7- zrp;(P1t}7v!X6X4dEFpHZ?s4|>W3h{Te6AgBz=>`%)%QOZI&oC5f`SSq-Dm)3b3Vv z=jRYo1O(ropPvToWVyY}S>p)XlqE-=$}5iQ`t;j?F6pybxUF}CPKsXH8h{+Wt4p^X zvP?S=w6SQiwO^a8Ny5QExaVfW$yYm=7i zfPWQhR*@x%*gqFAjgOOj2H#Y3@I*g@k|fA}5+@_Za8zf9oU_IWR&JiAnBSC9A?J1% z?ORnOjg#5QX!O-$^3{T!%PJB$QV#yH=oAf-f+=*7vdR#2Z+Jj=pib>e>euH+_6{Z`_``-Xo=kudZo?FzgYJ^F_4U z`P0otTzhZoz-cT_gsWsQ47SadNn)GMtny1MN}CCFYm~EQRv3;H7FKt$8X8@f_&Veq za`uwt_6(EgbUtN;!d+hByh_EXiQiGm8DK?gsR>3fSskg!yKwb+$`wMn?{I28m#sGc zoBHr+rK2Z#P}7KCuzKVI6(m4(OFgQ!O2*1-1ud|{6|57epg}`3RDs>ijW`9}5ek|$ z`vfU);M;7R0tW(5sDj21jUoKxq@G~)Z^Ow?E7oA|7oYV;%$ zu;n6Ro|)Pu4`!;;T-UYUaT(zkwZUP1<2(OjdmHo!DC*GwbvCT)gJUg!W`w_+8>yFB z-`o7^Z)*wBZHrqT>zvVN+se`>$ZfxFAp3{Of}$*=8KN{XqnJx6=+;_qb2l{>1}QsDjOYi{vL>Ui~zb7OT+B4NBvhTA{faq{-{& zJTR?B3LA!^6nl-dlICR*?E~nC?d56EQSwy=9WVSR#Ec7d}k2vD&D3& z%Eq1-a5}{i_x>^&WPEaR%2Bxur%vM;+gZGY>7~5<iGH?+_oFUDeeYzGjq& zIlCQCSwI5OZtJDNE@y>ypxpZF1kFGBxZ;M>hb3N#qT)iFmgWF?dAe%I(?+xN>LS7A z>`g}AA{Z}^<5;8)cN=osD}!h>#)Z-d1^g!@|-m}zn-6*YUfb3jsN`Qbl^JDwN3##Po~-+7&z(* zwHo2z&sH6nRf<}5peItw$rUQs&+xXlRU_pqtqIMOzLveXJ*Mm9FVCv9?fXoZk!>;8 z^|-Bm4XHICsXO+0#~S9<@Lr@bzgoFz9q)0&*i~JWh)>WVfNHV}bJGyu+_?(LHb6h|9g4t%u24D+Dz0i`wzIp3zS+mpx$;Jd$-@r!gR_6Vpj?#DMmv>jM~|k3_04B zdWj=mIqwo*(8gdZL8%F=HKIIUC79Jr5=hxAO;Z01zAFD2{54S5c==edc^mobZQaPaAp~@;|{BqX-pb^q&5Ewuxl09rAx~{M63>@^o+a zA^+pOJT9q?3ZgQ*>eg-*1fsXGTX~%trgw_q`z(o3VLC8KJHD^5mC?`;78-SppgzOe zB(4hikXT+5GOUKTxE^G~W!&jUo=My7uo~wS3ja;7q>eRcm2PF*JZV^sy8$DRH==Hh zBQA;STt!&58%GCpSi%Lw36C)L7;J-p6qOhWyso6|pXpcSKhppN!{LzaEmuxW{MZhT zavMiSZrU?V>m(_aBO^)5FcRB3cY~Q}Df$Om@&;@7rhf+)hX*K)%wqux@d_>5AQpH5 z3F-^-=Hb%SANlE6|2Gl-wbTD|_lceV{c!Ig{_Fiba{pIgv_S0s?ucI=##2BC0G{Fq z66Qt~iD1eo_HXzs8Lb_7_gKpur~X@1q|U37JVz)$$?~OkbE;m|P$teI4;Yi(IaiyjM- z*xg{J8bM z8KerJ=ErlF_W$wW-V@vYbGZAE|KnaBDnP*r_tVtzvH71tOt#H`BS7;S0-*E!uMz*_>C^G}VgBF8!{+~Sl4RH5AJqjCHZqa-KjU`L z7^R_i>N}%&U)7-WBPr>u5T59jG`yk2FK4O-$nsmZ6knj7VZuBwvb?}ld8zGw?1;_I zUb0fF^w{Keqquu~AVdyMFGDJjcqSp!zFngE0u?9OJZC}V|8qCo{g1$5rR(HqXkO(L z6tGl-K}W14&a9IeimnthO2Y9iS7S$=>|tnoB(EOoeY>55!ojZ&FZQ5eZsuu||H98} zZ3|$R{2w>%e@}KF^1t58qw9a-zQSs%pFI1ZlTY4wW#gwUgDCwj@;i8sQyl(!si59HG*#;Yi zPWsaJJos9^+GbsLaXF2U*)n^1WL?H@ke|Gbxn$*C6~ zbC|{r|34nU-6x)O!J@eeTqfBC_cm7wyX~2#xq65!Edj4(`E)oy9f2)%Wx?@TZX5U~ z!*>nm38O4#zi;}oML=5B@w zo@0Vyy00TMT!O8OCF|nnZ_a30oL;hk+}q*citL0Pa$Z2KEjUaE+6MZV{`J z(pdt?h!@nh51HCYNEPf#m@zC~=o*ATTRw5%j-mgscsAsmICYuO64hH4T={9S9N1Jr@8ca0nQeI>^Dv~9LARQEPkjOPNOG%L>2`bpV&aMHXN}n%thap9hU6&J)BV&{& z*>bLqVl7k9^Ty{J^LDTwFhuh#Es+N<`+9~}23rzH(6mYzU>D>wQNRUz*y2i000aw| z;279Ax4tU310O{$sr;wh=(OqoG62LK+kc*n8|QzAPo6yZf8EQ&q}yv$T=I1y$s(AD z6;Aj;$en=*=EA=T!Rj|&sJq~#$~{Yk0BGnl0&bnWF%}Lut+lEW6^<%f*&LHv@8dP? zFnDv?_PDM+uS&xBL3O0-0uy9YrK2-IDbJt~1hs>;q{hJHl0WR{=o`Sw0WBioD_jzO zAD%_R<53Dl3J``kN5yj-5p{9Oz5^uFVq${ko(PHzM^m+&=&FpJtE`c>!TT`m$w?tI`A)hB+C}|=qE~0 zqn{+#6ri>~5`~TaQBG;HdtR{1bn%wMLe3fk0X1d4i~F3=@`WucSL5w$+;PYevdxP#=_K zm5b7oBamn`nnCsLBz>U+oeSvEZDCkVJkE3ahQ-M&Pz)|r3mrgK>(aVl-GCS^EUr8O zdt*KO9KOBi7gC@8@r%-t`{pof;5088Qr#8!@_bLJ7o#p?1Iv(%Y z`G5C!AL2jU%X7oi51!8um_wY_`8K5`J_ah7r?PB)Gg1Z<+fk@Cvrup+5*ptEYDp5i z?+-H>CsKGCSym^^bShOLS|BV?o|Twn#Zo)DX`J?(bqKuNHXQ)i`_n2(w0Lu7om_pi z0+s2zQz#WUnPXH}C9iNAzbrveGF?-(Q$*7aeUYj_djv&?=GY9TCTWDlrHpH?@|&(l z-R5YswL4bIdU>mWZw8hGPf@gtWX^c?b4ADl08qMMm9*{26ft0hTrs z9*g@Eyqj4)m4{z|u@mu|yNh19*T{O(TYM7jmA^PWj^Sh!cZ_Tcg2jWTa1mDj;FKRr zmpO{?bjc8oIEZOh(5Z-vETvkm+QJ2GBFHTpP`c17$%#d$6~7YZumDVsz~d|HgPMeo z7v>jD%wl$T)XoX4TNdiXs;=gVAl+>1kxjuI<|^3%fSM10yff%9VQ5AQtqXaFJZ=`( zh@Zn;!qtv-?NfJAfQNJr%qe1UN=C&C-4Nwec7dhB$^xy)a5Zn_bUEyrZQ>BI4n@ro z_$Oc!qMb(2l~<4jh;(ps+lJ;?m>(OH&%sP%^=PB6o|dB1EyxZ_mU}Hn=|Zj=^~BL; z6K)sqYqZzU+k*a`G{OV%`I3@njBkxTtopRnBI8L^B4#+9_{o318 zNp2u-xZl@WIg32TBbAT>&$U6kXDLffC;l3Wo@TxVCI)UZ2mQ^BrbXR`=pws79aN9L z832BeRkH2Mc~PM^$7g`$RRNbMMFk`%2Fw_gPBY#}T2l6m$~D8L{s0(uminVKO9#xS zirJ7GW~4eUCo8Ha=BoiotFHE{NeZiIWWiA#^w=u3g68^Q?0I_Zl*->7v%MhPwROLXWk;VNqx3`Wq#h#JbQFIAZ{1GBH}N@p7UWVmeGI(G0~^ zf(i-Cc+nruEGx+yel?Gl(0;B4LvAMI->tRvbEmYdO>XLkVVpCHxDOYtR%mcUqL6QK zQIel9nSIYoS}LBWLTAh4w5$^;s2?ki79RRk_-($zskqo)E7$gC4>5FVE0ZjrbH4M9Xgz44)#Dc4V7`sL=j9(q7{*O0=6Wj+eR?=)*08W+1g62cw6(Q#?yQJA14@! zoDka2_2ovI#YkN=`}Ap`|6U(D)G~(1zt@LKvIG@%h9K?dim)FP*)^XY`rq170K4x0 zK0Ro}e}A(3aR2LG9=37jF}0P#C+|5J3SSR(k69M9D>}K1=APiP8O`05&`+~?c|x~) zBEg#>;DN(6jzu%)W)t&9i7L!ta1T)7X(Hb7+QU_CV*Kg=`bcY!3Y5mE;7+!}Udw?i z*2i5@7MY*u-apAManw)h3)Ae-$_XmtB8ZTMwyW>b@n?PhFC(SYm%$%L$2+$d)~u_~}4Z^Uv) z|27=_dB^Hs*4;c5u#}jn#$4x)SSw$X5M!a*Y!` z>t(a?b?!ceqmi1={1Sj|51qk`ko-GDCV{Kh?9x(=$RU|cL>hk9GWx>hI^+W&6Vlco z&Uu<*4+Jl_SsO@{pJmZidn;O5YV^6LmpHH~9xy#dG{9N8vo)(j&%5EehLVKJY{M{l zjuN;$Ls6E-rO}Oa8i$TTpq;G}Jk>R;0-etaRL-&_Zo;-p^aM=s9Ay>pl5BqO2{cCq zW~N~`Oyjc~V$Xeq`_Ij+|DF1uewuqrEwDrX+uODCzwPagpFHS)_wukU>W|#K**;MTO-B;}@$k2Gr0v=Jd@eT{R|0_4ahcCLzPLZ5tHOzd$g{N>(YT z-GqaD5d{K~ely&GNnZ4lP&`2?^dov!zJ|~Ox|wy(B%kRy44hQmwo;^n2!;XAlMmE8 z?rm2WVGwISJ%01eAW5UTtS;(G;>W~r19mJJ7K{SH_=hxEN;d}ns{@Kp4BAWZO?Q|C zBkX_%-WrmN$nb>Z1NkI@cz!PBqA~au5mA1B1{0+=u!u!MdbyG`6J=o~KW8>CkZ@n1UE4vPdFYx?>VZT^JGO=N2Sfa-b&B7%0 zBQ6O}FWK^83Qrbk`x-7wkQZo*3IJ1J7ROUSW{};)EfJ9phz&B2+E8}H+!}oYejqbc zT;mb}P6i7KhrsENC)`GFp|x9>x}uR;s}@U(@2$jCm8M-rYu}a?DXUMfc=2sFy~$Ji zT&ZCk*aShABI?6!GkBU6BAI;)L7g>RN~v0)Rb}#Ht?Y24T}1y>EO$Jm|~GdauGN$e+BEa;d7-7ev&qgq_M!h1US8KDY8kmSWa4QIaRIY~25A zoLG5V!VSO1h>&+P^um1kIOCRJm&=FiQjjwgSc3#J7Fcsd=x1@+xbfu+c!d5J&QLPP zmuXg@&Ex3M|He=D?f74NhldaOf9~aZ1Wq9#s7P6a2|faN=!}aBCoxVhK@OuUc!|nz z@CcmGsA|HG{7X>IP?CVlB)b4}NTL}|FLywJ5=ig@F&U-3hiN=`1X6U#9KGnoMN|9{ z#as&gbvp#iQjn#rCMAi^W02q!g@f?<+50n+6=?8CMyvnv;%)wa@?e#t-@5@8@|W;`$8+fBjh{$leY2!|^X$GeYumG8*CeWmwKwFzFCy zqYD^cqLC;(WMzjqoo2-xa&O)Le@T`JI+`Ys49kC2ut3}3uRotNH6p?PlrnqxhhRM33)FX~|Mu_P{q1+~;pbl*C4bZo5&D(&7h@SYvlx}ASfGN%z4&?j zi%IZs2rDuRx~lD3)zU0QZIz_K;&*V7WpreGV5wMJYb?O;A}0tffAguOa3dOtLEOvf zn~a=_Os$xig zjyKrUV|WNCBtS1Xxv(zJ7C>vV9CnOfkkC_kBX~uS$8!HMeO>O znQQ8yLZ$_4*l(Dz6M5PCjUY=hXU8U9shl~gry8qtD*PN$JQ3d?x|!`P(`Pssmw`RR=*J&iBMD&? zp|X6P*?`|782?mYf__LNZNKY)(AB+;Dz(#+**W}kE4C8LEP9d562h4U(9nJ$y0 z7nM9&XQ-X!IVY;C$_l&?ReZeQpS6}{aSws)h*;q($!~W_%~0Oa@KSCS@7NvL#oaF4 zwQZ@rqRX#b)!iSrSGK*e<*ulsn&lYYQm;TT#w+l!F5i!db@^4fXw_VijaKd6e6;HI zXJkoWL8`nb8)fN!Oq8WNSlHx(QL&YS4fY#Vd$Z4|)q{Bj$`c$x{iF6x#tHLC0Xyoh zx0o=fC^dm!9Cxl(&B8)A>nh(Z-g??*`dMPy?JoM3$YosVQ?lEZ(#LY*g5S$LVx_$6 z&tEHtpKl_%QtElMladsWpv$F$@V8l#;Pmoc9z&vO8hW4*=df}5YCB2}hATaTUrj?IU+EI1cIuhwEsLq$$S`RQ3)2i;S>GXOgmjlv*J3-;$KIq^hhLGEl0fC z_GdaQR{p;wDM#v#{d@X5yv#O(qy7AMe{bK8|G)cW?_m6J{(B#faPCm2z18k&{I8(xu#}A+I<~76lYrON%9o@-B$^ehAf7HqWrYa}2HS%HlLTt#bB;=K zM!!+fP(=jXFj%a3$Ud;&>{u5_eBt*fnX^}ePlLgq+Yn#$F8iAh> zND+#82Ii?evnCn1!qFATraXfvh07uCfJ}Po((1uw#y$q%I!nJM;400o0ldg60*lq%0C_5Tm;B-{Zf=>>hb!k<~K*B!0!X+oN1<8%5zcY+J^~AITf?=fa zasS9^RsbF&heWg^xF9vU!JK#Xk^YuNwAo@@CXvYaxI_87 zZB)fmR{O6<^pgd)rs7+OlQ-G*7AlJHMNwqM*0u@8xONRdZ7_TdQ#?gHn7vM)d|!s& zA+n|C#N7cwa}t~69G4|3nBEb-$;gX&PL^9ulxEF39^MXk&ofcl6+*hl-wL=^FZ30z zCfX|1b8u+g6)Cb5hM!jX?4`zFB&5_7i=P|UgB=L zO=t^P02q-9CeI;(EYm<^#>=NJCm3nt^f3sCq5pmdT%lz>@N0k$%1n%mvLlg-Ys-Ak zpoa9<)^@nXiQjHg&SoGKvLH)HYrhH#PeOz3YYe;FYh^BDY zl+P5zErc^HF3Y1bK_~|}_;&#c^gfv5T!(i-47@s=PQE}72_#meL1Y(*^ z3y+MZW2s$0v)Z?o&b0Quie`%Nk1CgG+wM##zepFim&sm{{32agKzfK~^KlF67wMuQ zr~iSLjA=?zJHga)5v7Ze|9!+hzR#xbQM%AYDMQm}z>SPnI1#b5R81E--zFJsw9P}# zl$Jd@2>1FBF%^IVR^EmB?^%{KxavWDk!8sdGphB$eZe6IqJj(g%hb`M9^^PBM+dzc zjZ@xaPmBN0i;sDNBTUpWxO>H>NYBoX&tIOrfAQu=v;TL1_4)m`Z-00lsw6xiOK0>J zP5B>Gk{&U!oMthP!`7o6HT1?P+5v%un-;M!=#76lZ??IM<8OX={^I?cGS{lhV{`uZ~l1$!nfRF88V;ue}4Msry-2zIQ`IrNCAkFsIBO{ zzDee5{E?ApE(Zj4{)!Z(Th0@wYk5{goRW?5eDB>_Jce^XTbRSMsRobab|A>9p>xmGl?s zqNk2t>z=P+&K1NfwAGl!O{Lebu)jzbJ@j>z$FQfy&ivpCfs1GKlSp2}+<`|_lJPfq z{hxWL?q6)B-dUUOU!?mT@a$Uv@3{9nAiL7h)cO5>`Tx;R?nbGG@#K2ES$u%BiThx? z7yaH&?}NH8j*jisYncBmdf^vvq%dx95A`Bl?3f5Qxr3rTu-^HDe={Xq%lSjq@5W|} zmtaG<&qm9&vEm>mfT{I64#*P_1iGd~Tg<<@^=zJ4P%0B=FHYXRIIlGu{IcEA7i79HPIA1Iz%_q$tA*JE|3(dfF3W*XM!Dzq`-&V0<)6zyIs83k^O zZTma#u#_}EO3$vI#x=J+O_DGH!5q?kl<{Q(#ybs!6CRyiUky%}wk!3#22z;>NW3g#bhG9WxeF7 zqr7nZO*Aq5JpQGlqG!dEqj(220166?HSU&3#Q66kk&{eA)M9wxSxt_>_!f$Th1huS zY3AB$1%>TzdoL2!P$KFpH~NijB{zh|FgXGr6cX*4&cq(qDu<{3h}DsAqRbjFnxR!H z02Oyn-aj(oB@oYl!eqvm{nsiY^ol67P|_oQ-@;)(l2^kfKwSrW4bx?FAmHE71nhq2 zru0n2mtK)VBev-T%$MvB#~>8ZtAqJcURjT%_O|1yt-t zFe3BZLl;_Xm@Exzj23>DDUPusAJ(y;d}FE6+&lj~qf<~|b?ez`1p5jI5={uYvdtjS zftFQ7L9=w>|1B4Noi1kCU^fnTn&eD?x{s)9QZHnb)8^4gH!>;FXM$x_M2kWJfHKq5sgwqr*4p z5DU3SX_imtAyaSjAV=roNKZ<;e+N$<@_*dR)A#-#u&(so#T7si8|V)109ue6mjHoziSLhg50E#%|3yHXUGAHJ z4W`mR&zCt`_q2vR-Xj~Xjeg66H@J`EYwCc1!)Tt)xX)$`T#d8&8qEag0j%`x!gGk` zS$c+AF8&!g%Z_4Jq14ajSEEC#uQygv=RPcHkfAqcgZwxX8QIQ!ZVNUcdJ4DOQDQ={ zkIWjklKiBo?Xiyv(|N)m;)_1-(6l>qcJ;CLvMn4cil(wxAW{{nM}q@*wqcz2+9n#e z?qo;Za=$otyCl#-V@p4r5>!lKgl<0F=yOB}9%Hb|clDI!7cZ>sae@fiVz_pIvsK%T zecY8c=opdxy+phWy|S6t!+8I>wV#K_(En#yfq$c0`Q&|`#qVK7vND2eZwET^KaBUD z?%MhPp6nky=>PZed@1_>_iE^!X7RBac$?k~bfNh(?F>A;=(kPiWMp&C(9L`Lr!Y84 z#22tcKdQr7?JBmYPpLG#l0L1w@u(l~7R1vM_h#gr#q(-H_nm~{^sS8LravwRwAb)s zYgzYp$9=WR`%oRk)HU0=AeHfYz1I)Ucvr1XMLiByB*xUqd1qM8%sVdTPr&Yui_sIX z?`|63PMje^XHL0#3&qW5t)ajecu5N6&)ojq*{Ek1>LHfrdNr?J;Tt z(2Z7`E1N)9k82OQy1@D#RxQ2K!%3>&Li`$$0!N=~C2leQ$zZ1DuDY?{ad~-i`tBXU z3I2@*kvv63gi-=8Q6Kr-Pa^v;9375*LRPh5Vm0C>i1I3!fWvX~CaTt`*Jz#<%R6pY z3zDO!w`tm(0SqSKsjqb>+57^h{nUf?JLi5{Ejx4vv@_sgEu%hr?&tghj_5vNtGzCt6vqox zz)Pgf3Jo5Mg>rb%ae=PqGO8xhj@G{I2h-u5J%;^Hq^a0!^xsbV-_zZvcKqLirw{Re z@8|ha?0+KR%%<&qHrPLteNVK#pFOX^sHXj{$xDa5Zo~I81y0Yk`|q=|{q`pJ81LZ% z(4lU6ZD4}FR-4yzT=q12{j9~>;t7Ks7c@Olefm(sO;nU?$7w8`mYpQ|11-5p;}=3Z z3LB}Nj(9dFw$$)cPQ9xeDVmN(d~TZBM+c9%HOpfFD^KlHpoAy~bNnOQE> ztC*E7q8#4yqQu)OL2`3$Rnqt91uf>k{?H^^=?{Nx@x|}Eb(O$&465rp8gvl07@9vh zT5sO>rOHejp=?%}T(U_ZB*(3I zQ#)8gmDqqX%9SpAN$XQzww^94M|nLO*8s(Wuyxw4|1eR>k z2E6vG^H*oB7NgT5Tj2Os5xLh`l}V!3WctUEWB=A#u~b|;;(rbuwLOa<z45I0#M`!t)td8pW#j*VJFwMg$Ugq=IpjH^7A3BDpFIqh>($DU6#~q+Ydl!*o zA9TI-biJ0voh}<|*inqo6G@wM8%fHu97Ww~A_voAF(64v2bT^`05=UF9bi_swdjZ` zDsLbLTYpmPYFiuzj}FynT0NWFtR8I<7;Y1s^_FC8()iMEtUcWQ`eGl$|074m9G4~S z?)SfD7n||}>G1zJJUo12`F|Wf89&5-xR>Wk@&7ojhu(i@7n^ni@j(AGd4rfN=;svT zV_VZV#LHlYxm{t1(r9eQr%&4(6W^c5}%UB;R1 zmxrV4Ri1?eyJFZngQ z@a;*y&$27AANlX>!rF@rVMVf`w)D52^U?{o%HBkyYQ5Voen8!(zgFqQL)MkYX>7#= z-fR|ofySRDS^5WA^Wl#zS#B>QZYPu4B#X1ou3()E5!IU6HryrziKGeeuSHAq!jhu@xZg7$zu9#%4Td#y{w3CH`9yC$k-iql2+Ba#tUrlnuSyM|o z$>wvI#$C68Yjvil4zh~wv4YOAx~{RBjKDxl^sGQL?d>Hjpsc3^*VMep; zIt9bGVDjYf8TeZC*Vjx>us+do{dH#+WIw0m<(52)&rnnqm@H4Sl%S9PjZ5?9wnO)9 zfD2)gWY?z!Uf={>q8DWZ6Lu9<<}EXTcrY~>AMFO{WDJPOqce_DRXbi0D?Ij{7kd|&>npQ_2ure!m z038gi+-G1d)*rJ0cDH=zIBIjV#aK9ryvXVfmB!12|aG+b^J%jZXi7cE-~`-@y4AJ_3FN zKtK0+^*AyCXy%QOE5h~-Is=*IG3!VmC=wN(RnsZ{=*`&Og?0zHicn?whXpDM9HXOQ zJ8cc3-e{HG2^uy)R5Ou+i)%(Q!avLIAzws2J&V^S8e(U>ty|3J zGm;hXl71>TkrKv#r&hzWVz!rCO>rIH1O!7zRuT4Xlk=z4a60CXMUo?t=UD_3^grL8 zZCKbCbe)|Xzj`sGNc^PXk3&&s7|~ZlpEP2_Qpx4JA$ZtA=!4{0Rr0tNy<3T&mMx|+ z*N=|q>|5dPV~xZJK&-)Rah_lQ)}w}J2dqiVhW3T#{x6F+9sBPuo%_H2y{CJ2{=b9q zlf8%i-+eq^%>FNnH@?}^K>n$Ac3IqW8>chKv1c>*NB@)o%-2!o{0@?|7|`-#wd!#0 ze0>bY1ne4$PmUry#rzI)Ym&D@W=Gi9)dB%?|4*h4e1U1Vd;8VUH#;3kxeI?Ve*dng zF(cSTL`1H$;_3^S6zpl887WSjbK{&U%T8%*Fwty^PHeI4!J{`>>cl19KZt`rtT<3(U_D`Q9LJcF29p!zR)*lEN(fL*|ryyB2Z?jgQ>(gKF?iu&hPdb$Shp`1tgty8wMK?KA&p z`V3hdzzGNvc!82KXe|uD6r&`5i>B>BwX!_S_8bvN85nXbtn!E3F9hG*_Hw7KAbPYz zc~{Qbrb%~nHWhT){lBFcYq@P#U$0}+Az%r`31ly{K@@!YtRmTz%m3CQc~Rf%T16hK z%W`eUAL@!$J1;!y8Dp}*v*r1b3JK7eM!wUOB5NzcGa zYBe(mv@vzYO}dR{s;z2FqEjvEwoBW}OOd&(thXl3myQ*QzA^k-Rz;%wh_G|@MhO^2 zs4QP+^!r-`;F^^z`J)(dHnMb5S68b;pbN3$aP`+={-FWgNJ- zsB5hpUhCFt6ys_RTH;gV-_R>O$HcdE)CvFjTShU5duLI2gOe>o4of*B25_)xw>VCqCHxymZ;>NG$)*joT}{l5H(!zI z`iwP@wE>J{b|9iV#s3Tz0?bb3GETZvQewct@MCSQ!b5E$^QqUsIveic7H72tm z!+EE4?ltL@CC(Y3;5jZ(M5rk5ZjpfYCo^2SqJcGogsBdFFkn6yFdqzGI4ejgQ@pstzU|i`ik*u|25>I2} zq_kR>>Li>|ZpuSQde*6ctM5-P3I61O$S+ z+ScS)>%YM0KWqO&w=U!FaNxd-BU9%H_+QKh=l(=}-5Whcz23jKbOdVRv;@0rZfo&8 z%)0ur;i~B0By~w{6Hc48%qVG_&P*^~J6dfkR||qsQ?yf^JGZY9%Cc62)y-?V9C0rW zR{V`xnzUs#adOq)>8|RnxlDi|y5*SgGm8xhtwMKlT6YUP5jqs$9i1vYS&XxV&6prf zhBLAJxmmr+M$EDKT7U7+I?0Jo^=AP^A zt!>!-?|&Kh|3tpUP2U0R$p5l`c+j~2_jG^!aR2Wv9NqUt*9XRdI_7*GChWMvgmeu1kXeT9lf^bdbYmKgup z_}N&WxV>7=0r=W3zBXH5m+B#2wAK?<@8}l9wsh08v5|8a&h^ip8(}?&WZPXonJht* zO{IszFZ}YSCa28V+{dKNbM=4PNkq$*O6h7Z0tX?-ipl2=x1l+ZCCEeBS4eVfHb z;R?1R&-RXQ>2%a}9NLx?{e8jL!`g?Woocgx@!;o_np4 zP$nQaKRLC09`gi8n9%p0E2BPflnbaw9Of$6zCS-dT~YWcY^?6;=+0JK5Dau@E8=_i z{PxVGb=}zbmoHaRKZwgsi%Z%0K4~Tg&HA$JI88Ic(mZTHA@^qpsj*l^~JX_@n#@wbka>g3W%ooDijII!>j576)7U93~?qcn?nCD%V>t!b|jb) zl9$SL1l*Cd^lE=SmQcdd)7lTfx z6P-MdYlqn#mjU76C4X>n_U3DD!ZuJ=y}e=^YA=84^Q9c{|f*B|Nq!>UvB_} F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/littlelink/1.2.3/ix_values.yaml b/stable/littlelink/1.2.3/ix_values.yaml new file mode 100644 index 00000000000..98df1b652a5 --- /dev/null +++ b/stable/littlelink/1.2.3/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/techno-tim/littlelink-server + pullPolicy: IfNotPresent + tag: latest + +envFrom: + - configMapRef: + name: littlelinkconfig + +## +# 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/littlelink/1.2.3/questions.yaml b/stable/littlelink/1.2.3/questions.yaml new file mode 100644 index 00000000000..dbc2b7a38eb --- /dev/null +++ b/stable/littlelink/1.2.3/questions.yaml @@ -0,0 +1,721 @@ +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: littlelink + label: "" + group: "App Configuration" + schema: + type: dict + attrs: + - variable: meta_title + label: "meta title" + schema: + type: string + default: "" + - variable: meta_description + label: "meta description" + schema: + type: string + default: "" + - variable: meta_author + label: "meta_author" + schema: + type: string + default: "" + - variable: theme + label: "theme" + schema: + type: string + default: "" + - variable: favicon_url + label: "favicon_url" + schema: + type: string + default: "" + - variable: avatar_url + label: "avatar_url" + schema: + type: string + default: "" + - variable: avatar_2x_url + label: "avatar_2x_url" + schema: + type: string + default: "" + - variable: avatar_alt + label: "avatar_alt" + schema: + type: string + default: "" + - variable: name + label: "name" + schema: + type: string + default: "" + - variable: bio + label: "bio" + schema: + type: string + default: "" + - variable: github + label: "github" + schema: + type: string + default: "" + - variable: twitter + label: "twitter" + schema: + type: string + default: "" + - variable: instagram + label: "instagram" + schema: + type: string + default: "" + - variable: youtube + label: "youtube" + schema: + type: string + default: "" + - variable: twitch + label: "twitch" + schema: + type: string + default: "" + - variable: discord + label: "discord" + schema: + type: string + default: "" + - variable: tiktok + label: "tiktok" + schema: + type: string + default: "" + - variable: kit + label: "kit" + schema: + type: string + default: "" + - variable: facebook + label: "facebook" + schema: + type: string + default: "" + - variable: facebook_messenger + label: "facebook_messenger" + schema: + type: string + default: "" + - variable: linked_in + label: "linked_in" + schema: + type: string + default: "" + - variable: product_hunt + label: "product_hunt" + schema: + type: string + default: "" + - variable: snapchat + label: "snapchat" + schema: + type: string + default: "" + - variable: spotify + label: "spotify" + schema: + type: string + default: "" + - variable: reddit + label: "reddit" + schema: + type: string + default: "" + - variable: medium + label: "medium" + schema: + type: string + default: "" + - variable: pinterest + label: "pinterest" + schema: + type: string + default: "" + - variable: email + label: "email" + schema: + type: string + default: "" + - variable: email_alt + label: "email_alt" + schema: + type: string + default: "" + - variable: sound_cloud + label: "sound_cloud" + schema: + type: string + default: "" + - variable: figma + label: "figma" + schema: + type: string + default: "" + - variable: telegram + label: "telegram" + schema: + type: string + default: "" + - variable: tumblr + label: "tumblr" + schema: + type: string + default: "" + - variable: steam + label: "steam" + schema: + type: string + default: "" + - variable: vimeo + label: "vimeo" + schema: + type: string + default: "" + - variable: wordpress + label: "wordpressp" + schema: + type: string + default: "" + - variable: goodreads + label: "goodreads" + schema: + type: string + default: "" + - variable: skoob + label: "skoob" + schema: + type: string + default: "" + - variable: footer + label: "footer" + schema: + type: string + default: "" + + - 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: 36092 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/littlelink/1.2.3/templates/_configmap.tpl b/stable/littlelink/1.2.3/templates/_configmap.tpl new file mode 100644 index 00000000000..e04a16fd9ab --- /dev/null +++ b/stable/littlelink/1.2.3/templates/_configmap.tpl @@ -0,0 +1,127 @@ +{{/* Define the configmap */}} +{{- define "littlelink.configmap" -}} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: littlelinkconfig +data: + {{- if .Values.littlelink.meta_title }} + META_TILE: {{ .Values.littlelink.meta_title | quote }} + {{- end }} + {{- if .Values.littlelink.meta_description }} + META_DESCRIPTION: {{ .Values.littlelink.meta_description | quote }} + {{- end }} + {{- if .Values.littlelink.meta_author }} + META_AUTHOR: {{ .Values.littlelink.meta_author | quote }} + {{- end }} + {{- if .Values.littlelink.theme }} + THEME: {{ .Values.littlelink.theme | quote }} + {{- end }} + {{- if .Values.littlelink.favicon_url }} + FAVICON_URL: {{ .Values.littlelink.favicon_url | quote }} + {{- end }} + {{- if .Values.littlelink.avatar_url }} + AVATAR_URL: {{ .Values.littlelink.avatar_url | quote }} + {{- end }} + {{- if .Values.littlelink.avatar_2x_url }} + AVATAR_2X_URL: {{ .Values.littlelink.avatar_2x_url | quote }} + {{- end }} + {{- if .Values.littlelink.avatar_alt }} + AVATAR_ALT: {{ .Values.littlelink.avatar_alt | quote }} + {{- end }} + {{- if .Values.littlelink.name }} + NAME: {{ .Values.littlelink.name | quote }} + {{- end }} + {{- if .Values.littlelink.bio }} + BIO: {{ .Values.littlelink.bio | quote }} + {{- end }} + {{- if .Values.littlelink.github }} + GITHUB: {{ .Values.littlelink.github | quote }} + {{- end }} + {{- if .Values.littlelink.twitter }} + TWITTER: {{ .Values.littlelink.twitter | quote }} + {{- end }} + {{- if .Values.littlelink.instagram }} + INSTAGRAM: {{ .Values.littlelink.instagram | quote }} + {{- end }} + {{- if .Values.littlelink.youtube }} + YOUTUBE: {{ .Values.littlelink.youtube | quote }} + {{- end }} + {{- if .Values.littlelink.twitch }} + TWITCH: {{ .Values.littlelink.twitch | quote }} + {{- end }} + {{- if .Values.littlelink.discord }} + DISCORD: {{ .Values.littlelink.discord | quote }} + {{- end }} + {{- if .Values.littlelink.tiktok }} + TIKTOK: {{ .Values.littlelink.tiktok | quote }} + {{- end }} + {{- if .Values.littlelink.kit }} + KIT: {{ .Values.littlelink.kit | quote }} + {{- end }} + {{- if .Values.littlelink.facebook }} + FACEBOOK: {{ .Values.littlelink.facebook | quote }} + {{- end }} + {{- if .Values.littlelink.facebook_messenger }} + FACEBOOK_MESSENGER: {{ .Values.littlelink.facebook_messenger | quote }} + {{- end }} + {{- if .Values.littlelink.linked_in }} + LINKED_IN: {{ .Values.littlelink.linked_in | quote }} + {{- end }} + {{- if .Values.littlelink.product_hunt }} + PRODUCT_HUNT: {{ .Values.littlelink.product_hunt | quote }} + {{- end }} + {{- if .Values.littlelink.snapchat }} + SNAPCHAT: {{ .Values.littlelink.snapchat | quote }} + {{- end }} + {{- if .Values.littlelink.spotify }} + SPOTIFY: {{ .Values.littlelink.spotify | quote }} + {{- end }} + {{- if .Values.littlelink.reddit }} + REDDIT: {{ .Values.littlelink.reddit | quote }} + {{- end }} + {{- if .Values.littlelink.medium }} + MEDIUM: {{ .Values.littlelink.medium | quote }} + {{- end }} + {{- if .Values.littlelink.pinterest }} + PINTEREST: {{ .Values.littlelink.pinterest | quote }} + {{- end }} + {{- if .Values.littlelink.email }} + EMAIL: {{ .Values.littlelink.email | quote }} + {{- end }} + {{- if .Values.littlelink.email_alt }} + EMAIL_ALT: {{ .Values.littlelink.email_alt | quote }} + {{- end }} + {{- if .Values.littlelink.sound_cloud }} + SOUND_CLOUD: {{ .Values.littlelink.sound_cloud | quote }} + {{- end }} + {{- if .Values.littlelink.figma }} + FIGMA: {{ .Values.littlelink.figma | quote }} + {{- end }} + {{- if .Values.littlelink.telegram }} + TELEGRAM: {{ .Values.littlelink.telegram | quote }} + {{- end }} + {{- if .Values.littlelink.tumblr }} + TUMBLR: {{ .Values.littlelink.tumblr | quote }} + {{- end }} + {{- if .Values.littlelink.steam }} + STEAM: {{ .Values.littlelink.steam | quote }} + {{- end }} + {{- if .Values.littlelink.vimeo }} + VIMEO: {{ .Values.littlelink.vimeo | quote }} + {{- end }} + {{- if .Values.littlelink.wordpress }} + WORDPRESS: {{ .Values.littlelink.wordpress | quote }} + {{- end }} + {{- if .Values.littlelink.goodreads }} + GOODREADS: {{ .Values.littlelink.goodreads | quote }} + {{- end }} + {{- if .Values.littlelink.skoob }} + SKOOB: {{ .Values.littlelink.skoob | quote }} + {{- end }} + {{- if .Values.littlelink.footer }} + FOOTER: {{ .Values.littlelink.footer | quote }} + {{- end }} + +{{- end -}} diff --git a/stable/littlelink/1.2.3/templates/common.yaml b/stable/littlelink/1.2.3/templates/common.yaml new file mode 100644 index 00000000000..d5c310d4859 --- /dev/null +++ b/stable/littlelink/1.2.3/templates/common.yaml @@ -0,0 +1,8 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Render the templates */}} +{{ include "common.all" . }} + +{{/* Render configmap for littlelink */}} +{{- include "littlelink.configmap" . }} diff --git a/stable/littlelink/1.2.3/test_values.yaml b/stable/littlelink/1.2.3/test_values.yaml new file mode 100644 index 00000000000..3d5f3cac7a9 --- /dev/null +++ b/stable/littlelink/1.2.3/test_values.yaml @@ -0,0 +1,42 @@ +# Default values for Jackett. + +image: + repository: ghcr.io/techno-tim/littlelink-server + pullPolicy: IfNotPresent + tag: latest + +strategy: + type: Recreate + + +service: + main: + enabled: true + ports: + main: + port: 3000 + +envFrom: + - configMapRef: + name: littlelinkconfig + +littlelink: + meta_title: "techno tim" + meta_description: "techno tim link page" + meta_author: "techno tim" + theme: "dark" + favicon_url: "https://pbs.twimg.com/profile_images/1286144221217316864/qiaskopb_200x200.jpg" + avatar_url: "https://pbs.twimg.com/profile_images/1286144221217316864/qiaskopb_200x200.jpg" + avatar_2x_url: "https://pbs.twimg.com/profile_images/1286144221217316864/qiaskopb_400x400.jpg" + avatar_alt: "techno tim profile pic" + name: "technotim" + bio: "hey! just a place where you can connect with me!" + github: "https://github.com/timothystewart6" + twitter: "https://twitter.com/technotimlive" + instagram: "https://www.instagram.com/techno.tim" + youtube: "https://www.youtube.com/channel/ucok-ghyjcwznj3br4oxwh0a" + twitch: "https://www.twitch.tv/technotim/" + discord: "https://discord.gg/djkexrj" + tiktok: "https://www.tiktok.com/@technotim" + kit: "https://kit.co/technotim" + footer: "thanks for stopping by!" diff --git a/stable/littlelink/1.2.3/values.yaml b/stable/littlelink/1.2.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/lychee/6.8.3/CONFIG.md b/stable/lychee/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/lychee/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/lychee/6.8.3/Chart.lock b/stable/lychee/6.8.3/Chart.lock new file mode 100644 index 00000000000..be03b07292c --- /dev/null +++ b/stable/lychee/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:38:25.406017073Z" diff --git a/stable/lychee/6.8.3/Chart.yaml b/stable/lychee/6.8.3/Chart.yaml new file mode 100644 index 00000000000..de6bf40c708 --- /dev/null +++ b/stable/lychee/6.8.3/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/lychee/6.8.3/README.md b/stable/lychee/6.8.3/README.md new file mode 100644 index 00000000000..6fcebea18cf --- /dev/null +++ b/stable/lychee/6.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/lychee/6.8.3/app-readme.md b/stable/lychee/6.8.3/app-readme.md new file mode 100644 index 00000000000..6ae88fface0 --- /dev/null +++ b/stable/lychee/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/lychee/6.8.3/charts/common-6.10.7.tgz b/stable/lychee/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/lychee/6.8.3/ix_values.yaml b/stable/lychee/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..0976cb09641 --- /dev/null +++ b/stable/lychee/6.8.3/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.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/lychee/6.8.3/questions.yaml b/stable/lychee/6.8.3/questions.yaml new file mode 100644 index 00000000000..f11860ff7a5 --- /dev/null +++ b/stable/lychee/6.8.3/questions.yaml @@ -0,0 +1,648 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/lychee/6.8.3/templates/common.yaml b/stable/lychee/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/lychee/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/lychee/6.8.3/test_values.yaml b/stable/lychee/6.8.3/test_values.yaml new file mode 100644 index 00000000000..99355866c97 --- /dev/null +++ b/stable/lychee/6.8.3/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Lychee. + +image: + repository: lycheeorg/lychee-laravel + pullPolicy: IfNotPresent + tag: v4.3.4 + +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/stable/lychee/6.8.3/values.yaml b/stable/lychee/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/mealie/1.8.3/CONFIG.md b/stable/mealie/1.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/mealie/1.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/mealie/1.8.3/Chart.lock b/stable/mealie/1.8.3/Chart.lock new file mode 100644 index 00000000000..a461f907a6e --- /dev/null +++ b/stable/mealie/1.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:38:29.355892508Z" diff --git a/stable/mealie/1.8.3/Chart.yaml b/stable/mealie/1.8.3/Chart.yaml new file mode 100644 index 00000000000..d7b843c184c --- /dev/null +++ b/stable/mealie/1.8.3/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/mealie/1.8.3/README.md b/stable/mealie/1.8.3/README.md new file mode 100644 index 00000000000..3ac536e07da --- /dev/null +++ b/stable/mealie/1.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 1.8.2](https://img.shields.io/badge/Version-1.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/mealie/1.8.3/app-readme.md b/stable/mealie/1.8.3/app-readme.md new file mode 100644 index 00000000000..958559e47fb --- /dev/null +++ b/stable/mealie/1.8.3/app-readme.md @@ -0,0 +1,4 @@ +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. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Mealie is a self hosted recipe manager and meal planner with a RestAPI diff --git a/stable/mealie/1.8.3/charts/common-6.10.7.tgz b/stable/mealie/1.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/mealie/1.8.3/ix_values.yaml b/stable/mealie/1.8.3/ix_values.yaml new file mode 100644 index 00000000000..080d100b57f --- /dev/null +++ b/stable/mealie/1.8.3/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.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/stable/mealie/1.8.3/questions.yaml b/stable/mealie/1.8.3/questions.yaml new file mode 100644 index 00000000000..64d0846b6bd --- /dev/null +++ b/stable/mealie/1.8.3/questions.yaml @@ -0,0 +1,644 @@ +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 + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/mealie/1.8.3/templates/common.yaml b/stable/mealie/1.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/mealie/1.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/mealie/1.8.3/test_values.yaml b/stable/mealie/1.8.3/test_values.yaml new file mode 100644 index 00000000000..327b1f2d015 --- /dev/null +++ b/stable/mealie/1.8.3/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.2 + # -- 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/stable/mealie/1.8.3/values.yaml b/stable/mealie/1.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/mosquitto/1.8.3/CONFIG.md b/stable/mosquitto/1.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/mosquitto/1.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/mosquitto/1.8.3/Chart.lock b/stable/mosquitto/1.8.3/Chart.lock new file mode 100644 index 00000000000..5bb3876b0f0 --- /dev/null +++ b/stable/mosquitto/1.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:38:33.30444836Z" diff --git a/stable/mosquitto/1.8.3/Chart.yaml b/stable/mosquitto/1.8.3/Chart.yaml new file mode 100644 index 00000000000..1964493dca2 --- /dev/null +++ b/stable/mosquitto/1.8.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +deprecated: false +description: Eclipse Mosquitto - An open source MQTT broker +home: https://github.com/truecharts/apps/tree/master/charts/incubator/mosquitto +icon: https://projects.eclipse.org/sites/default/files/mosquitto-200px.png +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.8.3 diff --git a/stable/mosquitto/1.8.3/README.md b/stable/mosquitto/1.8.3/README.md new file mode 100644 index 00000000000..418558cd932 --- /dev/null +++ b/stable/mosquitto/1.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 1.8.2](https://img.shields.io/badge/Version-1.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/mosquitto/1.8.3/app-readme.md b/stable/mosquitto/1.8.3/app-readme.md new file mode 100644 index 00000000000..574c102b318 --- /dev/null +++ b/stable/mosquitto/1.8.3/app-readme.md @@ -0,0 +1,4 @@ +Eclipse Mosquitto - An open source MQTT broker + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Eclipse Mosquitto - An open source MQTT broker diff --git a/stable/mosquitto/1.8.3/charts/common-6.10.7.tgz b/stable/mosquitto/1.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/mosquitto/1.8.3/ix_values.yaml b/stable/mosquitto/1.8.3/ix_values.yaml new file mode 100644 index 00000000000..b638fcf296e --- /dev/null +++ b/stable/mosquitto/1.8.3/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/stable/mosquitto/1.8.3/questions.yaml b/stable/mosquitto/1.8.3/questions.yaml new file mode 100644 index 00000000000..6262461f3fa --- /dev/null +++ b/stable/mosquitto/1.8.3/questions.yaml @@ -0,0 +1,808 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/mosquitto/1.8.3/templates/common.yaml b/stable/mosquitto/1.8.3/templates/common.yaml new file mode 100644 index 00000000000..15d4d961a1c --- /dev/null +++ b/stable/mosquitto/1.8.3/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/stable/mosquitto/1.8.3/templates/configmap.yaml b/stable/mosquitto/1.8.3/templates/configmap.yaml new file mode 100644 index 00000000000..489d68b0ea5 --- /dev/null +++ b/stable/mosquitto/1.8.3/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/stable/mosquitto/1.8.3/test_values.yaml b/stable/mosquitto/1.8.3/test_values.yaml new file mode 100644 index 00000000000..cda69f06c35 --- /dev/null +++ b/stable/mosquitto/1.8.3/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/stable/mosquitto/1.8.3/values.yaml b/stable/mosquitto/1.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/mylar/1.6.3/CONFIG.md b/stable/mylar/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/mylar/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/mylar/1.6.3/Chart.lock b/stable/mylar/1.6.3/Chart.lock new file mode 100644 index 00000000000..b8fd427a1e5 --- /dev/null +++ b/stable/mylar/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:38:37.245733922Z" diff --git a/stable/mylar/1.6.3/Chart.yaml b/stable/mylar/1.6.3/Chart.yaml new file mode 100644 index 00000000000..294be1c2e98 --- /dev/null +++ b/stable/mylar/1.6.3/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/mylar/1.6.3/README.md b/stable/mylar/1.6.3/README.md new file mode 100644 index 00000000000..7ff6c031093 --- /dev/null +++ b/stable/mylar/1.6.3/README.md @@ -0,0 +1,44 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/mylar/1.6.3/app-readme.md b/stable/mylar/1.6.3/app-readme.md new file mode 100644 index 00000000000..7a37462ad4d --- /dev/null +++ b/stable/mylar/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +Mylar is the automated Comic Book downloader (cbr/cbz) for use with various download clients. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Mylar is the automated Comic Book downloader (cbr/cbz) for use with various diff --git a/stable/mylar/1.6.3/charts/common-6.10.7.tgz b/stable/mylar/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/mylar/1.6.3/ix_values.yaml b/stable/mylar/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..75ed20a869d --- /dev/null +++ b/stable/mylar/1.6.3/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/stable/mylar/1.6.3/questions.yaml b/stable/mylar/1.6.3/questions.yaml new file mode 100644 index 00000000000..0ea20d4e8bb --- /dev/null +++ b/stable/mylar/1.6.3/questions.yaml @@ -0,0 +1,698 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/mylar/1.6.3/templates/common.yaml b/stable/mylar/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/mylar/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/mylar/1.6.3/test_values.yaml b/stable/mylar/1.6.3/test_values.yaml new file mode 100644 index 00000000000..1d6b9e145b6 --- /dev/null +++ b/stable/mylar/1.6.3/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/stable/mylar/1.6.3/values.yaml b/stable/mylar/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/navidrome/6.8.3/CONFIG.md b/stable/navidrome/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/navidrome/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/navidrome/6.8.3/Chart.lock b/stable/navidrome/6.8.3/Chart.lock new file mode 100644 index 00000000000..33a0c4a526a --- /dev/null +++ b/stable/navidrome/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:38:41.228085172Z" diff --git a/stable/navidrome/6.8.3/Chart.yaml b/stable/navidrome/6.8.3/Chart.yaml new file mode 100644 index 00000000000..27f54a7ff7a --- /dev/null +++ b/stable/navidrome/6.8.3/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/navidrome/6.8.3/README.md b/stable/navidrome/6.8.3/README.md new file mode 100644 index 00000000000..c6584ffe1c9 --- /dev/null +++ b/stable/navidrome/6.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/navidrome/6.8.3/app-readme.md b/stable/navidrome/6.8.3/app-readme.md new file mode 100644 index 00000000000..24b39f33a88 --- /dev/null +++ b/stable/navidrome/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/navidrome/6.8.3/charts/common-6.10.7.tgz b/stable/navidrome/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/navidrome/6.8.3/ix_values.yaml b/stable/navidrome/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..a23d0a5152e --- /dev/null +++ b/stable/navidrome/6.8.3/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.45.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/navidrome/6.8.3/questions.yaml b/stable/navidrome/6.8.3/questions.yaml new file mode 100644 index 00000000000..5fed45031ad --- /dev/null +++ b/stable/navidrome/6.8.3/questions.yaml @@ -0,0 +1,687 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/navidrome/6.8.3/templates/common.yaml b/stable/navidrome/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/navidrome/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/navidrome/6.8.3/test_values.yaml b/stable/navidrome/6.8.3/test_values.yaml new file mode 100644 index 00000000000..17b63597293 --- /dev/null +++ b/stable/navidrome/6.8.3/test_values.yaml @@ -0,0 +1,28 @@ +# Default values for Navidrome. + +image: + repository: deluan/navidrome + pullPolicy: IfNotPresent + tag: 0.45.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/stable/navidrome/6.8.3/values.yaml b/stable/navidrome/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/node-red/6.8.3/CONFIG.md b/stable/node-red/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/node-red/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/node-red/6.8.3/Chart.lock b/stable/node-red/6.8.3/Chart.lock new file mode 100644 index 00000000000..a3741da9aa9 --- /dev/null +++ b/stable/node-red/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:38:45.257301361Z" diff --git a/stable/node-red/6.8.3/Chart.yaml b/stable/node-red/6.8.3/Chart.yaml new file mode 100644 index 00000000000..e3864f9a4cb --- /dev/null +++ b/stable/node-red/6.8.3/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/node-red/6.8.3/README.md b/stable/node-red/6.8.3/README.md new file mode 100644 index 00000000000..1bdb040700a --- /dev/null +++ b/stable/node-red/6.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/node-red/6.8.3/app-readme.md b/stable/node-red/6.8.3/app-readme.md new file mode 100644 index 00000000000..693726959b4 --- /dev/null +++ b/stable/node-red/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/node-red/6.8.3/charts/common-6.10.7.tgz b/stable/node-red/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/node-red/6.8.3/ix_values.yaml b/stable/node-red/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..6a16d2b0842 --- /dev/null +++ b/stable/node-red/6.8.3/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: 2.0.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/stable/node-red/6.8.3/questions.yaml b/stable/node-red/6.8.3/questions.yaml new file mode 100644 index 00000000000..1377d6defe4 --- /dev/null +++ b/stable/node-red/6.8.3/questions.yaml @@ -0,0 +1,687 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/node-red/6.8.3/templates/common.yaml b/stable/node-red/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/node-red/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/node-red/6.8.3/test_values.yaml b/stable/node-red/6.8.3/test_values.yaml new file mode 100644 index 00000000000..a41bb888781 --- /dev/null +++ b/stable/node-red/6.8.3/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for node-red. + +image: + repository: nodered/node-red + pullPolicy: IfNotPresent + tag: 2.0.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/stable/node-red/6.8.3/values.yaml b/stable/node-red/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/nullserv/1.6.3/CONFIG.md b/stable/nullserv/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/nullserv/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/nullserv/1.6.3/Chart.lock b/stable/nullserv/1.6.3/Chart.lock new file mode 100644 index 00000000000..68a28bc5f55 --- /dev/null +++ b/stable/nullserv/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:38:49.21641869Z" diff --git a/stable/nullserv/1.6.3/Chart.yaml b/stable/nullserv/1.6.3/Chart.yaml new file mode 100644 index 00000000000..bd2af19326f --- /dev/null +++ b/stable/nullserv/1.6.3/Chart.yaml @@ -0,0 +1,20 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/nullserv/1.6.3/README.md b/stable/nullserv/1.6.3/README.md new file mode 100644 index 00000000000..51a003ae741 --- /dev/null +++ b/stable/nullserv/1.6.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/nullserv/1.6.3/app-readme.md b/stable/nullserv/1.6.3/app-readme.md new file mode 100644 index 00000000000..b605351e1aa --- /dev/null +++ b/stable/nullserv/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +A simple null file http and https server + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A simple null file http and https server diff --git a/stable/nullserv/1.6.3/charts/common-6.10.7.tgz b/stable/nullserv/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/nullserv/1.6.3/ix_values.yaml b/stable/nullserv/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..e1fd84e3472 --- /dev/null +++ b/stable/nullserv/1.6.3/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/stable/nullserv/1.6.3/questions.yaml b/stable/nullserv/1.6.3/questions.yaml new file mode 100644 index 00000000000..8f13203d550 --- /dev/null +++ b/stable/nullserv/1.6.3/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" + # 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 + - 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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/nullserv/1.6.3/templates/common.yaml b/stable/nullserv/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/nullserv/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/nullserv/1.6.3/test_values.yaml b/stable/nullserv/1.6.3/test_values.yaml new file mode 100644 index 00000000000..23b208d565a --- /dev/null +++ b/stable/nullserv/1.6.3/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/stable/nullserv/1.6.3/values.yaml b/stable/nullserv/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/nzbget/6.8.3/CONFIG.md b/stable/nzbget/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/nzbget/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/nzbget/6.8.3/Chart.lock b/stable/nzbget/6.8.3/Chart.lock new file mode 100644 index 00000000000..108588da7a3 --- /dev/null +++ b/stable/nzbget/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:38:53.11766922Z" diff --git a/stable/nzbget/6.8.3/Chart.yaml b/stable/nzbget/6.8.3/Chart.yaml new file mode 100644 index 00000000000..575d3612b6b --- /dev/null +++ b/stable/nzbget/6.8.3/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/nzbget/6.8.3/README.md b/stable/nzbget/6.8.3/README.md new file mode 100644 index 00000000000..df982a2d4e9 --- /dev/null +++ b/stable/nzbget/6.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/nzbget/6.8.3/app-readme.md b/stable/nzbget/6.8.3/app-readme.md new file mode 100644 index 00000000000..1e873b38914 --- /dev/null +++ b/stable/nzbget/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/nzbget/6.8.3/charts/common-6.10.7.tgz b/stable/nzbget/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/nzbget/6.8.3/ix_values.yaml b/stable/nzbget/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..ef8e5a4f233 --- /dev/null +++ b/stable/nzbget/6.8.3/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/stable/nzbget/6.8.3/questions.yaml b/stable/nzbget/6.8.3/questions.yaml new file mode 100644 index 00000000000..6e3157927c4 --- /dev/null +++ b/stable/nzbget/6.8.3/questions.yaml @@ -0,0 +1,687 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/nzbget/6.8.3/templates/common.yaml b/stable/nzbget/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/nzbget/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/nzbget/6.8.3/test_values.yaml b/stable/nzbget/6.8.3/test_values.yaml new file mode 100644 index 00000000000..355d869f8c7 --- /dev/null +++ b/stable/nzbget/6.8.3/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/stable/nzbget/6.8.3/values.yaml b/stable/nzbget/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/nzbhydra/6.8.3/CONFIG.md b/stable/nzbhydra/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/nzbhydra/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/nzbhydra/6.8.3/Chart.lock b/stable/nzbhydra/6.8.3/Chart.lock new file mode 100644 index 00000000000..94a0132ef58 --- /dev/null +++ b/stable/nzbhydra/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:38:57.132031643Z" diff --git a/stable/nzbhydra/6.8.3/Chart.yaml b/stable/nzbhydra/6.8.3/Chart.yaml new file mode 100644 index 00000000000..537ab18a4fe --- /dev/null +++ b/stable/nzbhydra/6.8.3/Chart.yaml @@ -0,0 +1,20 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/nzbhydra/6.8.3/README.md b/stable/nzbhydra/6.8.3/README.md new file mode 100644 index 00000000000..65c805a07a2 --- /dev/null +++ b/stable/nzbhydra/6.8.3/README.md @@ -0,0 +1,44 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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 + +> **:exclamation: This Helm Chart is deprecated!** + +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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/nzbhydra/6.8.3/app-readme.md b/stable/nzbhydra/6.8.3/app-readme.md new file mode 100644 index 00000000000..99a51139d29 --- /dev/null +++ b/stable/nzbhydra/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +Usenet meta search + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Usenet meta search diff --git a/stable/nzbhydra/6.8.3/charts/common-6.10.7.tgz b/stable/nzbhydra/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/nzbhydra/6.8.3/ix_values.yaml b/stable/nzbhydra/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..b4a5486c381 --- /dev/null +++ b/stable/nzbhydra/6.8.3/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.15.1 + +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/stable/nzbhydra/6.8.3/questions.yaml b/stable/nzbhydra/6.8.3/questions.yaml new file mode 100644 index 00000000000..3d4ebe6f006 --- /dev/null +++ b/stable/nzbhydra/6.8.3/questions.yaml @@ -0,0 +1,687 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/nzbhydra/6.8.3/templates/common.yaml b/stable/nzbhydra/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/nzbhydra/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/nzbhydra/6.8.3/test_values.yaml b/stable/nzbhydra/6.8.3/test_values.yaml new file mode 100644 index 00000000000..8bb76de840a --- /dev/null +++ b/stable/nzbhydra/6.8.3/test_values.yaml @@ -0,0 +1,62 @@ +# Default values for nzbhydra. + +image: + repository: ghcr.io/k8s-at-home/nzbhydra2 + pullPolicy: IfNotPresent + tag: v3.15.1 + +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/stable/nzbhydra/6.8.3/values.yaml b/stable/nzbhydra/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/octoprint/1.6.3/CONFIG.md b/stable/octoprint/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/octoprint/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/octoprint/1.6.3/Chart.lock b/stable/octoprint/1.6.3/Chart.lock new file mode 100644 index 00000000000..2572abba5a2 --- /dev/null +++ b/stable/octoprint/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:39:01.138367593Z" diff --git a/stable/octoprint/1.6.3/Chart.yaml b/stable/octoprint/1.6.3/Chart.yaml new file mode 100644 index 00000000000..df82f9245f4 --- /dev/null +++ b/stable/octoprint/1.6.3/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/octoprint/1.6.3/README.md b/stable/octoprint/1.6.3/README.md new file mode 100644 index 00000000000..26ee9043288 --- /dev/null +++ b/stable/octoprint/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/octoprint/1.6.3/app-readme.md b/stable/octoprint/1.6.3/app-readme.md new file mode 100644 index 00000000000..8b59483c2b2 --- /dev/null +++ b/stable/octoprint/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +OctoPrint is the snappy web interface for your 3D printer + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +OctoPrint is the snappy web interface for your 3D printer diff --git a/stable/octoprint/1.6.3/charts/common-6.10.7.tgz b/stable/octoprint/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 zcmV)tK$pKCiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POw$ciT3yFpTf7kNyfQlRmZkSd{!FPOd)J`?+2xZF4tCePXA5 zpWE$8U=p%WQzVxJ<*07nzx_SbdXlXoE zNnr7p@!GiT#{HW-FvmZlqQqG`0gJr>%yacK%~CXoQ5h9DC+y9)RT|O1K!Ps{SS-Ob zE5LbCAvS!2`Wb7Js*ez z98p9P1YAG@i!$V(suC4ZmJ*Z_2DKVJJvtQu6{*H{9k1>%PNA>VS+9$aC#Z0iGuY*kz!cx{>OjpdtmWmq7`JBqls+d zU?JOc819b4r-NSoFXsOOCKW30NC33Y|AXD#gRwpTpYHBH%>Vm%E|cs6CX)dGkHByU z&JY1G1=#`>1&$G$;ADnCUZ5%d2(l^rHLa3_4n#3*e-Nb&D6||(2`&&T17bAADW=k6 z02F|_=73J@B1;lfC@?667YSmJ>aXDdhz~KJ95&LrD4_ErWZ!>;364R=uQdTT zpLBo;yg%$sU{fePADF)DF^VvuJs6-))n6CA;E0(M(CR^^ukj1eeF0SUTX zvZCK+1$eHADR;nvag)mo#>}@UDi9oDJ&O~d@ zkQ3Ms>2s7If|?*|@Eq84#tI4s;L9{C=vcue{U+(BW2w+V&=*?sYaUye=I|q^Qn-LP zp<|8J(tfW3rmTuf4uJh-Rn@xIs++@t$O!}LUut^1<2SklB`&Q1kW*H zz0N;;&)>hIuP0!CFu-$oSx;E@iw=>j#IzhAFXD$)ia@&b5qN36&#NQ>d6wXaR;RyC z*^kL!z)H!vE{5EE4%2w6+*Tq+bS)c=Z2cXGLKE=wFAfl}xGY;L)6cBtpl!b9Sv<(I z_}H401J9Hc#b4Faj+Z=+V*tVTS%H6}1SH@zi@|Y4vND1RDh7|he@P05L-3z5E|~!P z+W?9(IA!cqf^7@mN7QIeqtz-~|81 z8hVO~2&IIM0$T7{UG6oSXT`F$=%7T!0!QdLin1ytwcyWDgr^vl;ChD03>5$ZQ4~O4 z7L>EBN@8$<0GAo@0EoY2vn4dGR{+TXjAQyg+7A{?hg6j?&Szr%5lfd%4aq=N3fc5> z3et>#k`0wu5Cw3_mYE#@IUrnuOOzriUt&;|IK4F1L_p9yPar``rwalxO5T-RKvAT5 zmRGbCV^CBe0in6RTF7)8n(VpMH4z zd;;dnVGhfZYT=@}uOUtWN*B1uQYIP~u)uVDmmxS8Op+s>w(xA368KRr(v!g>aJ&u9 z|7QZ;ou5z!Y;$bSC*bRw8xX!l34$dG-%zH1`tA$&b6%FV@<&P<>j>G_H$Oao@&3*6>la*h05HWUiQl5B z{4L&`LNc4Mc@U;qj3^fd1KF!$VW3ifiZ5TooYm*G(x%BJe4aDM4Sc%mC-s-KNVPbeMLKW7{l}u6XyZ9K#Nteq+GLUk1+j&sR9TD#hkbOhv(V-l{VcRcuC{WGO)(iP8d3xq2qQi_e;#))UU0 zu3WV$Sz7R@dRyQHPSB;Us}%^wKcva>ZI+R5af0|%ufIb&15ahe7gX(o+^)u3>LM}0 zQxq+u1o>!F1$4cY&vCl21G?uvk)=yOHGmNOU%H-)1qskq8^r*pa?z){D=dd}BW2ds z)oBd{jAJY&OLS{YH4rDh(;~Y-YW6X<@ee&lD__cFUA{mmLbdk^UZ50}<&btHW`C6g z7Np9DIYnQNwk<`TuAvtw$*u>yfYO6s2~Z$+&`ry@p#UIh&^C!LYAZ-$fE{oJ$25f) zTYIi*exRQ|P*F(5^ffML^sQJ3=(_@B*Qo-2s$lcQryjrpc1ic!+$cmFN0vFF>VC>} zP`*m2g{vmiY;$maavHGr+`w{va#|yJIi;Ja^Yc@I0hd%qkJav<%?0{>ME^Nc(rcSH zIfrB>>$p&l0c99>e50O5pMgMOhk`6R;;f=BU6-O7hpcWAUEg zIm#;1C_jZbsS0#HD^N-4oq#8U+6WOte5;|ZW|@1etIu~b*cJ4L(Z0%PH`%t~;qC_h zg^l+!z9OtV+QmxZ9_ytJbi*TEzws~DODk19CPy))fd^2j4?ZshQ$(Gp(QBs94D}l8s^tjUH)2v z3BCH8C@^6rRGc=ZX$jc2zvO>wZE(!iy6$VbLFV(7O)Na8WJ(j{RwcAyt~~D0nZ^uF zBnrcDTN`)Ga7PFKoS$*P6zobcJK8p!nFg~oS=OIfEm&M3s%c9SIB4;sLA7CJ=XQZ= zI>jG3csXr(*WuD&gmtE8$*tP@O2vaFC&d2y<*8QXw8$2e2yJ(v+wZSuIGV8?_XS-! z{#D@u#k^e(Q?MVVuj29h4T!VAVQO-H;9pav0ZY&K9M9Pj$>pEFMCRW)~S}rd# zl0{h(YTwSPoWann@gL|C_F;$r|BU`|escPO*{VLgdw%*sug+IH`bn&NIlN8*q>E>L zT9L-!5|Mi5;gq0)4yAW*U$L)jp4R3bt@WJX34?AmN$uk6iOEiYSW_*{Pb|Fx3==`tVhUNoOp~b3~P53ZMQKsB2v6thBDlKMH)OjAb}k);u^bD)i>~44j=D zzj~o)t;g_IiE?(nyls#}Y0N4D*g2axfS60{D2<0zDVDG){)pn&byd0I59z$Y>F@%U zIMP_H&7VI6*EMilrrd#6DFwDEpykMBXN41xUgGqlrzlCvA&i)V0G&<2o#?4j@fLKk zv&cS^@)3B;ftUJ;74wt*4^}`2s7@gR)?V3?N0tazbwGquJ8T{=C?1sAs!*K)BIomRwGKWm#qqc`_V3GpX*t>E` zT_ARr9ie(CP&5`4ejMBzGSlYzLDqC_Yw16Kb!HEj5d1wOGjUeWTq3A=;3JFnKwf0b ze+8Po!~26ITpVyz$`gPOUt`n^Nm6PQaYrEKsl!xW2)=vwvbF}9GCe{C!BeUYOEVem zp9m)C1Qo=v>Y2m;ksN8RL2Ro=IUOq{p&V{e+TPJwPBQ7vL?v)7R%jbgg4mHTP6hQ8 z&OED9LKm5LXMYDVVtVF!8lXmPQw!u6yh>odmfjU{7WOU**QTyRLFGp0ujx0xdaBW* zP9=qRMT1tuip~7I%COa#%`5a!d38**(e1kLnKD6Z)s(5o<;0yYq8)(dIaxl(#SWWD zR5(*QxOG-DGUW?h<(Xzhq+C&R=5BoY;|UP1m9)@LI7ygTW;#u}R6g*9P;R-ZMd7?r zetru6PfY(N8J|ep)|@5P97%1;Jja)-uI>QyVf3GrocG!EJ(;2Ry!zih?1-YmDTS8& zdib@N-ldM|q9SH@@b|ANMI0d`j=NZaM?jo~YaJrCxOl3AtsOX7briFcn<3pqaH!G| zqH)Hs;x>WfYu_cDk*t812%ISAEMYO2;!6Vn+ZC0Fd3=5te%Jx=GKF&-(ItcXNK(166&OLh{%%(i3)M6*n7C0woHICU6Y&l~DPT^x*DL+(yn zpo+O=0rU}96vV z8rxlbFaUfAH5X+F%Iads&y~_r4oju9#Px)gmL`Bn35qP^I$~K}sHsD{a#&UuOux}K zR?OS!b*A5>k+O|g!}E2$C(ndl!4_-okUP&}q^3!2wz?1}eWHta-^Hl-s{p!^If=s< z)f5gng{5@c8d54sZcKuzX%p}k!T6^F6Z8XJKh2Xj$OT|FRW!<0(CrH zAwYX%Mi-n5M6MA^0Zepfr-8=mRXDBK%kagx*ls^VrX<7@*CJXkbCPshzK?iq$KG&` zVq7spLcm@BgL>V9fXwr03AWxIzaCz|=!*81@@?Ceb3*`CN1VK)C1Bd$v~H7;%$+K!wEQMNRQYvYpJk@L(aTZl{`y-U!tdI(($qv5j4g#-o#F(*yY9uYF&Cw;C zEb6i4Rl`}q;apz9X&DuoHvDg_o@(vAJ0N>+jy#i7@;|uP=-dOv@y~F3rq4ZO)?;ClPBJDaYA0OH+#1ERW0H-lt;JAVb z?WrrSU?UhYjfucCLg9cnf~i;XR!=EzX2g&{?!>MyMD#6tsjCoyp+f}hySDB>dIWwb z08=bMf=j|Ka`1LjIbP)rEZS?OsF4{uQ|7@;m(kH9`Y*?o725;)>rDL8{K5H% zE&-gf)6=C!6DX?W7HG1 z?SY0wv+2Am`2u;IU|1q`^H9hFl#&ATwUqa59+&z32?uNVLF(2)UQa)pc zAduF_D4PfJ-Szc#XuKa7x@3XMtSTZTmHQHm_+8}EbAcfo$SUd@`y=oZ0##YTBw2z2 zMcI6g(wLcIGzZ7pB~?`C2Spi35L}2OROaeN2YZCGs^qYvS%x(mT~(qYZpR_wP;@Vw;31Jt+A3dsx*#Tu0%_sq{af)d_hjO1BXKJe~ z+oDygQr=$9&S{n;*)>itIrxN5;~fCwU#pVv<3Ct}6j3n-izUD7S)h5gkn2~GEWt&= z4$R<`paOhdv-@jq@{c3#f_!bXO`y=AN zsC%xX_b^F9l5a8$Oh^2uy(drhtoSbnyNBb4_%HYI+}w=58Hk(Oq*&$|U43gaDjggu z+7pw6A$UpnjjjTvF)ElTq@sT%eBUKU61ad=|CEsvxM4~L`UnT#j6QuD+}sSgPZt6K zM;5{)3Bd3ZT?y#d(Kp~VDlWzSr!0brI98F~c4@4W%D=^OoAS*_1BKHlsp1-wpoCq+ z3_u7zv4eAg^zRksH|DhlwL;4mkqHD(LHMIYp+`#yg>ubdxuKag1Ylm2u7yJ<8cnMg z8$qC>m;&@KS6SxjAJpL`0$IyVnqDvjzk?K~F+u;PD z9ivgS6{i7a3ULCq@&c!13W7Ho0Z;_Dv5DFGs@x8Iq;Bh-COf;?^9`!m9t4%)EQb!N z-F3t;>s?-)!qf833f8D+r{(o9cc7;wT+po6d)pi4SwUdpCCF2YZxm56$7M;?e;)~6 zCZmts|Mq1{P%)+Ym6HU$5uaPqyPxLzujbpvw1BSlfA7$a|Mq16aQ|WbzmJEl|7`oC zJejCaKy33wm%odoLQJM9tw2TH0@=l{C?dk43>I}nAG$G8&fB^U;a~U7L!PrS=8RW&sCNK zmi8;&6LUzS*(X3t%<63~%1`GfVcKgt|SRPU~m?)o_oo?{n3^P_2 z^zz*TrbY+==Ga|>MbB(9Y>Ho5L%9#J4RZBMj4nd8QIcn|qZ2iFpIcu3(H_V8uk`y( zDF7Yo|Ng<#C-(aP4OSiHDge-h52(>V{iUp1syCzLqr5gVn zetf6J)McIDqDPnzIW;=0GZtRA8;bS9Y55)SSYAw?94T=iUzrCSvZOly7#dPbe&#SJI0ahR)p^O$H$0kYeT?K>GSiG$ zAVd9{f>0lr%lnqck{*g1)d6_Cy{%Cz=zULVq@-As2RfcW;21U}w9zO790-13{mbD6 zU@OKE0fFj16W_K4+h-N8s{<3W=uRp|Kkk6XB+ccsvE6x;>|V6z$TvK|yW- zsfc~G7=E<~KtK}Ss2F_&CZ8K)$I+9H3MS45N`|!!VkbqG-qYy8nuo5z&_;RZD2Px& zzR!{v6@iAw$u@f+pn|AVoyWIU!n7aSp93MQNL8eb%OrNB1TMb1Q_8#A#8_gx(C6|3J&S zVjx+#UAInlhSfSj(2*stI$I*HN6Y$py&C2fT9%F`{0^qLD2W5O31Fy=wJ-OyZu3u5 z|H~KA{rdmx?v0-|{C}PvJm`P-@i6n%%RE;d+)CdntG$LPaNzB$`*F@19uT&GZ&}+v_cZv^K27=0)wfM9 z0Uh#x{A7G+%m2ftdk^yeJ|1!Y!;&Es%B2I4OiR$@m+n&4cbwO#qZ$tQ^BmJ~Yxxg3 z{8xnr4U?j9Q2X?0P?7?tm(K-x9;@P>CA0nz;>$Jvd0^3dv;XZKjBWq#C*y;M`F}4@ zL;sVpY;URWDUZ@N1E7lP+|&Liqe^KSpnPTRujSzN?61XVO?Q)UT=qXbD2Ac8Sy|}V zZnn)vXrS$HBb1HlYa=vU*J&fXorzF&u!*j(npjs~)$%jYEI)QAZ9Z7L24$PI=S&XC zE@My2ShS5j9fPr9>`^q_k*!A~y@9gL)FbQZrXGu>pU>2zTJT`$xy|EU|3!k#O{f8# z`u|h={O|B!@4^53ULH;V*KZuHybmz1E4A+j^s=k$3rs9;Hsr|V*cKSKwHjVh4KIz} zPE%jtj=?ei>)THo+5>dV|AWJWU0eTu`sBg>doRx|{6Dqy?HhFfHLl%tdVp$F`~h7+ zS906Dy+Haxy*Lf$!*yIae@LIB1l^%4r#=^Y_;OYZ-PsBro&DT1yIelQ92SJ<&1iGj zRHeK<*bekQJt@U1{bt4K-tK_e+fUNrsrleK+37kdBVJj-qSV;24*eDp(YM*Iy86hY z<=JkN`*p?Wqir2pM1+kCZ!K2=jRC{PfYH_)1xPVa=a(LB$_grfb5k3^l-Q|D%TSr@ zJC!+$lXJk_izKz%{7PLjNnz%`0ffQ|`PJcXc62%HT zsL{K`h<2-$v18Zrc|K*rFc=2S%2ebA0qZmo5r7p{VS61_0IhR#({vdF0sd&l_X@0J z{JiE+MgkB+z=U46+~L#ZcY(UUjY32J7lyjg`|q;?|CXf$CZ}0^T#<}<;1##n6Li`C z_wD;%d%K5+PapLE`*>RQe`sm{Gc_bYp7BI4d{FrJ0hJ0b-FF*c#IYFa3Z7gDBwn0e zHf*a*q|b8rMu_xowZN#!(|z@??AoT()QuK<7l=T)W%0}?_x43KV!d68T!R>@bJn`I zXvzV(HdpjLr`D@e)yw?(GOsl&jdoW@an6F@m71^fngN*O^sQ?Lp+nKiXrOil0Qj*R zKwU-yurB~0Qs78uvwP5S%1=(;y(2imzcD@V6crIl39RoV4TWm|RxG>&a~-x-h$yer z8;;<3f#^!2A?e_57e$T*r?rJV@bV@b$%DhK+s+soI=FgPhEa;cD2=8e&PI#fKrGj9c;MAzLSQtTqm(>X*+(5qHvTxItG2mC`1Far zRGU$`8jA!v;A{4kwdB*MuU*bXcP*y;^M7;q06XUY)2D~F|M%gO{RjL1y*w+;f0!hV z`+=LV{5S58X{Yv7+g??fztQgc$+|Tlt;|9>0=X{k)H@I12@%>pF~i0=fd0L43&_NJ z)Z*dc@QW~9G8Qf$pKbZx?PcEJ%8_mJFuu0Ha(SQ#N077H$Aqf;wu?-+k5jmnKP5TVt(Dy>%?-1B7&QRd zK6j?wmqBl0H*ah10M?2B#rm;PHfUzOZ59JT9mzc^;s9)0CVwkdXeUjQp3Pvdw?WFG zPISz?Z=cMa-7#OWC+7V+VcyCA`5LVE6VcA~6>xePE`^k10BqB@bK`}QLS3A54O|y2 z-7?;+(T_`x0jR-O?X~r6S1eVR1gYx?8NzjOp>=pnW%{zU?xB9;WKWI;MWUItp~x!2 z0xrww*<~P(gZLcL!fMy{rr;V~lqjkSq=Fy!L!%GLNu#5Ta~7qONJ=&l?nxWO_39uI z*g2s&lxC)AjXUlt4dV?vDYC)?ki>s-XayLss{$}Ib50vTROOH-_s~vk*kK*XDYqW` zPPH1h+$r%jOh+68Jq>a5C~DXYD8M*nL=Xt@#|RZ9aAR`GL>5z_PNVE2hBa0zr<(0M z)AqS@1DiKzC<8oEUmDxl$GeE|CPdd)4(l3;(Fm58+Lol%4#BqEZX4@gWx{%w1EvBM*|m-M6=rA_`kCY_x7XS8VzAZvSF?d zU^ON;zb~1gWFD5Y(JafZf(ghAG!&C&AQi11{fI?J_n5YL$t8%%PXqRD=^uYIEohqPON4n`L^9hI|S2L!_? z_(dxOi%ZKhPMb&XcfjLWK4;pXHJYqtdI+LfcAbLZTYb1pzKQ|eO>a@z%4a*X0nGAw zs1jL%-$BV$ule@I&O>-(UY;NZB zP~_}%C`K}wrv&IN=}{*euSHH)=U%Wkt8UGv8-7FjIJt()l1}0&DvT85DV6msxvfb4 zj);EQSi*R$Dol=eN?T8uJIXUv*0rUu3pwtux)C4oeC#fmW?-83w-mpE>H3-#7J(ws zxcO4$@-|_}@6Fl4jU_I?R)b{T@<2oy4*Kk3JQzGw8mY)vz~kO}s5aMGhF653vVu4E zd8U(api-l!83F7j4{NV_ZQ<(a65Bj3d2r*|%;Vqx@yuHHaR2whC4ph02Q z&B+l69;aE1-s3!|+b9}$aImknJ0n??C9Dd|BW;#H)xT?>sO+V$M)f;ElZ9n)qlGFp zE%5Y>E3>3BzF!u$$y|;P`uaRiOi?cye+0H_LoY4#*lVz6<=rr>Z?0ubD{XSyvm8p| z8|LGhrAJ_kN1fn>wz=Wd3$ur1j`xi?4C3>NZmwt#C0TY=1|Z+QpNZRG0Vv}xT1T{W~bVC@b(=gr0=^$iF%ry@j?O2U|2|)7- zrp;(P1t}7v!X6X4dEFpHZ?s4|>W3h{Te6AgBz=>`%)%QOZI&oC5f`SSq-Dm)3b3Vv z=jRYo1O(ropPvToWVyY}S>p)XlqE-=$}5iQ`t;j?F6pybxUF}CPKsXH8h{+Wt4p^X zvP?S=w6SQiwO^a8Ny5QExaVfW$yYm=7i zfPWQhR*@x%*gqFAjgOOj2H#Y3@I*g@k|fA}5+@_Za8zf9oU_IWR&JiAnBSC9A?J1% z?ORnOjg#5QX!O-$^3{T!%PJB$QV#yH=oAf-f+=*7vdR#2Z+Jj=pib>e>euH+_6{Z`_``-Xo=kudZo?FzgYJ^F_4U z`P0otTzhZoz-cT_gsWsQ47SadNn)GMtny1MN}CCFYm~EQRv3;H7FKt$8X8@f_&Veq za`uwt_6(EgbUtN;!d+hByh_EXiQiGm8DK?gsR>3fSskg!yKwb+$`wMn?{I28m#sGc zoBHr+rK2Z#P}7KCuzKVI6(m4(OFgQ!O2*1-1ud|{6|57epg}`3RDs>ijW`9}5ek|$ z`vfU);M;7R0tW(5sDj21jUoKxq@G~)Z^Ow?E7oA|7oYV;%$ zu;n6Ro|)Pu4`!;;T-UYUaT(zkwZUP1<2(OjdmHo!DC*GwbvCT)gJUg!W`w_+8>yFB z-`o7^Z)*wBZHrqT>zvVN+se`>$ZfxFAp3{Of}$*=8KN{XqnJx6=+;_qb2l{>1}QsDjOYi{vL>Ui~zb7OT+B4NBvhTA{faq{-{& zJTR?B3LA!^6nl-dlICR*?E~nC?d56EQSwy=9WVSR#Ec7d}k2vD&D3& z%Eq1-a5}{i_x>^&WPEaR%2Bxur%vM;+gZGY>7~5<iGH?+_oFUDeeYzGjq& zIlCQCSwI5OZtJDNE@y>ypxpZF1kFGBxZ;M>hb3N#qT)iFmgWF?dAe%I(?+xN>LS7A z>`g}AA{Z}^<5;8)cN=osD}!h>#)Z-d1^g!@|-m}zn-6*YUfb3jsN`Qbl^JDwN3##Po~-+7&z(* zwHo2z&sH6nRf<}5peItw$rUQs&+xXlRU_pqtqIMOzLveXJ*Mm9FVCv9?fXoZk!>;8 z^|-Bm4XHICsXO+0#~S9<@Lr@bzgoFz9q)0&*i~JWh)>WVfNHV}bJGyu+_?(LHb6h|9g4t%u24D+Dz0i`wzIp3zS+mpx$;Jd$-@r!gR_6Vpj?#DMmv>jM~|k3_04B zdWj=mIqwo*(8gdZL8%F=HKIIUC79Jr5=hxAO;Z01zAFD2{54S5c==edc^mobZQaPaAp~@;|{BqX-pb^q&5Ewuxl09rAx~{M63>@^o+a zA^+pOJT9q?3ZgQ*>eg-*1fsXGTX~%trgw_q`z(o3VLC8KJHD^5mC?`;78-SppgzOe zB(4hikXT+5GOUKTxE^G~W!&jUo=My7uo~wS3ja;7q>eRcm2PF*JZV^sy8$DRH==Hh zBQA;STt!&58%GCpSi%Lw36C)L7;J-p6qOhWyso6|pXpcSKhppN!{LzaEmuxW{MZhT zavMiSZrU?V>m(_aBO^)5FcRB3cY~Q}Df$Om@&;@7rhf+)hX*K)%wqux@d_>5AQpH5 z3F-^-=Hb%SANlE6|2Gl-wbTD|_lceV{c!Ig{_Fiba{pIgv_S0s?ucI=##2BC0G{Fq z66Qt~iD1eo_HXzs8Lb_7_gKpur~X@1q|U37JVz)$$?~OkbE;m|P$teI4;Yi(IaiyjM- z*xg{J8bM z8KerJ=ErlF_W$wW-V@vYbGZAE|KnaBDnP*r_tVtzvH71tOt#H`BS7;S0-*E!uMz*_>C^G}VgBF8!{+~Sl4RH5AJqjCHZqa-KjU`L z7^R_i>N}%&U)7-WBPr>u5T59jG`yk2FK4O-$nsmZ6knj7VZuBwvb?}ld8zGw?1;_I zUb0fF^w{Keqquu~AVdyMFGDJjcqSp!zFngE0u?9OJZC}V|8qCo{g1$5rR(HqXkO(L z6tGl-K}W14&a9IeimnthO2Y9iS7S$=>|tnoB(EOoeY>55!ojZ&FZQ5eZsuu||H98} zZ3|$R{2w>%e@}KF^1t58qw9a-zQSs%pFI1ZlTY4wW#gwUgDCwj@;i8sQyl(!si59HG*#;Yi zPWsaJJos9^+GbsLaXF2U*)n^1WL?H@ke|Gbxn$*C6~ zbC|{r|34nU-6x)O!J@eeTqfBC_cm7wyX~2#xq65!Edj4(`E)oy9f2)%Wx?@TZX5U~ z!*>nm38O4#zi;}oML=5B@w zo@0Vyy00TMT!O8OCF|nnZ_a30oL;hk+}q*citL0Pa$Z2KEjUaE+6MZV{`J z(pdt?h!@nh51HCYNEPf#m@zC~=o*ATTRw5%j-mgscsAsmICYuO64hH4T={9S9N1Jr@8ca0nQeI>^Dv~9LARQEPkjOPNOG%L>2`bpV&aMHXN}n%thap9hU6&J)BV&{& z*>bLqVl7k9^Ty{J^LDTwFhuh#Es+N<`+9~}23rzH(6mYzU>D>wQNRUz*y2i000aw| z;279Ax4tU310O{$sr;wh=(OqoG62LK+kc*n8|QzAPo6yZf8EQ&q}yv$T=I1y$s(AD z6;Aj;$en=*=EA=T!Rj|&sJq~#$~{Yk0BGnl0&bnWF%}Lut+lEW6^<%f*&LHv@8dP? zFnDv?_PDM+uS&xBL3O0-0uy9YrK2-IDbJt~1hs>;q{hJHl0WR{=o`Sw0WBioD_jzO zAD%_R<53Dl3J``kN5yj-5p{9Oz5^uFVq${ko(PHzM^m+&=&FpJtE`c>!TT`m$w?tI`A)hB+C}|=qE~0 zqn{+#6ri>~5`~TaQBG;HdtR{1bn%wMLe3fk0X1d4i~F3=@`WucSL5w$+;PYevdxP#=_K zm5b7oBamn`nnCsLBz>U+oeSvEZDCkVJkE3ahQ-M&Pz)|r3mrgK>(aVl-GCS^EUr8O zdt*KO9KOBi7gC@8@r%-t`{pof;5088Qr#8!@_bLJ7o#p?1Iv(%Y z`G5C!AL2jU%X7oi51!8um_wY_`8K5`J_ah7r?PB)Gg1Z<+fk@Cvrup+5*ptEYDp5i z?+-H>CsKGCSym^^bShOLS|BV?o|Twn#Zo)DX`J?(bqKuNHXQ)i`_n2(w0Lu7om_pi z0+s2zQz#WUnPXH}C9iNAzbrveGF?-(Q$*7aeUYj_djv&?=GY9TCTWDlrHpH?@|&(l z-R5YswL4bIdU>mWZw8hGPf@gtWX^c?b4ADl08qMMm9*{26ft0hTrs z9*g@Eyqj4)m4{z|u@mu|yNh19*T{O(TYM7jmA^PWj^Sh!cZ_Tcg2jWTa1mDj;FKRr zmpO{?bjc8oIEZOh(5Z-vETvkm+QJ2GBFHTpP`c17$%#d$6~7YZumDVsz~d|HgPMeo z7v>jD%wl$T)XoX4TNdiXs;=gVAl+>1kxjuI<|^3%fSM10yff%9VQ5AQtqXaFJZ=`( zh@Zn;!qtv-?NfJAfQNJr%qe1UN=C&C-4Nwec7dhB$^xy)a5Zn_bUEyrZQ>BI4n@ro z_$Oc!qMb(2l~<4jh;(ps+lJ;?m>(OH&%sP%^=PB6o|dB1EyxZ_mU}Hn=|Zj=^~BL; z6K)sqYqZzU+k*a`G{OV%`I3@njBkxTtopRnBI8L^B4#+9_{o318 zNp2u-xZl@WIg32TBbAT>&$U6kXDLffC;l3Wo@TxVCI)UZ2mQ^BrbXR`=pws79aN9L z832BeRkH2Mc~PM^$7g`$RRNbMMFk`%2Fw_gPBY#}T2l6m$~D8L{s0(uminVKO9#xS zirJ7GW~4eUCo8Ha=BoiotFHE{NeZiIWWiA#^w=u3g68^Q?0I_Zl*->7v%MhPwROLXWk;VNqx3`Wq#h#JbQFIAZ{1GBH}N@p7UWVmeGI(G0~^ zf(i-Cc+nruEGx+yel?Gl(0;B4LvAMI->tRvbEmYdO>XLkVVpCHxDOYtR%mcUqL6QK zQIel9nSIYoS}LBWLTAh4w5$^;s2?ki79RRk_-($zskqo)E7$gC4>5FVE0ZjrbH4M9Xgz44)#Dc4V7`sL=j9(q7{*O0=6Wj+eR?=)*08W+1g62cw6(Q#?yQJA14@! zoDka2_2ovI#YkN=`}Ap`|6U(D)G~(1zt@LKvIG@%h9K?dim)FP*)^XY`rq170K4x0 zK0Ro}e}A(3aR2LG9=37jF}0P#C+|5J3SSR(k69M9D>}K1=APiP8O`05&`+~?c|x~) zBEg#>;DN(6jzu%)W)t&9i7L!ta1T)7X(Hb7+QU_CV*Kg=`bcY!3Y5mE;7+!}Udw?i z*2i5@7MY*u-apAManw)h3)Ae-$_XmtB8ZTMwyW>b@n?PhFC(SYm%$%L$2+$d)~u_~}4Z^Uv) z|27=_dB^Hs*4;c5u#}jn#$4x)SSw$X5M!a*Y!` z>t(a?b?!ceqmi1={1Sj|51qk`ko-GDCV{Kh?9x(=$RU|cL>hk9GWx>hI^+W&6Vlco z&Uu<*4+Jl_SsO@{pJmZidn;O5YV^6LmpHH~9xy#dG{9N8vo)(j&%5EehLVKJY{M{l zjuN;$Ls6E-rO}Oa8i$TTpq;G}Jk>R;0-etaRL-&_Zo;-p^aM=s9Ay>pl5BqO2{cCq zW~N~`Oyjc~V$Xeq`_Ij+|DF1uewuqrEwDrX+uODCzwPagpFHS)_wukU>W|#K**;MTO-B;}@$k2Gr0v=Jd@eT{R|0_4ahcCLzPLZ5tHOzd$g{N>(YT z-GqaD5d{K~ely&GNnZ4lP&`2?^dov!zJ|~Ox|wy(B%kRy44hQmwo;^n2!;XAlMmE8 z?rm2WVGwISJ%01eAW5UTtS;(G;>W~r19mJJ7K{SH_=hxEN;d}ns{@Kp4BAWZO?Q|C zBkX_%-WrmN$nb>Z1NkI@cz!PBqA~au5mA1B1{0+=u!u!MdbyG`6J=o~KW8>CkZ@n1UE4vPdFYx?>VZT^JGO=N2Sfa-b&B7%0 zBQ6O}FWK^83Qrbk`x-7wkQZo*3IJ1J7ROUSW{};)EfJ9phz&B2+E8}H+!}oYejqbc zT;mb}P6i7KhrsENC)`GFp|x9>x}uR;s}@U(@2$jCm8M-rYu}a?DXUMfc=2sFy~$Ji zT&ZCk*aShABI?6!GkBU6BAI;)L7g>RN~v0)Rb}#Ht?Y24T}1y>EO$Jm|~GdauGN$e+BEa;d7-7ev&qgq_M!h1US8KDY8kmSWa4QIaRIY~25A zoLG5V!VSO1h>&+P^um1kIOCRJm&=FiQjjwgSc3#J7Fcsd=x1@+xbfu+c!d5J&QLPP zmuXg@&Ex3M|He=D?f74NhldaOf9~aZ1Wq9#s7P6a2|faN=!}aBCoxVhK@OuUc!|nz z@CcmGsA|HG{7X>IP?CVlB)b4}NTL}|FLywJ5=ig@F&U-3hiN=`1X6U#9KGnoMN|9{ z#as&gbvp#iQjn#rCMAi^W02q!g@f?<+50n+6=?8CMyvnv;%)wa@?e#t-@5@8@|W;`$8+fBjh{$leY2!|^X$GeYumG8*CeWmwKwFzFCy zqYD^cqLC;(WMzjqoo2-xa&O)Le@T`JI+`Ys49kC2ut3}3uRotNH6p?PlrnqxhhRM33)FX~|Mu_P{q1+~;pbl*C4bZo5&D(&7h@SYvlx}ASfGN%z4&?j zi%IZs2rDuRx~lD3)zU0QZIz_K;&*V7WpreGV5wMJYb?O;A}0tffAguOa3dOtLEOvf zn~a=_Os$xig zjyKrUV|WNCBtS1Xxv(zJ7C>vV9CnOfkkC_kBX~uS$8!HMeO>O znQQ8yLZ$_4*l(Dz6M5PCjUY=hXU8U9shl~gry8qtD*PN$JQ3d?x|!`P(`Pssmw`RR=*J&iBMD&? zp|X6P*?`|782?mYf__LNZNKY)(AB+;Dz(#+**W}kE4C8LEP9d562h4U(9nJ$y0 z7nM9&XQ-X!IVY;C$_l&?ReZeQpS6}{aSws)h*;q($!~W_%~0Oa@KSCS@7NvL#oaF4 zwQZ@rqRX#b)!iSrSGK*e<*ulsn&lYYQm;TT#w+l!F5i!db@^4fXw_VijaKd6e6;HI zXJkoWL8`nb8)fN!Oq8WNSlHx(QL&YS4fY#Vd$Z4|)q{Bj$`c$x{iF6x#tHLC0Xyoh zx0o=fC^dm!9Cxl(&B8)A>nh(Z-g??*`dMPy?JoM3$YosVQ?lEZ(#LY*g5S$LVx_$6 z&tEHtpKl_%QtElMladsWpv$F$@V8l#;Pmoc9z&vO8hW4*=df}5YCB2}hATaTUrj?IU+EI1cIuhwEsLq$$S`RQ3)2i;S>GXOgmjlv*J3-;$KIq^hhLGEl0fC z_GdaQR{p;wDM#v#{d@X5yv#O(qy7AMe{bK8|G)cW?_m6J{(B#faPCm2z18k&{I8(xu#}A+I<~76lYrON%9o@-B$^ehAf7HqWrYa}2HS%HlLTt#bB;=K zM!!+fP(=jXFj%a3$Ud;&>{u5_eBt*fnX^}ePlLgq+Yn#$F8iAh> zND+#82Ii?evnCn1!qFATraXfvh07uCfJ}Po((1uw#y$q%I!nJM;400o0ldg60*lq%0C_5Tm;B-{Zf=>>hb!k<~K*B!0!X+oN1<8%5zcY+J^~AITf?=fa zasS9^RsbF&heWg^xF9vU!JK#Xk^YuNwAo@@CXvYaxI_87 zZB)fmR{O6<^pgd)rs7+OlQ-G*7AlJHMNwqM*0u@8xONRdZ7_TdQ#?gHn7vM)d|!s& zA+n|C#N7cwa}t~69G4|3nBEb-$;gX&PL^9ulxEF39^MXk&ofcl6+*hl-wL=^FZ30z zCfX|1b8u+g6)Cb5hM!jX?4`zFB&5_7i=P|UgB=L zO=t^P02q-9CeI;(EYm<^#>=NJCm3nt^f3sCq5pmdT%lz>@N0k$%1n%mvLlg-Ys-Ak zpoa9<)^@nXiQjHg&SoGKvLH)HYrhH#PeOz3YYe;FYh^BDY zl+P5zErc^HF3Y1bK_~|}_;&#c^gfv5T!(i-47@s=PQE}72_#meL1Y(*^ z3y+MZW2s$0v)Z?o&b0Quie`%Nk1CgG+wM##zepFim&sm{{32agKzfK~^KlF67wMuQ zr~iSLjA=?zJHga)5v7Ze|9!+hzR#xbQM%AYDMQm}z>SPnI1#b5R81E--zFJsw9P}# zl$Jd@2>1FBF%^IVR^EmB?^%{KxavWDk!8sdGphB$eZe6IqJj(g%hb`M9^^PBM+dzc zjZ@xaPmBN0i;sDNBTUpWxO>H>NYBoX&tIOrfAQu=v;TL1_4)m`Z-00lsw6xiOK0>J zP5B>Gk{&U!oMthP!`7o6HT1?P+5v%un-;M!=#76lZ??IM<8OX={^I?cGS{lhV{`uZ~l1$!nfRF88V;ue}4Msry-2zIQ`IrNCAkFsIBO{ zzDee5{E?ApE(Zj4{)!Z(Th0@wYk5{goRW?5eDB>_Jce^XTbRSMsRobab|A>9p>xmGl?s zqNk2t>z=P+&K1NfwAGl!O{Lebu)jzbJ@j>z$FQfy&ivpCfs1GKlSp2}+<`|_lJPfq z{hxWL?q6)B-dUUOU!?mT@a$Uv@3{9nAiL7h)cO5>`Tx;R?nbGG@#K2ES$u%BiThx? z7yaH&?}NH8j*jisYncBmdf^vvq%dx95A`Bl?3f5Qxr3rTu-^HDe={Xq%lSjq@5W|} zmtaG<&qm9&vEm>mfT{I64#*P_1iGd~Tg<<@^=zJ4P%0B=FHYXRIIlGu{IcEA7i79HPIA1Iz%_q$tA*JE|3(dfF3W*XM!Dzq`-&V0<)6zyIs83k^O zZTma#u#_}EO3$vI#x=J+O_DGH!5q?kl<{Q(#ybs!6CRyiUky%}wk!3#22z;>NW3g#bhG9WxeF7 zqr7nZO*Aq5JpQGlqG!dEqj(220166?HSU&3#Q66kk&{eA)M9wxSxt_>_!f$Th1huS zY3AB$1%>TzdoL2!P$KFpH~NijB{zh|FgXGr6cX*4&cq(qDu<{3h}DsAqRbjFnxR!H z02Oyn-aj(oB@oYl!eqvm{nsiY^ol67P|_oQ-@;)(l2^kfKwSrW4bx?FAmHE71nhq2 zru0n2mtK)VBev-T%$MvB#~>8ZtAqJcURjT%_O|1yt-t zFe3BZLl;_Xm@Exzj23>DDUPusAJ(y;d}FE6+&lj~qf<~|b?ez`1p5jI5={uYvdtjS zftFQ7L9=w>|1B4Noi1kCU^fnTn&eD?x{s)9QZHnb)8^4gH!>;FXM$x_M2kWJfHKq5sgwqr*4p z5DU3SX_imtAyaSjAV=roNKZ<;e+N$<@_*dR)A#-#u&(so#T7si8|V)109ue6mjHoziSLhg50E#%|3yHXUGAHJ z4W`mR&zCt`_q2vR-Xj~Xjeg66H@J`EYwCc1!)Tt)xX)$`T#d8&8qEag0j%`x!gGk` zS$c+AF8&!g%Z_4Jq14ajSEEC#uQygv=RPcHkfAqcgZwxX8QIQ!ZVNUcdJ4DOQDQ={ zkIWjklKiBo?Xiyv(|N)m;)_1-(6l>qcJ;CLvMn4cil(wxAW{{nM}q@*wqcz2+9n#e z?qo;Za=$otyCl#-V@p4r5>!lKgl<0F=yOB}9%Hb|clDI!7cZ>sae@fiVz_pIvsK%T zecY8c=opdxy+phWy|S6t!+8I>wV#K_(En#yfq$c0`Q&|`#qVK7vND2eZwET^KaBUD z?%MhPp6nky=>PZed@1_>_iE^!X7RBac$?k~bfNh(?F>A;=(kPiWMp&C(9L`Lr!Y84 z#22tcKdQr7?JBmYPpLG#l0L1w@u(l~7R1vM_h#gr#q(-H_nm~{^sS8LravwRwAb)s zYgzYp$9=WR`%oRk)HU0=AeHfYz1I)Ucvr1XMLiByB*xUqd1qM8%sVdTPr&Yui_sIX z?`|63PMje^XHL0#3&qW5t)ajecu5N6&)ojq*{Ek1>LHfrdNr?J;Tt z(2Z7`E1N)9k82OQy1@D#RxQ2K!%3>&Li`$$0!N=~C2leQ$zZ1DuDY?{ad~-i`tBXU z3I2@*kvv63gi-=8Q6Kr-Pa^v;9375*LRPh5Vm0C>i1I3!fWvX~CaTt`*Jz#<%R6pY z3zDO!w`tm(0SqSKsjqb>+57^h{nUf?JLi5{Ejx4vv@_sgEu%hr?&tghj_5vNtGzCt6vqox zz)Pgf3Jo5Mg>rb%ae=PqGO8xhj@G{I2h-u5J%;^Hq^a0!^xsbV-_zZvcKqLirw{Re z@8|ha?0+KR%%<&qHrPLteNVK#pFOX^sHXj{$xDa5Zo~I81y0Yk`|q=|{q`pJ81LZ% z(4lU6ZD4}FR-4yzT=q12{j9~>;t7Ks7c@Olefm(sO;nU?$7w8`mYpQ|11-5p;}=3Z z3LB}Nj(9dFw$$)cPQ9xeDVmN(d~TZBM+c9%HOpfFD^KlHpoAy~bNnOQE> ztC*E7q8#4yqQu)OL2`3$Rnqt91uf>k{?H^^=?{Nx@x|}Eb(O$&465rp8gvl07@9vh zT5sO>rOHejp=?%}T(U_ZB*(3I zQ#)8gmDqqX%9SpAN$XQzww^94M|nLO*8s(Wuyxw4|1eR>k z2E6vG^H*oB7NgT5Tj2Os5xLh`l}V!3WctUEWB=A#u~b|;;(rbuwLOa<z45I0#M`!t)td8pW#j*VJFwMg$Ugq=IpjH^7A3BDpFIqh>($DU6#~q+Ydl!*o zA9TI-biJ0voh}<|*inqo6G@wM8%fHu97Ww~A_voAF(64v2bT^`05=UF9bi_swdjZ` zDsLbLTYpmPYFiuzj}FynT0NWFtR8I<7;Y1s^_FC8()iMEtUcWQ`eGl$|074m9G4~S z?)SfD7n||}>G1zJJUo12`F|Wf89&5-xR>Wk@&7ojhu(i@7n^ni@j(AGd4rfN=;svT zV_VZV#LHlYxm{t1(r9eQr%&4(6W^c5}%UB;R1 zmxrV4Ri1?eyJFZngQ z@a;*y&$27AANlX>!rF@rVMVf`w)D52^U?{o%HBkyYQ5Voen8!(zgFqQL)MkYX>7#= z-fR|ofySRDS^5WA^Wl#zS#B>QZYPu4B#X1ou3()E5!IU6HryrziKGeeuSHAq!jhu@xZg7$zu9#%4Td#y{w3CH`9yC$k-iql2+Ba#tUrlnuSyM|o z$>wvI#$C68Yjvil4zh~wv4YOAx~{RBjKDxl^sGQL?d>Hjpsc3^*VMep; zIt9bGVDjYf8TeZC*Vjx>us+do{dH#+WIw0m<(52)&rnnqm@H4Sl%S9PjZ5?9wnO)9 zfD2)gWY?z!Uf={>q8DWZ6Lu9<<}EXTcrY~>AMFO{WDJPOqce_DRXbi0D?Ij{7kd|&>npQ_2ure!m z038gi+-G1d)*rJ0cDH=zIBIjV#aK9ryvXVfmB!12|aG+b^J%jZXi7cE-~`-@y4AJ_3FN zKtK0+^*AyCXy%QOE5h~-Is=*IG3!VmC=wN(RnsZ{=*`&Og?0zHicn?whXpDM9HXOQ zJ8cc3-e{HG2^uy)R5Ou+i)%(Q!avLIAzws2J&V^S8e(U>ty|3J zGm;hXl71>TkrKv#r&hzWVz!rCO>rIH1O!7zRuT4Xlk=z4a60CXMUo?t=UD_3^grL8 zZCKbCbe)|Xzj`sGNc^PXk3&&s7|~ZlpEP2_Qpx4JA$ZtA=!4{0Rr0tNy<3T&mMx|+ z*N=|q>|5dPV~xZJK&-)Rah_lQ)}w}J2dqiVhW3T#{x6F+9sBPuo%_H2y{CJ2{=b9q zlf8%i-+eq^%>FNnH@?}^K>n$Ac3IqW8>chKv1c>*NB@)o%-2!o{0@?|7|`-#wd!#0 ze0>bY1ne4$PmUry#rzI)Ym&D@W=Gi9)dB%?|4*h4e1U1Vd;8VUH#;3kxeI?Ve*dng zF(cSTL`1H$;_3^S6zpl887WSjbK{&U%T8%*Fwty^PHeI4!J{`>>cl19KZt`rtT<3(U_D`Q9LJcF29p!zR)*lEN(fL*|ryyB2Z?jgQ>(gKF?iu&hPdb$Shp`1tgty8wMK?KA&p z`V3hdzzGNvc!82KXe|uD6r&`5i>B>BwX!_S_8bvN85nXbtn!E3F9hG*_Hw7KAbPYz zc~{Qbrb%~nHWhT){lBFcYq@P#U$0}+Az%r`31ly{K@@!YtRmTz%m3CQc~Rf%T16hK z%W`eUAL@!$J1;!y8Dp}*v*r1b3JK7eM!wUOB5NzcGa zYBe(mv@vzYO}dR{s;z2FqEjvEwoBW}OOd&(thXl3myQ*QzA^k-Rz;%wh_G|@MhO^2 zs4QP+^!r-`;F^^z`J)(dHnMb5S68b;pbN3$aP`+={-FWgNJ- zsB5hpUhCFt6ys_RTH;gV-_R>O$HcdE)CvFjTShU5duLI2gOe>o4of*B25_)xw>VCqCHxymZ;>NG$)*joT}{l5H(!zI z`iwP@wE>J{b|9iV#s3Tz0?bb3GETZvQewct@MCSQ!b5E$^QqUsIveic7H72tm z!+EE4?ltL@CC(Y3;5jZ(M5rk5ZjpfYCo^2SqJcGogsBdFFkn6yFdqzGI4ejgQ@pstzU|i`ik*u|25>I2} zq_kR>>Li>|ZpuSQde*6ctM5-P3I61O$S+ z+ScS)>%YM0KWqO&w=U!FaNxd-BU9%H_+QKh=l(=}-5Whcz23jKbOdVRv;@0rZfo&8 z%)0ur;i~B0By~w{6Hc48%qVG_&P*^~J6dfkR||qsQ?yf^JGZY9%Cc62)y-?V9C0rW zR{V`xnzUs#adOq)>8|RnxlDi|y5*SgGm8xhtwMKlT6YUP5jqs$9i1vYS&XxV&6prf zhBLAJxmmr+M$EDKT7U7+I?0Jo^=AP^A zt!>!-?|&Kh|3tpUP2U0R$p5l`c+j~2_jG^!aR2Wv9NqUt*9XRdI_7*GChWMvgmeu1kXeT9lf^bdbYmKgup z_}N&WxV>7=0r=W3zBXH5m+B#2wAK?<@8}l9wsh08v5|8a&h^ip8(}?&WZPXonJht* zO{IszFZ}YSCa28V+{dKNbM=4PNkq$*O6h7Z0tX?-ipl2=x1l+ZCCEeBS4eVfHb z;R?1R&-RXQ>2%a}9NLx?{e8jL!`g?Woocgx@!;o_np4 zP$nQaKRLC09`gi8n9%p0E2BPflnbaw9Of$6zCS-dT~YWcY^?6;=+0JK5Dau@E8=_i z{PxVGb=}zbmoHaRKZwgsi%Z%0K4~Tg&HA$JI88Ic(mZTHA@^qpsj*l^~JX_@n#@wbka>g3W%ooDijII!>j576)7U93~?qcn?nCD%V>t!b|jb) zl9$SL1l*Cd^lE=SmQcdd)7lTfx z6P-MdYlqn#mjU76C4X>n_U3DD!ZuJ=y}e=^YA=84^Q9c{|f*B|Nq!>UvB_} F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/octoprint/1.6.3/ix_values.yaml b/stable/octoprint/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..cbc8146b9d0 --- /dev/null +++ b/stable/octoprint/1.6.3/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/stable/octoprint/1.6.3/questions.yaml b/stable/octoprint/1.6.3/questions.yaml new file mode 100644 index 00000000000..fcc3634c01c --- /dev/null +++ b/stable/octoprint/1.6.3/questions.yaml @@ -0,0 +1,696 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/octoprint/1.6.3/templates/common.yaml b/stable/octoprint/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/octoprint/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/octoprint/1.6.3/test_values.yaml b/stable/octoprint/1.6.3/test_values.yaml new file mode 100644 index 00000000000..7a64a63ac05 --- /dev/null +++ b/stable/octoprint/1.6.3/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/stable/octoprint/1.6.3/values.yaml b/stable/octoprint/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/omada-controller/1.6.3/CONFIG.md b/stable/omada-controller/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/omada-controller/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/omada-controller/1.6.3/Chart.lock b/stable/omada-controller/1.6.3/Chart.lock new file mode 100644 index 00000000000..a1a211905ef --- /dev/null +++ b/stable/omada-controller/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:39:05.208650698Z" diff --git a/stable/omada-controller/1.6.3/Chart.yaml b/stable/omada-controller/1.6.3/Chart.yaml new file mode 100644 index 00000000000..1fc7b4e448a --- /dev/null +++ b/stable/omada-controller/1.6.3/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/omada-controller/1.6.3/README.md b/stable/omada-controller/1.6.3/README.md new file mode 100644 index 00000000000..32e48584541 --- /dev/null +++ b/stable/omada-controller/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/omada-controller/1.6.3/app-readme.md b/stable/omada-controller/1.6.3/app-readme.md new file mode 100644 index 00000000000..5a0c9bb4fe8 --- /dev/null +++ b/stable/omada-controller/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +Omada enables the network administrators to monitor and manage all the Omada products in the network with a centralized management platform. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Omada enables the network administrators to monitor and manage all the diff --git a/stable/omada-controller/1.6.3/charts/common-6.10.7.tgz b/stable/omada-controller/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/omada-controller/1.6.3/ix_values.yaml b/stable/omada-controller/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..a81d81e6747 --- /dev/null +++ b/stable/omada-controller/1.6.3/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.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/omada-controller/1.6.3/questions.yaml b/stable/omada-controller/1.6.3/questions.yaml new file mode 100644 index 00000000000..7ef11812c7a --- /dev/null +++ b/stable/omada-controller/1.6.3/questions.yaml @@ -0,0 +1,686 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/omada-controller/1.6.3/templates/common.yaml b/stable/omada-controller/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/omada-controller/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/omada-controller/1.6.3/test_values.yaml b/stable/omada-controller/1.6.3/test_values.yaml new file mode 100644 index 00000000000..e8eaf821eeb --- /dev/null +++ b/stable/omada-controller/1.6.3/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.4' + # -- 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/stable/omada-controller/1.6.3/values.yaml b/stable/omada-controller/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/ombi/6.8.3/CONFIG.md b/stable/ombi/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/ombi/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/ombi/6.8.3/Chart.lock new file mode 100644 index 00000000000..17fbfe26d0c --- /dev/null +++ b/stable/ombi/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:39:09.236950698Z" diff --git a/stable/ombi/6.8.3/Chart.yaml b/stable/ombi/6.8.3/Chart.yaml new file mode 100644 index 00000000000..ad809874372 --- /dev/null +++ b/stable/ombi/6.8.3/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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://raw.githubusercontent.com/Ombi-app/Ombi/gh-pages/img/android-chrome-512x512.png +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.8.3 diff --git a/stable/ombi/6.8.3/README.md b/stable/ombi/6.8.3/README.md new file mode 100644 index 00000000000..71895935b47 --- /dev/null +++ b/stable/ombi/6.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/ombi/6.8.3/app-readme.md new file mode 100644 index 00000000000..7dd4dce71a0 --- /dev/null +++ b/stable/ombi/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/ombi/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/ombi/6.8.3/ix_values.yaml b/stable/ombi/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..8eeb7cd10b2 --- /dev/null +++ b/stable/ombi/6.8.3/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.1466 + +## +# 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.8.3/questions.yaml b/stable/ombi/6.8.3/questions.yaml new file mode 100644 index 00000000000..a59de6335d1 --- /dev/null +++ b/stable/ombi/6.8.3/questions.yaml @@ -0,0 +1,686 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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.8.3/templates/common.yaml b/stable/ombi/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/ombi/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/ombi/6.8.3/test_values.yaml b/stable/ombi/6.8.3/test_values.yaml new file mode 100644 index 00000000000..b7b3f2145c2 --- /dev/null +++ b/stable/ombi/6.8.3/test_values.yaml @@ -0,0 +1,40 @@ +# Default values for Ombi. + +image: + repository: ghcr.io/truecharts/ombi + pullPolicy: IfNotPresent + tag: v4.0.1466 + +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.8.3/values.yaml b/stable/ombi/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/openldap/1.4.3/CONFIG.md b/stable/openldap/1.4.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/openldap/1.4.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/openldap/1.4.3/Chart.lock b/stable/openldap/1.4.3/Chart.lock new file mode 100644 index 00000000000..dde53c474ea --- /dev/null +++ b/stable/openldap/1.4.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:39:13.168037389Z" diff --git a/stable/openldap/1.4.3/Chart.yaml b/stable/openldap/1.4.3/Chart.yaml new file mode 100644 index 00000000000..9dc487ba4a5 --- /dev/null +++ b/stable/openldap/1.4.3/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +deprecated: false +description: Community developed LDAP software +home: https://www.openldap.org +icon: https://upload.wikimedia.org/wikipedia/commons/thumb/7/71/Database-openldap.svg/640px-Database-openldap.svg.png +keywords: +- ldap +- openldap +- iam-stack +- high availability +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: openldap +sources: +- https://github.com/jp-gouin/helm-openldap +- https://github.com/osixia/docker-openldap +type: application +version: 1.4.3 diff --git a/stable/openldap/1.4.3/README.md b/stable/openldap/1.4.3/README.md new file mode 100644 index 00000000000..0e4292d591a --- /dev/null +++ b/stable/openldap/1.4.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.4.2](https://img.shields.io/badge/Version-1.4.2-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) + +Community developed LDAP software + +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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/openldap/1.4.3/app-readme.md b/stable/openldap/1.4.3/app-readme.md new file mode 100644 index 00000000000..406b045c6d1 --- /dev/null +++ b/stable/openldap/1.4.3/app-readme.md @@ -0,0 +1,4 @@ +Community developed LDAP software + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Community developed LDAP software diff --git a/stable/openldap/1.4.3/charts/common-6.10.7.tgz b/stable/openldap/1.4.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/openldap/1.4.3/ix_values.yaml b/stable/openldap/1.4.3/ix_values.yaml new file mode 100644 index 00000000000..bdc8ae302de --- /dev/null +++ b/stable/openldap/1.4.3/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: osixia/openldap + pullPolicy: IfNotPresent + tag: 1.5.0 + +controller: + # -- Set the controller type. + # Valid options are deployment, daemonset or statefulset + type: statefulset + # -- Number of desired pods + replicas: 1 + # -- Set the controller upgrade strategy + # For Deployments, valid values are Recreate (default) and RollingUpdate. + # For StatefulSets, valid values are OnDelete and RollingUpdate (default). + # DaemonSets ignore this. + strategy: RollingUpdate + rollingUpdate: + # -- Set deployment RollingUpdate max unavailable + unavailable: 1 + # -- Set deployment RollingUpdate max surge + surge: + # -- Set statefulset RollingUpdate partition + partition: + # -- ReplicaSet revision history limit + revisionHistoryLimit: 3 + +envFrom: + - configMapRef: + name: openldapconfig + +replication: + enabled: false + # Enter the name of your cluster, defaults to "cluster.local" + clusterName: "cluster.local" + retry: 60 + timeout: 1 + interval: 00:00:00:10 + starttls: "critical" + tls_reqcert: "never" + + +## +# 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/openldap/1.4.3/questions.yaml b/stable/openldap/1.4.3/questions.yaml new file mode 100644 index 00000000000..1b7742d68f9 --- /dev/null +++ b/stable/openldap/1.4.3/questions.yaml @@ -0,0 +1,817 @@ +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: "Statefulset" + 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: "RollingUpdate" + 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: LDAP_LOG_LEVEL + label: "LDAP_LOG_LEVEL" + schema: + type: string + required: true + default: "256" + - variable: LDAP_ORGANISATION + label: "LDAP_ORGANISATION" + schema: + type: string + required: true + default: "Example Company or Household" + - variable: LDAP_DOMAIN + label: "LDAP_DOMAIN" + schema: + type: string + required: true + default: "example.org" + - variable: LDAP_READONLY_USER + label: "LDAP_READONLY_USER" + schema: + type: string + required: true + default: "false" + - variable: LDAP_READONLY_USER_USERNAME + label: "LDAP_READONLY_USER_USERNAME" + schema: + type: string + required: true + default: "readonly" + - variable: LDAP_READONLY_USER_PASSWORD + label: "LDAP_READONLY_USER_PASSWORD" + schema: + type: string + required: true + default: "readonly" + - variable: LDAP_RFC2307BIS_SCHEMA + label: "LDAP_RFC2307BIS_SCHEMA" + schema: + type: string + required: true + default: "false" + - variable: LDAP_BACKEND + label: "LDAP_BACKEND" + schema: + type: string + required: true + default: "mdb" + - variable: LDAP_TLS + label: "LDAP_TLS" + schema: + type: string + required: true + default: "true" + - variable: LDAP_TLS_ENFORCE + label: "LDAP_TLS_ENFORCE" + schema: + type: string + required: true + default: "false" + - variable: LDAP_TLS_VERIFY_CLIENT + label: "LDAP_TLS_VERIFY_CLIENT" + schema: + type: string + required: true + default: "never" + - variable: LDAP_TLS_PROTOCOL_MIN + label: "LDAP_TLS_PROTOCOL_MIN" + schema: + type: string + required: true + default: "3.0" + - variable: LDAP_TLS_CIPHER_SUITE + label: "LDAP_TLS_CIPHER_SUITE" + schema: + type: string + required: true + default: "NORMAL" + - variable: LDAP_TLS_REQCERT + label: "LDAP_TLS_REQCERT" + schema: + type: string + required: true + default: "never" + - variable: CONTAINER_LOG_LEVEL + label: "CONTAINER_LOG_LEVEL" + schema: + type: string + required: true + default: "4" + - variable: KEEP_EXISTING_CONFIG + label: "KEEP_EXISTING_CONFIG" + schema: + type: string + required: true + default: "false" + - variable: LDAP_REMOVE_CONFIG_AFTER_SETUP + label: "LDAP_REMOVE_CONFIG_AFTER_SETUP" + schema: + type: string + required: true + default: "true" + - variable: LDAP_SSL_HELPER_PREFIX + label: "LDAP_SSL_HELPER_PREFIX" + schema: + type: string + required: true + default: "ldap" + - variable: LDAP_ADMIN_PASSWORD + label: "LDAP_ADMIN_PASSWORD" + schema: + type: string + required: true + default: "" + - variable: LDAP_CONFIG_PASSWORD + label: "LDAP_CONFIG_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: "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: 389 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 389 + 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: 36094 + - variable: ldaps + label: "ldaps Service" + description: "The ldaps 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: 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: 636 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 636 + 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: 36095 + + - variable: volumeClaimTemplates + label: "Integrated Persistent Storage" + description: "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 + hidden: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - 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/lib/ldap" + 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: slapd + label: "slapd Storage" + description: "Stores the Application slapd." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: noMount + label: "Do not mount this storage inside the main pod" + 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" + - 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: "/etc/ldap/slapd.d" + 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/openldap/1.4.3/templates/_configmap.tpl b/stable/openldap/1.4.3/templates/_configmap.tpl new file mode 100644 index 00000000000..4a3c5474509 --- /dev/null +++ b/stable/openldap/1.4.3/templates/_configmap.tpl @@ -0,0 +1,21 @@ +{{/* Define the configmap */}} +{{- define "openldap.configmap" -}} + +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: openldapconfig +data: + LDAP_TLS_CRT_FILENAME: "tls.crt" + LDAP_TLS_KEY_FILENAME: "tls.key" + LDAP_TLS_DH_PARAM_FILENAME: "dhparam.pem" + LDAP_TLS_CA_CRT_FILENAME: "ca.crt" +{{- if .Values.replication.enabled }} + LDAP_REPLICATION: "true" + LDAP_REPLICATION_CONFIG_SYNCPROV: "binddn=\"cn=admin,cn=config\" bindmethod=simple credentials=$LDAP_CONFIG_PASSWORD searchbase=\"cn=config\" type=refreshAndPersist retry=\"{{.Values.replication.retry }} +\" timeout={{.Values.replication.timeout }} starttls={{.Values.replication.starttls }} tls_reqcert={{.Values.replication.tls_reqcert }}" + LDAP_REPLICATION_DB_SYNCPROV: "binddn=\"cn=admin,$LDAP_BASE_DN\" bindmethod=simple credentials=$LDAP_ADMIN_PASSWORD searchbase=\"$LDAP_BASE_DN\" type=refreshAndPersist interval={{.Values.replication.interval }} retry=\"{{.Values.replication.retry }} +\" timeout={{.Values.replication.timeout }} starttls={{.Values.replication.starttls }} tls_reqcert={{.Values.replication.tls_reqcert }}" + LDAP_REPLICATION_HOSTS: "#PYTHON2BASH:[{{ template "replicalist" . }}]" +{{- end }} + +{{- end -}} diff --git a/stable/openldap/1.4.3/templates/common.yaml b/stable/openldap/1.4.3/templates/common.yaml new file mode 100644 index 00000000000..c9df40ff35f --- /dev/null +++ b/stable/openldap/1.4.3/templates/common.yaml @@ -0,0 +1,8 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Render the templates */}} +{{ include "common.all" . }} + +{{/* Render configmap for openldap */}} +{{- include "openldap.configmap" . }} diff --git a/stable/openldap/1.4.3/test_values.yaml b/stable/openldap/1.4.3/test_values.yaml new file mode 100644 index 00000000000..77005dbe343 --- /dev/null +++ b/stable/openldap/1.4.3/test_values.yaml @@ -0,0 +1,88 @@ +# Default values for Bitwarden. + +image: + repository: osixia/openldap + pullPolicy: IfNotPresent + tag: 1.5.0 + +controller: + # -- Set the controller type. + # Valid options are deployment, daemonset or statefulset + type: statefulset + # -- Number of desired pods + replicas: 1 + # -- Set the controller upgrade strategy + # For Deployments, valid values are Recreate (default) and RollingUpdate. + # For StatefulSets, valid values are OnDelete and RollingUpdate (default). + # DaemonSets ignore this. + strategy: RollingUpdate + rollingUpdate: + # -- Set deployment RollingUpdate max unavailable + unavailable: 1 + # -- Set deployment RollingUpdate max surge + surge: + # -- Set statefulset RollingUpdate partition + partition: + # -- ReplicaSet revision history limit + revisionHistoryLimit: 3 + +service: + main: + ports: + main: + port: 389 + https: + ports: + https: + port: 636 + +# Default configuration for openldap as environment variables. These get injected directly in the container. +# Use the env variables from https://github.com/osixia/docker-openldap#beginner-guide +env: + LDAP_LOG_LEVEL: "256" + LDAP_ORGANISATION: "Example Inc." + LDAP_DOMAIN: "example.org" + LDAP_READONLY_USER: "false" + LDAP_READONLY_USER_USERNAME: "readonly" + LDAP_READONLY_USER_PASSWORD: "readonly" + LDAP_RFC2307BIS_SCHEMA: "false" + LDAP_BACKEND: "mdb" + LDAP_TLS: "true" + LDAP_TLS_ENFORCE: "false" + LDAP_TLS_VERIFY_CLIENT: "never" + LDAP_TLS_PROTOCOL_MIN: "3.0" + LDAP_TLS_CIPHER_SUITE: "NORMAL" + LDAP_TLS_REQCERT: "never" + CONTAINER_LOG_LEVEL: "4" + KEEP_EXISTING_CONFIG: "false" + LDAP_REMOVE_CONFIG_AFTER_SETUP: "true" + LDAP_SSL_HELPER_PREFIX: "ldap" + LDAP_ADMIN_PASSWORD: "ldapadmin" + LDAP_CONFIG_PASSWORD: "changeme" + +replication: + enabled: false + # Enter the name of your cluster, defaults to "cluster.local" + clusterName: "cluster.local" + retry: 60 + timeout: 1 + interval: 00:00:00:10 + starttls: "critical" + tls_reqcert: "never" + +envFrom: + - configMapRef: + name: openldapconfig + +# -- Used in conjunction with `controller.type: statefulset` to create individual disks for each instance. +volumeClaimTemplates: + data: + enabled: true + mountPath: "/var/lib/ldap" + accessMode: ReadWriteOnce + size: "100Gi" + slapd: + enabled: true + mountPath: "/etc/ldap/slapd.d" + accessMode: ReadWriteOnce + size: "100Gi" diff --git a/stable/openldap/1.4.3/values.yaml b/stable/openldap/1.4.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/organizr/6.8.3/CONFIG.md b/stable/organizr/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/organizr/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/organizr/6.8.3/Chart.lock b/stable/organizr/6.8.3/Chart.lock new file mode 100644 index 00000000000..216fdf988cc --- /dev/null +++ b/stable/organizr/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:39:17.091862446Z" diff --git a/stable/organizr/6.8.3/Chart.yaml b/stable/organizr/6.8.3/Chart.yaml new file mode 100644 index 00000000000..6117cb7bc2d --- /dev/null +++ b/stable/organizr/6.8.3/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/organizr/6.8.3/README.md b/stable/organizr/6.8.3/README.md new file mode 100644 index 00000000000..262d8d6bbd3 --- /dev/null +++ b/stable/organizr/6.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/organizr/6.8.3/app-readme.md b/stable/organizr/6.8.3/app-readme.md new file mode 100644 index 00000000000..fd5d55ab79e --- /dev/null +++ b/stable/organizr/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/organizr/6.8.3/charts/common-6.10.7.tgz b/stable/organizr/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/organizr/6.8.3/ix_values.yaml b/stable/organizr/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..19a9fa1ee99 --- /dev/null +++ b/stable/organizr/6.8.3/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/stable/organizr/6.8.3/questions.yaml b/stable/organizr/6.8.3/questions.yaml new file mode 100644 index 00000000000..f7c9341bcab --- /dev/null +++ b/stable/organizr/6.8.3/questions.yaml @@ -0,0 +1,758 @@ +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 + + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/organizr/6.8.3/templates/common.yaml b/stable/organizr/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/organizr/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/organizr/6.8.3/test_values.yaml b/stable/organizr/6.8.3/test_values.yaml new file mode 100644 index 00000000000..e61f52c2663 --- /dev/null +++ b/stable/organizr/6.8.3/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/stable/organizr/6.8.3/values.yaml b/stable/organizr/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/overseerr/1.6.3/CONFIG.md b/stable/overseerr/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/overseerr/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/overseerr/1.6.3/Chart.lock b/stable/overseerr/1.6.3/Chart.lock new file mode 100644 index 00000000000..a8050b553fc --- /dev/null +++ b/stable/overseerr/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:39:21.002279233Z" diff --git a/stable/overseerr/1.6.3/Chart.yaml b/stable/overseerr/1.6.3/Chart.yaml new file mode 100644 index 00000000000..f66c669eaef --- /dev/null +++ b/stable/overseerr/1.6.3/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/overseerr/1.6.3/README.md b/stable/overseerr/1.6.3/README.md new file mode 100644 index 00000000000..5d7c2bb8a99 --- /dev/null +++ b/stable/overseerr/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/overseerr/1.6.3/app-readme.md b/stable/overseerr/1.6.3/app-readme.md new file mode 100644 index 00000000000..ee304f25811 --- /dev/null +++ b/stable/overseerr/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +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! + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Overseerr is a free and open source software application for managing diff --git a/stable/overseerr/1.6.3/charts/common-6.10.7.tgz b/stable/overseerr/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 zcmV)tK$pKCiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POw$ciT3yFpTf7kNyfQlRmZkSd{!FPOd)J`?+2xZF4tCePXA5 zpWE$8U=p%WQzVxJ<*07nzx_SbdXlXoE zNnr7p@!GiT#{HW-FvmZlqQqG`0gJr>%yacK%~CXoQ5h9DC+y9)RT|O1K!Ps{SS-Ob zE5LbCAvS!2`Wb7Js*ez z98p9P1YAG@i!$V(suC4ZmJ*Z_2DKVJJvtQu6{*H{9k1>%PNA>VS+9$aC#Z0iGuY*kz!cx{>OjpdtmWmq7`JBqls+d zU?JOc819b4r-NSoFXsOOCKW30NC33Y|AXD#gRwpTpYHBH%>Vm%E|cs6CX)dGkHByU z&JY1G1=#`>1&$G$;ADnCUZ5%d2(l^rHLa3_4n#3*e-Nb&D6||(2`&&T17bAADW=k6 z02F|_=73J@B1;lfC@?667YSmJ>aXDdhz~KJ95&LrD4_ErWZ!>;364R=uQdTT zpLBo;yg%$sU{fePADF)DF^VvuJs6-))n6CA;E0(M(CR^^ukj1eeF0SUTX zvZCK+1$eHADR;nvag)mo#>}@UDi9oDJ&O~d@ zkQ3Ms>2s7If|?*|@Eq84#tI4s;L9{C=vcue{U+(BW2w+V&=*?sYaUye=I|q^Qn-LP zp<|8J(tfW3rmTuf4uJh-Rn@xIs++@t$O!}LUut^1<2SklB`&Q1kW*H zz0N;;&)>hIuP0!CFu-$oSx;E@iw=>j#IzhAFXD$)ia@&b5qN36&#NQ>d6wXaR;RyC z*^kL!z)H!vE{5EE4%2w6+*Tq+bS)c=Z2cXGLKE=wFAfl}xGY;L)6cBtpl!b9Sv<(I z_}H401J9Hc#b4Faj+Z=+V*tVTS%H6}1SH@zi@|Y4vND1RDh7|he@P05L-3z5E|~!P z+W?9(IA!cqf^7@mN7QIeqtz-~|81 z8hVO~2&IIM0$T7{UG6oSXT`F$=%7T!0!QdLin1ytwcyWDgr^vl;ChD03>5$ZQ4~O4 z7L>EBN@8$<0GAo@0EoY2vn4dGR{+TXjAQyg+7A{?hg6j?&Szr%5lfd%4aq=N3fc5> z3et>#k`0wu5Cw3_mYE#@IUrnuOOzriUt&;|IK4F1L_p9yPar``rwalxO5T-RKvAT5 zmRGbCV^CBe0in6RTF7)8n(VpMH4z zd;;dnVGhfZYT=@}uOUtWN*B1uQYIP~u)uVDmmxS8Op+s>w(xA368KRr(v!g>aJ&u9 z|7QZ;ou5z!Y;$bSC*bRw8xX!l34$dG-%zH1`tA$&b6%FV@<&P<>j>G_H$Oao@&3*6>la*h05HWUiQl5B z{4L&`LNc4Mc@U;qj3^fd1KF!$VW3ifiZ5TooYm*G(x%BJe4aDM4Sc%mC-s-KNVPbeMLKW7{l}u6XyZ9K#Nteq+GLUk1+j&sR9TD#hkbOhv(V-l{VcRcuC{WGO)(iP8d3xq2qQi_e;#))UU0 zu3WV$Sz7R@dRyQHPSB;Us}%^wKcva>ZI+R5af0|%ufIb&15ahe7gX(o+^)u3>LM}0 zQxq+u1o>!F1$4cY&vCl21G?uvk)=yOHGmNOU%H-)1qskq8^r*pa?z){D=dd}BW2ds z)oBd{jAJY&OLS{YH4rDh(;~Y-YW6X<@ee&lD__cFUA{mmLbdk^UZ50}<&btHW`C6g z7Np9DIYnQNwk<`TuAvtw$*u>yfYO6s2~Z$+&`ry@p#UIh&^C!LYAZ-$fE{oJ$25f) zTYIi*exRQ|P*F(5^ffML^sQJ3=(_@B*Qo-2s$lcQryjrpc1ic!+$cmFN0vFF>VC>} zP`*m2g{vmiY;$maavHGr+`w{va#|yJIi;Ja^Yc@I0hd%qkJav<%?0{>ME^Nc(rcSH zIfrB>>$p&l0c99>e50O5pMgMOhk`6R;;f=BU6-O7hpcWAUEg zIm#;1C_jZbsS0#HD^N-4oq#8U+6WOte5;|ZW|@1etIu~b*cJ4L(Z0%PH`%t~;qC_h zg^l+!z9OtV+QmxZ9_ytJbi*TEzws~DODk19CPy))fd^2j4?ZshQ$(Gp(QBs94D}l8s^tjUH)2v z3BCH8C@^6rRGc=ZX$jc2zvO>wZE(!iy6$VbLFV(7O)Na8WJ(j{RwcAyt~~D0nZ^uF zBnrcDTN`)Ga7PFKoS$*P6zobcJK8p!nFg~oS=OIfEm&M3s%c9SIB4;sLA7CJ=XQZ= zI>jG3csXr(*WuD&gmtE8$*tP@O2vaFC&d2y<*8QXw8$2e2yJ(v+wZSuIGV8?_XS-! z{#D@u#k^e(Q?MVVuj29h4T!VAVQO-H;9pav0ZY&K9M9Pj$>pEFMCRW)~S}rd# zl0{h(YTwSPoWann@gL|C_F;$r|BU`|escPO*{VLgdw%*sug+IH`bn&NIlN8*q>E>L zT9L-!5|Mi5;gq0)4yAW*U$L)jp4R3bt@WJX34?AmN$uk6iOEiYSW_*{Pb|Fx3==`tVhUNoOp~b3~P53ZMQKsB2v6thBDlKMH)OjAb}k);u^bD)i>~44j=D zzj~o)t;g_IiE?(nyls#}Y0N4D*g2axfS60{D2<0zDVDG){)pn&byd0I59z$Y>F@%U zIMP_H&7VI6*EMilrrd#6DFwDEpykMBXN41xUgGqlrzlCvA&i)V0G&<2o#?4j@fLKk zv&cS^@)3B;ftUJ;74wt*4^}`2s7@gR)?V3?N0tazbwGquJ8T{=C?1sAs!*K)BIomRwGKWm#qqc`_V3GpX*t>E` zT_ARr9ie(CP&5`4ejMBzGSlYzLDqC_Yw16Kb!HEj5d1wOGjUeWTq3A=;3JFnKwf0b ze+8Po!~26ITpVyz$`gPOUt`n^Nm6PQaYrEKsl!xW2)=vwvbF}9GCe{C!BeUYOEVem zp9m)C1Qo=v>Y2m;ksN8RL2Ro=IUOq{p&V{e+TPJwPBQ7vL?v)7R%jbgg4mHTP6hQ8 z&OED9LKm5LXMYDVVtVF!8lXmPQw!u6yh>odmfjU{7WOU**QTyRLFGp0ujx0xdaBW* zP9=qRMT1tuip~7I%COa#%`5a!d38**(e1kLnKD6Z)s(5o<;0yYq8)(dIaxl(#SWWD zR5(*QxOG-DGUW?h<(Xzhq+C&R=5BoY;|UP1m9)@LI7ygTW;#u}R6g*9P;R-ZMd7?r zetru6PfY(N8J|ep)|@5P97%1;Jja)-uI>QyVf3GrocG!EJ(;2Ry!zih?1-YmDTS8& zdib@N-ldM|q9SH@@b|ANMI0d`j=NZaM?jo~YaJrCxOl3AtsOX7briFcn<3pqaH!G| zqH)Hs;x>WfYu_cDk*t812%ISAEMYO2;!6Vn+ZC0Fd3=5te%Jx=GKF&-(ItcXNK(166&OLh{%%(i3)M6*n7C0woHICU6Y&l~DPT^x*DL+(yn zpo+O=0rU}96vV z8rxlbFaUfAH5X+F%Iads&y~_r4oju9#Px)gmL`Bn35qP^I$~K}sHsD{a#&UuOux}K zR?OS!b*A5>k+O|g!}E2$C(ndl!4_-okUP&}q^3!2wz?1}eWHta-^Hl-s{p!^If=s< z)f5gng{5@c8d54sZcKuzX%p}k!T6^F6Z8XJKh2Xj$OT|FRW!<0(CrH zAwYX%Mi-n5M6MA^0Zepfr-8=mRXDBK%kagx*ls^VrX<7@*CJXkbCPshzK?iq$KG&` zVq7spLcm@BgL>V9fXwr03AWxIzaCz|=!*81@@?Ceb3*`CN1VK)C1Bd$v~H7;%$+K!wEQMNRQYvYpJk@L(aTZl{`y-U!tdI(($qv5j4g#-o#F(*yY9uYF&Cw;C zEb6i4Rl`}q;apz9X&DuoHvDg_o@(vAJ0N>+jy#i7@;|uP=-dOv@y~F3rq4ZO)?;ClPBJDaYA0OH+#1ERW0H-lt;JAVb z?WrrSU?UhYjfucCLg9cnf~i;XR!=EzX2g&{?!>MyMD#6tsjCoyp+f}hySDB>dIWwb z08=bMf=j|Ka`1LjIbP)rEZS?OsF4{uQ|7@;m(kH9`Y*?o725;)>rDL8{K5H% zE&-gf)6=C!6DX?W7HG1 z?SY0wv+2Am`2u;IU|1q`^H9hFl#&ATwUqa59+&z32?uNVLF(2)UQa)pc zAduF_D4PfJ-Szc#XuKa7x@3XMtSTZTmHQHm_+8}EbAcfo$SUd@`y=oZ0##YTBw2z2 zMcI6g(wLcIGzZ7pB~?`C2Spi35L}2OROaeN2YZCGs^qYvS%x(mT~(qYZpR_wP;@Vw;31Jt+A3dsx*#Tu0%_sq{af)d_hjO1BXKJe~ z+oDygQr=$9&S{n;*)>itIrxN5;~fCwU#pVv<3Ct}6j3n-izUD7S)h5gkn2~GEWt&= z4$R<`paOhdv-@jq@{c3#f_!bXO`y=AN zsC%xX_b^F9l5a8$Oh^2uy(drhtoSbnyNBb4_%HYI+}w=58Hk(Oq*&$|U43gaDjggu z+7pw6A$UpnjjjTvF)ElTq@sT%eBUKU61ad=|CEsvxM4~L`UnT#j6QuD+}sSgPZt6K zM;5{)3Bd3ZT?y#d(Kp~VDlWzSr!0brI98F~c4@4W%D=^OoAS*_1BKHlsp1-wpoCq+ z3_u7zv4eAg^zRksH|DhlwL;4mkqHD(LHMIYp+`#yg>ubdxuKag1Ylm2u7yJ<8cnMg z8$qC>m;&@KS6SxjAJpL`0$IyVnqDvjzk?K~F+u;PD z9ivgS6{i7a3ULCq@&c!13W7Ho0Z;_Dv5DFGs@x8Iq;Bh-COf;?^9`!m9t4%)EQb!N z-F3t;>s?-)!qf833f8D+r{(o9cc7;wT+po6d)pi4SwUdpCCF2YZxm56$7M;?e;)~6 zCZmts|Mq1{P%)+Ym6HU$5uaPqyPxLzujbpvw1BSlfA7$a|Mq16aQ|WbzmJEl|7`oC zJejCaKy33wm%odoLQJM9tw2TH0@=l{C?dk43>I}nAG$G8&fB^U;a~U7L!PrS=8RW&sCNK zmi8;&6LUzS*(X3t%<63~%1`GfVcKgt|SRPU~m?)o_oo?{n3^P_2 z^zz*TrbY+==Ga|>MbB(9Y>Ho5L%9#J4RZBMj4nd8QIcn|qZ2iFpIcu3(H_V8uk`y( zDF7Yo|Ng<#C-(aP4OSiHDge-h52(>V{iUp1syCzLqr5gVn zetf6J)McIDqDPnzIW;=0GZtRA8;bS9Y55)SSYAw?94T=iUzrCSvZOly7#dPbe&#SJI0ahR)p^O$H$0kYeT?K>GSiG$ zAVd9{f>0lr%lnqck{*g1)d6_Cy{%Cz=zULVq@-As2RfcW;21U}w9zO790-13{mbD6 zU@OKE0fFj16W_K4+h-N8s{<3W=uRp|Kkk6XB+ccsvE6x;>|V6z$TvK|yW- zsfc~G7=E<~KtK}Ss2F_&CZ8K)$I+9H3MS45N`|!!VkbqG-qYy8nuo5z&_;RZD2Px& zzR!{v6@iAw$u@f+pn|AVoyWIU!n7aSp93MQNL8eb%OrNB1TMb1Q_8#A#8_gx(C6|3J&S zVjx+#UAInlhSfSj(2*stI$I*HN6Y$py&C2fT9%F`{0^qLD2W5O31Fy=wJ-OyZu3u5 z|H~KA{rdmx?v0-|{C}PvJm`P-@i6n%%RE;d+)CdntG$LPaNzB$`*F@19uT&GZ&}+v_cZv^K27=0)wfM9 z0Uh#x{A7G+%m2ftdk^yeJ|1!Y!;&Es%B2I4OiR$@m+n&4cbwO#qZ$tQ^BmJ~Yxxg3 z{8xnr4U?j9Q2X?0P?7?tm(K-x9;@P>CA0nz;>$Jvd0^3dv;XZKjBWq#C*y;M`F}4@ zL;sVpY;URWDUZ@N1E7lP+|&Liqe^KSpnPTRujSzN?61XVO?Q)UT=qXbD2Ac8Sy|}V zZnn)vXrS$HBb1HlYa=vU*J&fXorzF&u!*j(npjs~)$%jYEI)QAZ9Z7L24$PI=S&XC zE@My2ShS5j9fPr9>`^q_k*!A~y@9gL)FbQZrXGu>pU>2zTJT`$xy|EU|3!k#O{f8# z`u|h={O|B!@4^53ULH;V*KZuHybmz1E4A+j^s=k$3rs9;Hsr|V*cKSKwHjVh4KIz} zPE%jtj=?ei>)THo+5>dV|AWJWU0eTu`sBg>doRx|{6Dqy?HhFfHLl%tdVp$F`~h7+ zS906Dy+Haxy*Lf$!*yIae@LIB1l^%4r#=^Y_;OYZ-PsBro&DT1yIelQ92SJ<&1iGj zRHeK<*bekQJt@U1{bt4K-tK_e+fUNrsrleK+37kdBVJj-qSV;24*eDp(YM*Iy86hY z<=JkN`*p?Wqir2pM1+kCZ!K2=jRC{PfYH_)1xPVa=a(LB$_grfb5k3^l-Q|D%TSr@ zJC!+$lXJk_izKz%{7PLjNnz%`0ffQ|`PJcXc62%HT zsL{K`h<2-$v18Zrc|K*rFc=2S%2ebA0qZmo5r7p{VS61_0IhR#({vdF0sd&l_X@0J z{JiE+MgkB+z=U46+~L#ZcY(UUjY32J7lyjg`|q;?|CXf$CZ}0^T#<}<;1##n6Li`C z_wD;%d%K5+PapLE`*>RQe`sm{Gc_bYp7BI4d{FrJ0hJ0b-FF*c#IYFa3Z7gDBwn0e zHf*a*q|b8rMu_xowZN#!(|z@??AoT()QuK<7l=T)W%0}?_x43KV!d68T!R>@bJn`I zXvzV(HdpjLr`D@e)yw?(GOsl&jdoW@an6F@m71^fngN*O^sQ?Lp+nKiXrOil0Qj*R zKwU-yurB~0Qs78uvwP5S%1=(;y(2imzcD@V6crIl39RoV4TWm|RxG>&a~-x-h$yer z8;;<3f#^!2A?e_57e$T*r?rJV@bV@b$%DhK+s+soI=FgPhEa;cD2=8e&PI#fKrGj9c;MAzLSQtTqm(>X*+(5qHvTxItG2mC`1Far zRGU$`8jA!v;A{4kwdB*MuU*bXcP*y;^M7;q06XUY)2D~F|M%gO{RjL1y*w+;f0!hV z`+=LV{5S58X{Yv7+g??fztQgc$+|Tlt;|9>0=X{k)H@I12@%>pF~i0=fd0L43&_NJ z)Z*dc@QW~9G8Qf$pKbZx?PcEJ%8_mJFuu0Ha(SQ#N077H$Aqf;wu?-+k5jmnKP5TVt(Dy>%?-1B7&QRd zK6j?wmqBl0H*ah10M?2B#rm;PHfUzOZ59JT9mzc^;s9)0CVwkdXeUjQp3Pvdw?WFG zPISz?Z=cMa-7#OWC+7V+VcyCA`5LVE6VcA~6>xePE`^k10BqB@bK`}QLS3A54O|y2 z-7?;+(T_`x0jR-O?X~r6S1eVR1gYx?8NzjOp>=pnW%{zU?xB9;WKWI;MWUItp~x!2 z0xrww*<~P(gZLcL!fMy{rr;V~lqjkSq=Fy!L!%GLNu#5Ta~7qONJ=&l?nxWO_39uI z*g2s&lxC)AjXUlt4dV?vDYC)?ki>s-XayLss{$}Ib50vTROOH-_s~vk*kK*XDYqW` zPPH1h+$r%jOh+68Jq>a5C~DXYD8M*nL=Xt@#|RZ9aAR`GL>5z_PNVE2hBa0zr<(0M z)AqS@1DiKzC<8oEUmDxl$GeE|CPdd)4(l3;(Fm58+Lol%4#BqEZX4@gWx{%w1EvBM*|m-M6=rA_`kCY_x7XS8VzAZvSF?d zU^ON;zb~1gWFD5Y(JafZf(ghAG!&C&AQi11{fI?J_n5YL$t8%%PXqRD=^uYIEohqPON4n`L^9hI|S2L!_? z_(dxOi%ZKhPMb&XcfjLWK4;pXHJYqtdI+LfcAbLZTYb1pzKQ|eO>a@z%4a*X0nGAw zs1jL%-$BV$ule@I&O>-(UY;NZB zP~_}%C`K}wrv&IN=}{*euSHH)=U%Wkt8UGv8-7FjIJt()l1}0&DvT85DV6msxvfb4 zj);EQSi*R$Dol=eN?T8uJIXUv*0rUu3pwtux)C4oeC#fmW?-83w-mpE>H3-#7J(ws zxcO4$@-|_}@6Fl4jU_I?R)b{T@<2oy4*Kk3JQzGw8mY)vz~kO}s5aMGhF653vVu4E zd8U(api-l!83F7j4{NV_ZQ<(a65Bj3d2r*|%;Vqx@yuHHaR2whC4ph02Q z&B+l69;aE1-s3!|+b9}$aImknJ0n??C9Dd|BW;#H)xT?>sO+V$M)f;ElZ9n)qlGFp zE%5Y>E3>3BzF!u$$y|;P`uaRiOi?cye+0H_LoY4#*lVz6<=rr>Z?0ubD{XSyvm8p| z8|LGhrAJ_kN1fn>wz=Wd3$ur1j`xi?4C3>NZmwt#C0TY=1|Z+QpNZRG0Vv}xT1T{W~bVC@b(=gr0=^$iF%ry@j?O2U|2|)7- zrp;(P1t}7v!X6X4dEFpHZ?s4|>W3h{Te6AgBz=>`%)%QOZI&oC5f`SSq-Dm)3b3Vv z=jRYo1O(ropPvToWVyY}S>p)XlqE-=$}5iQ`t;j?F6pybxUF}CPKsXH8h{+Wt4p^X zvP?S=w6SQiwO^a8Ny5QExaVfW$yYm=7i zfPWQhR*@x%*gqFAjgOOj2H#Y3@I*g@k|fA}5+@_Za8zf9oU_IWR&JiAnBSC9A?J1% z?ORnOjg#5QX!O-$^3{T!%PJB$QV#yH=oAf-f+=*7vdR#2Z+Jj=pib>e>euH+_6{Z`_``-Xo=kudZo?FzgYJ^F_4U z`P0otTzhZoz-cT_gsWsQ47SadNn)GMtny1MN}CCFYm~EQRv3;H7FKt$8X8@f_&Veq za`uwt_6(EgbUtN;!d+hByh_EXiQiGm8DK?gsR>3fSskg!yKwb+$`wMn?{I28m#sGc zoBHr+rK2Z#P}7KCuzKVI6(m4(OFgQ!O2*1-1ud|{6|57epg}`3RDs>ijW`9}5ek|$ z`vfU);M;7R0tW(5sDj21jUoKxq@G~)Z^Ow?E7oA|7oYV;%$ zu;n6Ro|)Pu4`!;;T-UYUaT(zkwZUP1<2(OjdmHo!DC*GwbvCT)gJUg!W`w_+8>yFB z-`o7^Z)*wBZHrqT>zvVN+se`>$ZfxFAp3{Of}$*=8KN{XqnJx6=+;_qb2l{>1}QsDjOYi{vL>Ui~zb7OT+B4NBvhTA{faq{-{& zJTR?B3LA!^6nl-dlICR*?E~nC?d56EQSwy=9WVSR#Ec7d}k2vD&D3& z%Eq1-a5}{i_x>^&WPEaR%2Bxur%vM;+gZGY>7~5<iGH?+_oFUDeeYzGjq& zIlCQCSwI5OZtJDNE@y>ypxpZF1kFGBxZ;M>hb3N#qT)iFmgWF?dAe%I(?+xN>LS7A z>`g}AA{Z}^<5;8)cN=osD}!h>#)Z-d1^g!@|-m}zn-6*YUfb3jsN`Qbl^JDwN3##Po~-+7&z(* zwHo2z&sH6nRf<}5peItw$rUQs&+xXlRU_pqtqIMOzLveXJ*Mm9FVCv9?fXoZk!>;8 z^|-Bm4XHICsXO+0#~S9<@Lr@bzgoFz9q)0&*i~JWh)>WVfNHV}bJGyu+_?(LHb6h|9g4t%u24D+Dz0i`wzIp3zS+mpx$;Jd$-@r!gR_6Vpj?#DMmv>jM~|k3_04B zdWj=mIqwo*(8gdZL8%F=HKIIUC79Jr5=hxAO;Z01zAFD2{54S5c==edc^mobZQaPaAp~@;|{BqX-pb^q&5Ewuxl09rAx~{M63>@^o+a zA^+pOJT9q?3ZgQ*>eg-*1fsXGTX~%trgw_q`z(o3VLC8KJHD^5mC?`;78-SppgzOe zB(4hikXT+5GOUKTxE^G~W!&jUo=My7uo~wS3ja;7q>eRcm2PF*JZV^sy8$DRH==Hh zBQA;STt!&58%GCpSi%Lw36C)L7;J-p6qOhWyso6|pXpcSKhppN!{LzaEmuxW{MZhT zavMiSZrU?V>m(_aBO^)5FcRB3cY~Q}Df$Om@&;@7rhf+)hX*K)%wqux@d_>5AQpH5 z3F-^-=Hb%SANlE6|2Gl-wbTD|_lceV{c!Ig{_Fiba{pIgv_S0s?ucI=##2BC0G{Fq z66Qt~iD1eo_HXzs8Lb_7_gKpur~X@1q|U37JVz)$$?~OkbE;m|P$teI4;Yi(IaiyjM- z*xg{J8bM z8KerJ=ErlF_W$wW-V@vYbGZAE|KnaBDnP*r_tVtzvH71tOt#H`BS7;S0-*E!uMz*_>C^G}VgBF8!{+~Sl4RH5AJqjCHZqa-KjU`L z7^R_i>N}%&U)7-WBPr>u5T59jG`yk2FK4O-$nsmZ6knj7VZuBwvb?}ld8zGw?1;_I zUb0fF^w{Keqquu~AVdyMFGDJjcqSp!zFngE0u?9OJZC}V|8qCo{g1$5rR(HqXkO(L z6tGl-K}W14&a9IeimnthO2Y9iS7S$=>|tnoB(EOoeY>55!ojZ&FZQ5eZsuu||H98} zZ3|$R{2w>%e@}KF^1t58qw9a-zQSs%pFI1ZlTY4wW#gwUgDCwj@;i8sQyl(!si59HG*#;Yi zPWsaJJos9^+GbsLaXF2U*)n^1WL?H@ke|Gbxn$*C6~ zbC|{r|34nU-6x)O!J@eeTqfBC_cm7wyX~2#xq65!Edj4(`E)oy9f2)%Wx?@TZX5U~ z!*>nm38O4#zi;}oML=5B@w zo@0Vyy00TMT!O8OCF|nnZ_a30oL;hk+}q*citL0Pa$Z2KEjUaE+6MZV{`J z(pdt?h!@nh51HCYNEPf#m@zC~=o*ATTRw5%j-mgscsAsmICYuO64hH4T={9S9N1Jr@8ca0nQeI>^Dv~9LARQEPkjOPNOG%L>2`bpV&aMHXN}n%thap9hU6&J)BV&{& z*>bLqVl7k9^Ty{J^LDTwFhuh#Es+N<`+9~}23rzH(6mYzU>D>wQNRUz*y2i000aw| z;279Ax4tU310O{$sr;wh=(OqoG62LK+kc*n8|QzAPo6yZf8EQ&q}yv$T=I1y$s(AD z6;Aj;$en=*=EA=T!Rj|&sJq~#$~{Yk0BGnl0&bnWF%}Lut+lEW6^<%f*&LHv@8dP? zFnDv?_PDM+uS&xBL3O0-0uy9YrK2-IDbJt~1hs>;q{hJHl0WR{=o`Sw0WBioD_jzO zAD%_R<53Dl3J``kN5yj-5p{9Oz5^uFVq${ko(PHzM^m+&=&FpJtE`c>!TT`m$w?tI`A)hB+C}|=qE~0 zqn{+#6ri>~5`~TaQBG;HdtR{1bn%wMLe3fk0X1d4i~F3=@`WucSL5w$+;PYevdxP#=_K zm5b7oBamn`nnCsLBz>U+oeSvEZDCkVJkE3ahQ-M&Pz)|r3mrgK>(aVl-GCS^EUr8O zdt*KO9KOBi7gC@8@r%-t`{pof;5088Qr#8!@_bLJ7o#p?1Iv(%Y z`G5C!AL2jU%X7oi51!8um_wY_`8K5`J_ah7r?PB)Gg1Z<+fk@Cvrup+5*ptEYDp5i z?+-H>CsKGCSym^^bShOLS|BV?o|Twn#Zo)DX`J?(bqKuNHXQ)i`_n2(w0Lu7om_pi z0+s2zQz#WUnPXH}C9iNAzbrveGF?-(Q$*7aeUYj_djv&?=GY9TCTWDlrHpH?@|&(l z-R5YswL4bIdU>mWZw8hGPf@gtWX^c?b4ADl08qMMm9*{26ft0hTrs z9*g@Eyqj4)m4{z|u@mu|yNh19*T{O(TYM7jmA^PWj^Sh!cZ_Tcg2jWTa1mDj;FKRr zmpO{?bjc8oIEZOh(5Z-vETvkm+QJ2GBFHTpP`c17$%#d$6~7YZumDVsz~d|HgPMeo z7v>jD%wl$T)XoX4TNdiXs;=gVAl+>1kxjuI<|^3%fSM10yff%9VQ5AQtqXaFJZ=`( zh@Zn;!qtv-?NfJAfQNJr%qe1UN=C&C-4Nwec7dhB$^xy)a5Zn_bUEyrZQ>BI4n@ro z_$Oc!qMb(2l~<4jh;(ps+lJ;?m>(OH&%sP%^=PB6o|dB1EyxZ_mU}Hn=|Zj=^~BL; z6K)sqYqZzU+k*a`G{OV%`I3@njBkxTtopRnBI8L^B4#+9_{o318 zNp2u-xZl@WIg32TBbAT>&$U6kXDLffC;l3Wo@TxVCI)UZ2mQ^BrbXR`=pws79aN9L z832BeRkH2Mc~PM^$7g`$RRNbMMFk`%2Fw_gPBY#}T2l6m$~D8L{s0(uminVKO9#xS zirJ7GW~4eUCo8Ha=BoiotFHE{NeZiIWWiA#^w=u3g68^Q?0I_Zl*->7v%MhPwROLXWk;VNqx3`Wq#h#JbQFIAZ{1GBH}N@p7UWVmeGI(G0~^ zf(i-Cc+nruEGx+yel?Gl(0;B4LvAMI->tRvbEmYdO>XLkVVpCHxDOYtR%mcUqL6QK zQIel9nSIYoS}LBWLTAh4w5$^;s2?ki79RRk_-($zskqo)E7$gC4>5FVE0ZjrbH4M9Xgz44)#Dc4V7`sL=j9(q7{*O0=6Wj+eR?=)*08W+1g62cw6(Q#?yQJA14@! zoDka2_2ovI#YkN=`}Ap`|6U(D)G~(1zt@LKvIG@%h9K?dim)FP*)^XY`rq170K4x0 zK0Ro}e}A(3aR2LG9=37jF}0P#C+|5J3SSR(k69M9D>}K1=APiP8O`05&`+~?c|x~) zBEg#>;DN(6jzu%)W)t&9i7L!ta1T)7X(Hb7+QU_CV*Kg=`bcY!3Y5mE;7+!}Udw?i z*2i5@7MY*u-apAManw)h3)Ae-$_XmtB8ZTMwyW>b@n?PhFC(SYm%$%L$2+$d)~u_~}4Z^Uv) z|27=_dB^Hs*4;c5u#}jn#$4x)SSw$X5M!a*Y!` z>t(a?b?!ceqmi1={1Sj|51qk`ko-GDCV{Kh?9x(=$RU|cL>hk9GWx>hI^+W&6Vlco z&Uu<*4+Jl_SsO@{pJmZidn;O5YV^6LmpHH~9xy#dG{9N8vo)(j&%5EehLVKJY{M{l zjuN;$Ls6E-rO}Oa8i$TTpq;G}Jk>R;0-etaRL-&_Zo;-p^aM=s9Ay>pl5BqO2{cCq zW~N~`Oyjc~V$Xeq`_Ij+|DF1uewuqrEwDrX+uODCzwPagpFHS)_wukU>W|#K**;MTO-B;}@$k2Gr0v=Jd@eT{R|0_4ahcCLzPLZ5tHOzd$g{N>(YT z-GqaD5d{K~ely&GNnZ4lP&`2?^dov!zJ|~Ox|wy(B%kRy44hQmwo;^n2!;XAlMmE8 z?rm2WVGwISJ%01eAW5UTtS;(G;>W~r19mJJ7K{SH_=hxEN;d}ns{@Kp4BAWZO?Q|C zBkX_%-WrmN$nb>Z1NkI@cz!PBqA~au5mA1B1{0+=u!u!MdbyG`6J=o~KW8>CkZ@n1UE4vPdFYx?>VZT^JGO=N2Sfa-b&B7%0 zBQ6O}FWK^83Qrbk`x-7wkQZo*3IJ1J7ROUSW{};)EfJ9phz&B2+E8}H+!}oYejqbc zT;mb}P6i7KhrsENC)`GFp|x9>x}uR;s}@U(@2$jCm8M-rYu}a?DXUMfc=2sFy~$Ji zT&ZCk*aShABI?6!GkBU6BAI;)L7g>RN~v0)Rb}#Ht?Y24T}1y>EO$Jm|~GdauGN$e+BEa;d7-7ev&qgq_M!h1US8KDY8kmSWa4QIaRIY~25A zoLG5V!VSO1h>&+P^um1kIOCRJm&=FiQjjwgSc3#J7Fcsd=x1@+xbfu+c!d5J&QLPP zmuXg@&Ex3M|He=D?f74NhldaOf9~aZ1Wq9#s7P6a2|faN=!}aBCoxVhK@OuUc!|nz z@CcmGsA|HG{7X>IP?CVlB)b4}NTL}|FLywJ5=ig@F&U-3hiN=`1X6U#9KGnoMN|9{ z#as&gbvp#iQjn#rCMAi^W02q!g@f?<+50n+6=?8CMyvnv;%)wa@?e#t-@5@8@|W;`$8+fBjh{$leY2!|^X$GeYumG8*CeWmwKwFzFCy zqYD^cqLC;(WMzjqoo2-xa&O)Le@T`JI+`Ys49kC2ut3}3uRotNH6p?PlrnqxhhRM33)FX~|Mu_P{q1+~;pbl*C4bZo5&D(&7h@SYvlx}ASfGN%z4&?j zi%IZs2rDuRx~lD3)zU0QZIz_K;&*V7WpreGV5wMJYb?O;A}0tffAguOa3dOtLEOvf zn~a=_Os$xig zjyKrUV|WNCBtS1Xxv(zJ7C>vV9CnOfkkC_kBX~uS$8!HMeO>O znQQ8yLZ$_4*l(Dz6M5PCjUY=hXU8U9shl~gry8qtD*PN$JQ3d?x|!`P(`Pssmw`RR=*J&iBMD&? zp|X6P*?`|782?mYf__LNZNKY)(AB+;Dz(#+**W}kE4C8LEP9d562h4U(9nJ$y0 z7nM9&XQ-X!IVY;C$_l&?ReZeQpS6}{aSws)h*;q($!~W_%~0Oa@KSCS@7NvL#oaF4 zwQZ@rqRX#b)!iSrSGK*e<*ulsn&lYYQm;TT#w+l!F5i!db@^4fXw_VijaKd6e6;HI zXJkoWL8`nb8)fN!Oq8WNSlHx(QL&YS4fY#Vd$Z4|)q{Bj$`c$x{iF6x#tHLC0Xyoh zx0o=fC^dm!9Cxl(&B8)A>nh(Z-g??*`dMPy?JoM3$YosVQ?lEZ(#LY*g5S$LVx_$6 z&tEHtpKl_%QtElMladsWpv$F$@V8l#;Pmoc9z&vO8hW4*=df}5YCB2}hATaTUrj?IU+EI1cIuhwEsLq$$S`RQ3)2i;S>GXOgmjlv*J3-;$KIq^hhLGEl0fC z_GdaQR{p;wDM#v#{d@X5yv#O(qy7AMe{bK8|G)cW?_m6J{(B#faPCm2z18k&{I8(xu#}A+I<~76lYrON%9o@-B$^ehAf7HqWrYa}2HS%HlLTt#bB;=K zM!!+fP(=jXFj%a3$Ud;&>{u5_eBt*fnX^}ePlLgq+Yn#$F8iAh> zND+#82Ii?evnCn1!qFATraXfvh07uCfJ}Po((1uw#y$q%I!nJM;400o0ldg60*lq%0C_5Tm;B-{Zf=>>hb!k<~K*B!0!X+oN1<8%5zcY+J^~AITf?=fa zasS9^RsbF&heWg^xF9vU!JK#Xk^YuNwAo@@CXvYaxI_87 zZB)fmR{O6<^pgd)rs7+OlQ-G*7AlJHMNwqM*0u@8xONRdZ7_TdQ#?gHn7vM)d|!s& zA+n|C#N7cwa}t~69G4|3nBEb-$;gX&PL^9ulxEF39^MXk&ofcl6+*hl-wL=^FZ30z zCfX|1b8u+g6)Cb5hM!jX?4`zFB&5_7i=P|UgB=L zO=t^P02q-9CeI;(EYm<^#>=NJCm3nt^f3sCq5pmdT%lz>@N0k$%1n%mvLlg-Ys-Ak zpoa9<)^@nXiQjHg&SoGKvLH)HYrhH#PeOz3YYe;FYh^BDY zl+P5zErc^HF3Y1bK_~|}_;&#c^gfv5T!(i-47@s=PQE}72_#meL1Y(*^ z3y+MZW2s$0v)Z?o&b0Quie`%Nk1CgG+wM##zepFim&sm{{32agKzfK~^KlF67wMuQ zr~iSLjA=?zJHga)5v7Ze|9!+hzR#xbQM%AYDMQm}z>SPnI1#b5R81E--zFJsw9P}# zl$Jd@2>1FBF%^IVR^EmB?^%{KxavWDk!8sdGphB$eZe6IqJj(g%hb`M9^^PBM+dzc zjZ@xaPmBN0i;sDNBTUpWxO>H>NYBoX&tIOrfAQu=v;TL1_4)m`Z-00lsw6xiOK0>J zP5B>Gk{&U!oMthP!`7o6HT1?P+5v%un-;M!=#76lZ??IM<8OX={^I?cGS{lhV{`uZ~l1$!nfRF88V;ue}4Msry-2zIQ`IrNCAkFsIBO{ zzDee5{E?ApE(Zj4{)!Z(Th0@wYk5{goRW?5eDB>_Jce^XTbRSMsRobab|A>9p>xmGl?s zqNk2t>z=P+&K1NfwAGl!O{Lebu)jzbJ@j>z$FQfy&ivpCfs1GKlSp2}+<`|_lJPfq z{hxWL?q6)B-dUUOU!?mT@a$Uv@3{9nAiL7h)cO5>`Tx;R?nbGG@#K2ES$u%BiThx? z7yaH&?}NH8j*jisYncBmdf^vvq%dx95A`Bl?3f5Qxr3rTu-^HDe={Xq%lSjq@5W|} zmtaG<&qm9&vEm>mfT{I64#*P_1iGd~Tg<<@^=zJ4P%0B=FHYXRIIlGu{IcEA7i79HPIA1Iz%_q$tA*JE|3(dfF3W*XM!Dzq`-&V0<)6zyIs83k^O zZTma#u#_}EO3$vI#x=J+O_DGH!5q?kl<{Q(#ybs!6CRyiUky%}wk!3#22z;>NW3g#bhG9WxeF7 zqr7nZO*Aq5JpQGlqG!dEqj(220166?HSU&3#Q66kk&{eA)M9wxSxt_>_!f$Th1huS zY3AB$1%>TzdoL2!P$KFpH~NijB{zh|FgXGr6cX*4&cq(qDu<{3h}DsAqRbjFnxR!H z02Oyn-aj(oB@oYl!eqvm{nsiY^ol67P|_oQ-@;)(l2^kfKwSrW4bx?FAmHE71nhq2 zru0n2mtK)VBev-T%$MvB#~>8ZtAqJcURjT%_O|1yt-t zFe3BZLl;_Xm@Exzj23>DDUPusAJ(y;d}FE6+&lj~qf<~|b?ez`1p5jI5={uYvdtjS zftFQ7L9=w>|1B4Noi1kCU^fnTn&eD?x{s)9QZHnb)8^4gH!>;FXM$x_M2kWJfHKq5sgwqr*4p z5DU3SX_imtAyaSjAV=roNKZ<;e+N$<@_*dR)A#-#u&(so#T7si8|V)109ue6mjHoziSLhg50E#%|3yHXUGAHJ z4W`mR&zCt`_q2vR-Xj~Xjeg66H@J`EYwCc1!)Tt)xX)$`T#d8&8qEag0j%`x!gGk` zS$c+AF8&!g%Z_4Jq14ajSEEC#uQygv=RPcHkfAqcgZwxX8QIQ!ZVNUcdJ4DOQDQ={ zkIWjklKiBo?Xiyv(|N)m;)_1-(6l>qcJ;CLvMn4cil(wxAW{{nM}q@*wqcz2+9n#e z?qo;Za=$otyCl#-V@p4r5>!lKgl<0F=yOB}9%Hb|clDI!7cZ>sae@fiVz_pIvsK%T zecY8c=opdxy+phWy|S6t!+8I>wV#K_(En#yfq$c0`Q&|`#qVK7vND2eZwET^KaBUD z?%MhPp6nky=>PZed@1_>_iE^!X7RBac$?k~bfNh(?F>A;=(kPiWMp&C(9L`Lr!Y84 z#22tcKdQr7?JBmYPpLG#l0L1w@u(l~7R1vM_h#gr#q(-H_nm~{^sS8LravwRwAb)s zYgzYp$9=WR`%oRk)HU0=AeHfYz1I)Ucvr1XMLiByB*xUqd1qM8%sVdTPr&Yui_sIX z?`|63PMje^XHL0#3&qW5t)ajecu5N6&)ojq*{Ek1>LHfrdNr?J;Tt z(2Z7`E1N)9k82OQy1@D#RxQ2K!%3>&Li`$$0!N=~C2leQ$zZ1DuDY?{ad~-i`tBXU z3I2@*kvv63gi-=8Q6Kr-Pa^v;9375*LRPh5Vm0C>i1I3!fWvX~CaTt`*Jz#<%R6pY z3zDO!w`tm(0SqSKsjqb>+57^h{nUf?JLi5{Ejx4vv@_sgEu%hr?&tghj_5vNtGzCt6vqox zz)Pgf3Jo5Mg>rb%ae=PqGO8xhj@G{I2h-u5J%;^Hq^a0!^xsbV-_zZvcKqLirw{Re z@8|ha?0+KR%%<&qHrPLteNVK#pFOX^sHXj{$xDa5Zo~I81y0Yk`|q=|{q`pJ81LZ% z(4lU6ZD4}FR-4yzT=q12{j9~>;t7Ks7c@Olefm(sO;nU?$7w8`mYpQ|11-5p;}=3Z z3LB}Nj(9dFw$$)cPQ9xeDVmN(d~TZBM+c9%HOpfFD^KlHpoAy~bNnOQE> ztC*E7q8#4yqQu)OL2`3$Rnqt91uf>k{?H^^=?{Nx@x|}Eb(O$&465rp8gvl07@9vh zT5sO>rOHejp=?%}T(U_ZB*(3I zQ#)8gmDqqX%9SpAN$XQzww^94M|nLO*8s(Wuyxw4|1eR>k z2E6vG^H*oB7NgT5Tj2Os5xLh`l}V!3WctUEWB=A#u~b|;;(rbuwLOa<z45I0#M`!t)td8pW#j*VJFwMg$Ugq=IpjH^7A3BDpFIqh>($DU6#~q+Ydl!*o zA9TI-biJ0voh}<|*inqo6G@wM8%fHu97Ww~A_voAF(64v2bT^`05=UF9bi_swdjZ` zDsLbLTYpmPYFiuzj}FynT0NWFtR8I<7;Y1s^_FC8()iMEtUcWQ`eGl$|074m9G4~S z?)SfD7n||}>G1zJJUo12`F|Wf89&5-xR>Wk@&7ojhu(i@7n^ni@j(AGd4rfN=;svT zV_VZV#LHlYxm{t1(r9eQr%&4(6W^c5}%UB;R1 zmxrV4Ri1?eyJFZngQ z@a;*y&$27AANlX>!rF@rVMVf`w)D52^U?{o%HBkyYQ5Voen8!(zgFqQL)MkYX>7#= z-fR|ofySRDS^5WA^Wl#zS#B>QZYPu4B#X1ou3()E5!IU6HryrziKGeeuSHAq!jhu@xZg7$zu9#%4Td#y{w3CH`9yC$k-iql2+Ba#tUrlnuSyM|o z$>wvI#$C68Yjvil4zh~wv4YOAx~{RBjKDxl^sGQL?d>Hjpsc3^*VMep; zIt9bGVDjYf8TeZC*Vjx>us+do{dH#+WIw0m<(52)&rnnqm@H4Sl%S9PjZ5?9wnO)9 zfD2)gWY?z!Uf={>q8DWZ6Lu9<<}EXTcrY~>AMFO{WDJPOqce_DRXbi0D?Ij{7kd|&>npQ_2ure!m z038gi+-G1d)*rJ0cDH=zIBIjV#aK9ryvXVfmB!12|aG+b^J%jZXi7cE-~`-@y4AJ_3FN zKtK0+^*AyCXy%QOE5h~-Is=*IG3!VmC=wN(RnsZ{=*`&Og?0zHicn?whXpDM9HXOQ zJ8cc3-e{HG2^uy)R5Ou+i)%(Q!avLIAzws2J&V^S8e(U>ty|3J zGm;hXl71>TkrKv#r&hzWVz!rCO>rIH1O!7zRuT4Xlk=z4a60CXMUo?t=UD_3^grL8 zZCKbCbe)|Xzj`sGNc^PXk3&&s7|~ZlpEP2_Qpx4JA$ZtA=!4{0Rr0tNy<3T&mMx|+ z*N=|q>|5dPV~xZJK&-)Rah_lQ)}w}J2dqiVhW3T#{x6F+9sBPuo%_H2y{CJ2{=b9q zlf8%i-+eq^%>FNnH@?}^K>n$Ac3IqW8>chKv1c>*NB@)o%-2!o{0@?|7|`-#wd!#0 ze0>bY1ne4$PmUry#rzI)Ym&D@W=Gi9)dB%?|4*h4e1U1Vd;8VUH#;3kxeI?Ve*dng zF(cSTL`1H$;_3^S6zpl887WSjbK{&U%T8%*Fwty^PHeI4!J{`>>cl19KZt`rtT<3(U_D`Q9LJcF29p!zR)*lEN(fL*|ryyB2Z?jgQ>(gKF?iu&hPdb$Shp`1tgty8wMK?KA&p z`V3hdzzGNvc!82KXe|uD6r&`5i>B>BwX!_S_8bvN85nXbtn!E3F9hG*_Hw7KAbPYz zc~{Qbrb%~nHWhT){lBFcYq@P#U$0}+Az%r`31ly{K@@!YtRmTz%m3CQc~Rf%T16hK z%W`eUAL@!$J1;!y8Dp}*v*r1b3JK7eM!wUOB5NzcGa zYBe(mv@vzYO}dR{s;z2FqEjvEwoBW}OOd&(thXl3myQ*QzA^k-Rz;%wh_G|@MhO^2 zs4QP+^!r-`;F^^z`J)(dHnMb5S68b;pbN3$aP`+={-FWgNJ- zsB5hpUhCFt6ys_RTH;gV-_R>O$HcdE)CvFjTShU5duLI2gOe>o4of*B25_)xw>VCqCHxymZ;>NG$)*joT}{l5H(!zI z`iwP@wE>J{b|9iV#s3Tz0?bb3GETZvQewct@MCSQ!b5E$^QqUsIveic7H72tm z!+EE4?ltL@CC(Y3;5jZ(M5rk5ZjpfYCo^2SqJcGogsBdFFkn6yFdqzGI4ejgQ@pstzU|i`ik*u|25>I2} zq_kR>>Li>|ZpuSQde*6ctM5-P3I61O$S+ z+ScS)>%YM0KWqO&w=U!FaNxd-BU9%H_+QKh=l(=}-5Whcz23jKbOdVRv;@0rZfo&8 z%)0ur;i~B0By~w{6Hc48%qVG_&P*^~J6dfkR||qsQ?yf^JGZY9%Cc62)y-?V9C0rW zR{V`xnzUs#adOq)>8|RnxlDi|y5*SgGm8xhtwMKlT6YUP5jqs$9i1vYS&XxV&6prf zhBLAJxmmr+M$EDKT7U7+I?0Jo^=AP^A zt!>!-?|&Kh|3tpUP2U0R$p5l`c+j~2_jG^!aR2Wv9NqUt*9XRdI_7*GChWMvgmeu1kXeT9lf^bdbYmKgup z_}N&WxV>7=0r=W3zBXH5m+B#2wAK?<@8}l9wsh08v5|8a&h^ip8(}?&WZPXonJht* zO{IszFZ}YSCa28V+{dKNbM=4PNkq$*O6h7Z0tX?-ipl2=x1l+ZCCEeBS4eVfHb z;R?1R&-RXQ>2%a}9NLx?{e8jL!`g?Woocgx@!;o_np4 zP$nQaKRLC09`gi8n9%p0E2BPflnbaw9Of$6zCS-dT~YWcY^?6;=+0JK5Dau@E8=_i z{PxVGb=}zbmoHaRKZwgsi%Z%0K4~Tg&HA$JI88Ic(mZTHA@^qpsj*l^~JX_@n#@wbka>g3W%ooDijII!>j576)7U93~?qcn?nCD%V>t!b|jb) zl9$SL1l*Cd^lE=SmQcdd)7lTfx z6P-MdYlqn#mjU76C4X>n_U3DD!ZuJ=y}e=^YA=84^Q9c{|f*B|Nq!>UvB_} F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/overseerr/1.6.3/ix_values.yaml b/stable/overseerr/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..ccd9749b2c5 --- /dev/null +++ b/stable/overseerr/1.6.3/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/stable/overseerr/1.6.3/questions.yaml b/stable/overseerr/1.6.3/questions.yaml new file mode 100644 index 00000000000..19173b17778 --- /dev/null +++ b/stable/overseerr/1.6.3/questions.yaml @@ -0,0 +1,692 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/overseerr/1.6.3/templates/common.yaml b/stable/overseerr/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/overseerr/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/overseerr/1.6.3/test_values.yaml b/stable/overseerr/1.6.3/test_values.yaml new file mode 100644 index 00000000000..6a215efde35 --- /dev/null +++ b/stable/overseerr/1.6.3/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/stable/overseerr/1.6.3/values.yaml b/stable/overseerr/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/owncast/1.6.3/CONFIG.md b/stable/owncast/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/owncast/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/owncast/1.6.3/Chart.lock b/stable/owncast/1.6.3/Chart.lock new file mode 100644 index 00000000000..706aa7d0a36 --- /dev/null +++ b/stable/owncast/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:39:24.906659973Z" diff --git a/stable/owncast/1.6.3/Chart.yaml b/stable/owncast/1.6.3/Chart.yaml new file mode 100644 index 00000000000..69d733258e2 --- /dev/null +++ b/stable/owncast/1.6.3/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/owncast/1.6.3/README.md b/stable/owncast/1.6.3/README.md new file mode 100644 index 00000000000..bf11633f252 --- /dev/null +++ b/stable/owncast/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/owncast/1.6.3/app-readme.md b/stable/owncast/1.6.3/app-readme.md new file mode 100644 index 00000000000..317ffddbe25 --- /dev/null +++ b/stable/owncast/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +Take control over your live stream video by running it yourself. Streaming + chat out of the box. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Take control over your live stream video by running it yourself. Streaming diff --git a/stable/owncast/1.6.3/charts/common-6.10.7.tgz b/stable/owncast/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/owncast/1.6.3/ix_values.yaml b/stable/owncast/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..754d0aacc8e --- /dev/null +++ b/stable/owncast/1.6.3/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.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/stable/owncast/1.6.3/questions.yaml b/stable/owncast/1.6.3/questions.yaml new file mode 100644 index 00000000000..4c32b0fb18f --- /dev/null +++ b/stable/owncast/1.6.3/questions.yaml @@ -0,0 +1,783 @@ +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 + - 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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/owncast/1.6.3/templates/common.yaml b/stable/owncast/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/owncast/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/owncast/1.6.3/test_values.yaml b/stable/owncast/1.6.3/test_values.yaml new file mode 100644 index 00000000000..26ab8c8a136 --- /dev/null +++ b/stable/owncast/1.6.3/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.8 + # -- 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/stable/owncast/1.6.3/values.yaml b/stable/owncast/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/owncloud-ocis/1.6.3/CONFIG.md b/stable/owncloud-ocis/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/owncloud-ocis/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/owncloud-ocis/1.6.3/Chart.lock b/stable/owncloud-ocis/1.6.3/Chart.lock new file mode 100644 index 00000000000..01bf113bb63 --- /dev/null +++ b/stable/owncloud-ocis/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:39:28.826344117Z" diff --git a/stable/owncloud-ocis/1.6.3/Chart.yaml b/stable/owncloud-ocis/1.6.3/Chart.yaml new file mode 100644 index 00000000000..a509db4abe3 --- /dev/null +++ b/stable/owncloud-ocis/1.6.3/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/owncloud-ocis/1.6.3/README.md b/stable/owncloud-ocis/1.6.3/README.md new file mode 100644 index 00000000000..bd9a1445bac --- /dev/null +++ b/stable/owncloud-ocis/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/owncloud-ocis/1.6.3/app-readme.md b/stable/owncloud-ocis/1.6.3/app-readme.md new file mode 100644 index 00000000000..35e2f816a81 --- /dev/null +++ b/stable/owncloud-ocis/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +ownCloud Infinite Scale is a self-hosted file sync and share server. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +ownCloud Infinite Scale is a self-hosted file sync and share server. diff --git a/stable/owncloud-ocis/1.6.3/charts/common-6.10.7.tgz b/stable/owncloud-ocis/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/owncloud-ocis/1.6.3/ix_values.yaml b/stable/owncloud-ocis/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..271e8b86768 --- /dev/null +++ b/stable/owncloud-ocis/1.6.3/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.10.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/owncloud-ocis/1.6.3/questions.yaml b/stable/owncloud-ocis/1.6.3/questions.yaml new file mode 100644 index 00000000000..557ee4097c5 --- /dev/null +++ b/stable/owncloud-ocis/1.6.3/questions.yaml @@ -0,0 +1,686 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/owncloud-ocis/1.6.3/templates/common.yaml b/stable/owncloud-ocis/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/owncloud-ocis/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/owncloud-ocis/1.6.3/test_values.yaml b/stable/owncloud-ocis/1.6.3/test_values.yaml new file mode 100644 index 00000000000..dc5762ddd9e --- /dev/null +++ b/stable/owncloud-ocis/1.6.3/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.10.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/stable/owncloud-ocis/1.6.3/values.yaml b/stable/owncloud-ocis/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/pgadmin/1.5.3/CONFIG.md b/stable/pgadmin/1.5.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/pgadmin/1.5.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/pgadmin/1.5.3/Chart.lock b/stable/pgadmin/1.5.3/Chart.lock new file mode 100644 index 00000000000..c64cd74b3ac --- /dev/null +++ b/stable/pgadmin/1.5.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:39:32.750457947Z" diff --git a/stable/pgadmin/1.5.3/Chart.yaml b/stable/pgadmin/1.5.3/Chart.yaml new file mode 100644 index 00000000000..6f5c347679e --- /dev/null +++ b/stable/pgadmin/1.5.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +deprecated: false +description: Web-Based postgresql database management utility +home: https://github.com/truecharts/apps/tree/master/charts/stable/pgadmin +icon: https://www.postgresql.org/message-id/attachment/1139/pgAdmin.svg +keywords: +- pgadmin +- db +- database +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: pgadmin +sources: +- https://www.pgadmin.org/ +type: application +version: 1.5.3 diff --git a/stable/pgadmin/1.5.3/README.md b/stable/pgadmin/1.5.3/README.md new file mode 100644 index 00000000000..e0095370efa --- /dev/null +++ b/stable/pgadmin/1.5.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 1.5.2](https://img.shields.io/badge/Version-1.5.2-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) + +Web-Based postgresql database management utility + +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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/pgadmin/1.5.3/app-readme.md b/stable/pgadmin/1.5.3/app-readme.md new file mode 100644 index 00000000000..65e9f45aba4 --- /dev/null +++ b/stable/pgadmin/1.5.3/app-readme.md @@ -0,0 +1,4 @@ +Web-Based postgresql database management utility + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Web-Based postgresql database management utility diff --git a/stable/pgadmin/1.5.3/charts/common-6.10.7.tgz b/stable/pgadmin/1.5.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/pgadmin/1.5.3/ix_values.yaml b/stable/pgadmin/1.5.3/ix_values.yaml new file mode 100644 index 00000000000..1afaaefeb90 --- /dev/null +++ b/stable/pgadmin/1.5.3/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: dpage/pgadmin4 + pullPolicy: IfNotPresent + tag: "5.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/pgadmin/1.5.3/questions.yaml b/stable/pgadmin/1.5.3/questions.yaml new file mode 100644 index 00000000000..b390c435f4b --- /dev/null +++ b/stable/pgadmin/1.5.3/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" +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: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 5050 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 5050 + - variable: PGADMIN_DEFAULT_EMAIL + label: "PGADMIN_DEFAULT_EMAIL" + schema: + type: string + required: true + default: "" + - variable: PGADMIN_DEFAULT_PASSWORD + label: "PGADMIN_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: 36093 + + + - 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/lib/pgadmin" + 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: true + + - 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: 5050 + - variable: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/pgadmin/1.5.3/templates/common.yaml b/stable/pgadmin/1.5.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/pgadmin/1.5.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/pgadmin/1.5.3/test_values.yaml b/stable/pgadmin/1.5.3/test_values.yaml new file mode 100644 index 00000000000..bf1b9d135ae --- /dev/null +++ b/stable/pgadmin/1.5.3/test_values.yaml @@ -0,0 +1,28 @@ +# Default values for Jackett. + +image: + repository: dpage/pgadmin4 + pullPolicy: IfNotPresent + tag: "5.6" + +strategy: + type: Recreate + +service: + main: + enabled: true + ports: + main: + port: 80 + +env: + PGADMIN_DEFAULT_EMAIL: "replace@this.now" + PGADMIN_DEFAULT_PASSWORD: "changeme" + +persistence: + config: + enabled: true + mountPath: "/var/lib/pgadmin" + type: pvc + accessMode: ReadWriteOnce + size: "100Gi" diff --git a/stable/pgadmin/1.5.3/values.yaml b/stable/pgadmin/1.5.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/photoprism/1.6.3/CONFIG.md b/stable/photoprism/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/photoprism/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/photoprism/1.6.3/Chart.lock b/stable/photoprism/1.6.3/Chart.lock new file mode 100644 index 00000000000..ba146337c40 --- /dev/null +++ b/stable/photoprism/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:39:36.769434774Z" diff --git a/stable/photoprism/1.6.3/Chart.yaml b/stable/photoprism/1.6.3/Chart.yaml new file mode 100644 index 00000000000..2a8ec0f6e6a --- /dev/null +++ b/stable/photoprism/1.6.3/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/photoprism/1.6.3/README.md b/stable/photoprism/1.6.3/README.md new file mode 100644 index 00000000000..4f6b5875139 --- /dev/null +++ b/stable/photoprism/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/photoprism/1.6.3/app-readme.md b/stable/photoprism/1.6.3/app-readme.md new file mode 100644 index 00000000000..8895178de5c --- /dev/null +++ b/stable/photoprism/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +PhotoPrism® is a server-based application for browsing, organizing and sharing your personal photo collection + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +"PhotoPrism\xC2\xAE is a server-based application for browsing, organizing\ diff --git a/stable/photoprism/1.6.3/charts/common-6.10.7.tgz b/stable/photoprism/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/photoprism/1.6.3/ix_values.yaml b/stable/photoprism/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..53f7564cc33 --- /dev/null +++ b/stable/photoprism/1.6.3/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/stable/photoprism/1.6.3/questions.yaml b/stable/photoprism/1.6.3/questions.yaml new file mode 100644 index 00000000000..483bb53387d --- /dev/null +++ b/stable/photoprism/1.6.3/questions.yaml @@ -0,0 +1,723 @@ +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: "/photoprism/storage" + - variable: PHOTOPRISM_ORIGINALS_PATH + label: "PHOTOPRISM_ORIGINALS_PATH" + description: "Photoprism originals path" + schema: + type: string + default: "/photoprism/originals" + - 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: 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: 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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/photoprism/1.6.3/templates/common.yaml b/stable/photoprism/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/photoprism/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/photoprism/1.6.3/test_values.yaml b/stable/photoprism/1.6.3/test_values.yaml new file mode 100644 index 00000000000..f0de5b3e694 --- /dev/null +++ b/stable/photoprism/1.6.3/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/stable/photoprism/1.6.3/values.yaml b/stable/photoprism/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/phpldapadmin/1.5.3/CONFIG.md b/stable/phpldapadmin/1.5.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/phpldapadmin/1.5.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/phpldapadmin/1.5.3/Chart.lock b/stable/phpldapadmin/1.5.3/Chart.lock new file mode 100644 index 00000000000..1e0d7cb6c46 --- /dev/null +++ b/stable/phpldapadmin/1.5.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:39:40.687145489Z" diff --git a/stable/phpldapadmin/1.5.3/Chart.yaml b/stable/phpldapadmin/1.5.3/Chart.yaml new file mode 100644 index 00000000000..da2a6de777e --- /dev/null +++ b/stable/phpldapadmin/1.5.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +deprecated: false +description: Web-based LDAP browser to manage your LDAP server +home: https://github.com/truecharts/apps/tree/master/charts/stable/phpldapadmin +icon: https://repository-images.githubusercontent.com/3665191/dd213f80-766c-11e9-8117-6b639095ef99 +keywords: +- phpldapadmin +- openldap +- userrights +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: phpldapadmin +sources: +- https://gitlab.v2.rancher.geohub.space/g3s/i3s/i3s-helm-catalog +type: application +version: 1.5.3 diff --git a/stable/phpldapadmin/1.5.3/README.md b/stable/phpldapadmin/1.5.3/README.md new file mode 100644 index 00000000000..35effdf549b --- /dev/null +++ b/stable/phpldapadmin/1.5.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 1.5.2](https://img.shields.io/badge/Version-1.5.2-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) + +Web-based LDAP browser to manage your LDAP 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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/phpldapadmin/1.5.3/app-readme.md b/stable/phpldapadmin/1.5.3/app-readme.md new file mode 100644 index 00000000000..48ee3d8cdf1 --- /dev/null +++ b/stable/phpldapadmin/1.5.3/app-readme.md @@ -0,0 +1,4 @@ +Web-based LDAP browser to manage your LDAP server + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Web-based LDAP browser to manage your LDAP server diff --git a/stable/phpldapadmin/1.5.3/charts/common-6.10.7.tgz b/stable/phpldapadmin/1.5.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/phpldapadmin/1.5.3/ix_values.yaml b/stable/phpldapadmin/1.5.3/ix_values.yaml new file mode 100644 index 00000000000..40bc13dfe12 --- /dev/null +++ b/stable/phpldapadmin/1.5.3/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: osixia/phpldapadmin + pullPolicy: IfNotPresent + tag: "0.9.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/phpldapadmin/1.5.3/questions.yaml b/stable/phpldapadmin/1.5.3/questions.yaml new file mode 100644 index 00000000000..72b366e0edc --- /dev/null +++ b/stable/phpldapadmin/1.5.3/questions.yaml @@ -0,0 +1,583 @@ +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: PHPLDAPADMIN_HTTPS + label: "PHPLDAPADMIN_HTTPS" + schema: + type: string + required: true + default: "false" + - variable: PHPLDAPADMIN_TRUST_PROXY_SSL + label: "PHPLDAPADMIN_TRUST_PROXY_SSL" + schema: + type: string + required: true + default: "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: 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: 36093 + + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/phpldapadmin/1.5.3/templates/common.yaml b/stable/phpldapadmin/1.5.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/phpldapadmin/1.5.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/phpldapadmin/1.5.3/test_values.yaml b/stable/phpldapadmin/1.5.3/test_values.yaml new file mode 100644 index 00000000000..99345a76f15 --- /dev/null +++ b/stable/phpldapadmin/1.5.3/test_values.yaml @@ -0,0 +1,21 @@ +# Default values for Jackett. + +image: + repository: osixia/phpldapadmin + pullPolicy: IfNotPresent + tag: "0.9.0" + +strategy: + type: Recreate + + +service: + main: + enabled: true + ports: + main: + port: 80 + +env: + PHPLDAPADMIN_HTTPS: "false" + PHPLDAPADMIN_TRUST_PROXY_SSL: "true" diff --git a/stable/phpldapadmin/1.5.3/values.yaml b/stable/phpldapadmin/1.5.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/piaware/1.6.3/CONFIG.md b/stable/piaware/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/piaware/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/piaware/1.6.3/Chart.lock b/stable/piaware/1.6.3/Chart.lock new file mode 100644 index 00000000000..f24bb026cec --- /dev/null +++ b/stable/piaware/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:39:44.545845164Z" diff --git a/stable/piaware/1.6.3/Chart.yaml b/stable/piaware/1.6.3/Chart.yaml new file mode 100644 index 00000000000..f052c7ed383 --- /dev/null +++ b/stable/piaware/1.6.3/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/piaware/1.6.3/README.md b/stable/piaware/1.6.3/README.md new file mode 100644 index 00000000000..06fc95bf984 --- /dev/null +++ b/stable/piaware/1.6.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/piaware/1.6.3/app-readme.md b/stable/piaware/1.6.3/app-readme.md new file mode 100644 index 00000000000..37ccf6c1fb5 --- /dev/null +++ b/stable/piaware/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +Program for forwarding ADS-B data to FlightAware + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Program for forwarding ADS-B data to FlightAware diff --git a/stable/piaware/1.6.3/charts/common-6.10.7.tgz b/stable/piaware/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/piaware/1.6.3/ci/ct-values.yaml b/stable/piaware/1.6.3/ci/ct-values.yaml new file mode 100644 index 00000000000..3d1d3eb62f5 --- /dev/null +++ b/stable/piaware/1.6.3/ci/ct-values.yaml @@ -0,0 +1,3 @@ +env: + LAT: "29.9792" + LONG: "31.1342" diff --git a/stable/piaware/1.6.3/ix_values.yaml b/stable/piaware/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..be2e353346b --- /dev/null +++ b/stable/piaware/1.6.3/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/stable/piaware/1.6.3/questions.yaml b/stable/piaware/1.6.3/questions.yaml new file mode 100644 index 00000000000..bf4cc363d89 --- /dev/null +++ b/stable/piaware/1.6.3/questions.yaml @@ -0,0 +1,726 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/stable/piaware/1.6.3/templates/common.yaml b/stable/piaware/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/piaware/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/piaware/1.6.3/test_values.yaml b/stable/piaware/1.6.3/test_values.yaml new file mode 100644 index 00000000000..4b05cb70de5 --- /dev/null +++ b/stable/piaware/1.6.3/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/stable/piaware/1.6.3/values.yaml b/stable/piaware/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/plex/5.8.3/CONFIG.md b/stable/plex/5.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/plex/5.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/plex/5.8.3/Chart.lock new file mode 100644 index 00000000000..3f7205f99a2 --- /dev/null +++ b/stable/plex/5.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:39:48.459282172Z" diff --git a/stable/plex/5.8.3/Chart.yaml b/stable/plex/5.8.3/Chart.yaml new file mode 100644 index 00000000000..354cc230205 --- /dev/null +++ b/stable/plex/5.8.3/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/plex/5.8.3/README.md b/stable/plex/5.8.3/README.md new file mode 100644 index 00000000000..80364808383 --- /dev/null +++ b/stable/plex/5.8.3/README.md @@ -0,0 +1,38 @@ +# Introduction + +![Version: 5.8.2](https://img.shields.io/badge/Version-5.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/plex/5.8.3/app-readme.md new file mode 100644 index 00000000000..f23536e413c --- /dev/null +++ b/stable/plex/5.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/plex/5.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/plex/5.8.3/ix_values.yaml b/stable/plex/5.8.3/ix_values.yaml new file mode 100644 index 00000000000..f5d37e31294 --- /dev/null +++ b/stable/plex/5.8.3/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/plex + pullPolicy: IfNotPresent + tag: v1.24.1.4931-1a38e63c6 + +## +# 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.8.3/questions.yaml b/stable/plex/5.8.3/questions.yaml new file mode 100644 index 00000000000..02735e784e5 --- /dev/null +++ b/stable/plex/5.8.3/questions.yaml @@ -0,0 +1,714 @@ +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,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16" + - variable: PLEX_CLAIM + label: "Plex Claim Token" + description: "Claim token to use to register the plex server (Max. 4 minutes old!)" + 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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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.8.3/templates/common.yaml b/stable/plex/5.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/plex/5.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/plex/5.8.3/test_values.yaml b/stable/plex/5.8.3/test_values.yaml new file mode 100644 index 00000000000..7f49de5bf44 --- /dev/null +++ b/stable/plex/5.8.3/test_values.yaml @@ -0,0 +1,32 @@ +# Default values for Plex. + +image: + repository: ghcr.io/k8s-at-home/plex + pullPolicy: IfNotPresent + tag: v1.24.1.4931-1a38e63c6 + +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.8.3/values.yaml b/stable/plex/5.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/podgrab/4.8.3/CONFIG.md b/stable/podgrab/4.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/podgrab/4.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/podgrab/4.8.3/Chart.lock b/stable/podgrab/4.8.3/Chart.lock new file mode 100644 index 00000000000..8c136e11c5f --- /dev/null +++ b/stable/podgrab/4.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:39:52.388846649Z" diff --git a/stable/podgrab/4.8.3/Chart.yaml b/stable/podgrab/4.8.3/Chart.yaml new file mode 100644 index 00000000000..212e91bc996 --- /dev/null +++ b/stable/podgrab/4.8.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Podcasts_%28iOS%29.svg/1024px-Podcasts_%28iOS%29.svg.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.8.3 diff --git a/stable/podgrab/4.8.3/README.md b/stable/podgrab/4.8.3/README.md new file mode 100644 index 00000000000..8c839005510 --- /dev/null +++ b/stable/podgrab/4.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 4.8.2](https://img.shields.io/badge/Version-4.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/podgrab/4.8.3/app-readme.md b/stable/podgrab/4.8.3/app-readme.md new file mode 100644 index 00000000000..83198f07f8d --- /dev/null +++ b/stable/podgrab/4.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/podgrab/4.8.3/charts/common-6.10.7.tgz b/stable/podgrab/4.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/podgrab/4.8.3/ix_values.yaml b/stable/podgrab/4.8.3/ix_values.yaml new file mode 100644 index 00000000000..30b72ab29c1 --- /dev/null +++ b/stable/podgrab/4.8.3/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/stable/podgrab/4.8.3/questions.yaml b/stable/podgrab/4.8.3/questions.yaml new file mode 100644 index 00000000000..c1995220371 --- /dev/null +++ b/stable/podgrab/4.8.3/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" +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/podgrab/4.8.3/templates/common.yaml b/stable/podgrab/4.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/podgrab/4.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/podgrab/4.8.3/test_values.yaml b/stable/podgrab/4.8.3/test_values.yaml new file mode 100644 index 00000000000..b0e9dc7d774 --- /dev/null +++ b/stable/podgrab/4.8.3/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/stable/podgrab/4.8.3/values.yaml b/stable/podgrab/4.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/postgresql/1.2.4/CONFIG.md b/stable/postgresql/1.2.4/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/postgresql/1.2.4/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/postgresql/1.2.4/Chart.lock b/stable/postgresql/1.2.4/Chart.lock new file mode 100644 index 00000000000..faef51ef03e --- /dev/null +++ b/stable/postgresql/1.2.4/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:39:56.365577947Z" diff --git a/stable/postgresql/1.2.4/Chart.yaml b/stable/postgresql/1.2.4/Chart.yaml new file mode 100644 index 00000000000..b903ec19300 --- /dev/null +++ b/stable/postgresql/1.2.4/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +deprecated: false +description: PostgresSQL +home: https://github.com/truecharts/apps/tree/master/stable/postgres +icon: https://d1q6f0aelx0por.cloudfront.net/product-logos/library-postgres-logo.png +keywords: +- postgres +- postgressql +- dtabase +- sql +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: postgresql +sources: +- https://www.postgresql.org/ +type: application +version: 1.2.4 diff --git a/stable/postgresql/1.2.4/README.md b/stable/postgresql/1.2.4/README.md new file mode 100644 index 00000000000..76d131db5be --- /dev/null +++ b/stable/postgresql/1.2.4/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 1.2.3](https://img.shields.io/badge/Version-1.2.3-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) + +PostgresSQL + +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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/postgresql/1.2.4/app-readme.md b/stable/postgresql/1.2.4/app-readme.md new file mode 100644 index 00000000000..8a0f12eb322 --- /dev/null +++ b/stable/postgresql/1.2.4/app-readme.md @@ -0,0 +1,4 @@ +PostgresSQL + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +PostgresSQL diff --git a/stable/postgresql/1.2.4/charts/common-6.10.7.tgz b/stable/postgresql/1.2.4/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/postgresql/1.2.4/ix_values.yaml b/stable/postgresql/1.2.4/ix_values.yaml new file mode 100644 index 00000000000..d0916814ae0 --- /dev/null +++ b/stable/postgresql/1.2.4/ix_values.yaml @@ -0,0 +1,28 @@ +## +# 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: postgres + pullPolicy: IfNotPresent + tag: "13.4" + + +envValueFrom: + POSTGRES_PASSWORD: + secretKeyRef: + name: '{{ .Values.existingSecret | default ( include "common.names.fullname" . ) }}' + key: "postgresql-password" + +envTpl: + POSTGRES_USER: "{{ .Values.postgresqlUsername }}" + POSTGRES_DB: "{{ .Values.postgresqlDatabase }}" +# POSTGRESQL_POSTGRES_PASSWORD: "{{ .Values.postgrespassword }}" +# POSTGRESQL_PASSWORD: "{{ .Values.password }}" + +## +# 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/postgresql/1.2.4/questions.yaml b/stable/postgresql/1.2.4/questions.yaml new file mode 100644 index 00000000000..eec096f3dd0 --- /dev/null +++ b/stable/postgresql/1.2.4/questions.yaml @@ -0,0 +1,650 @@ +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" + + # 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: postgresqlDatabase + group: "App Configuration" + label: "Database Name" + schema: + type: string + default: "mydatabase" + required: true + - variable: postgresqlUsername + group: "App Configuration" + label: "Database User" + schema: + type: string + default: "mydatabaseuser" + required: true + - variable: postgresqlPassword + group: "App Configuration" + label: "Database Password" + schema: + type: string + default: "" + required: true + + - 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: "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: 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: 5432 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5432 + 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 + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: db + label: "App db Storage" + description: "Stores the Application Database." + 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/lib/postgresql/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: dbbackups + label: "App backup Storage" + description: "Stores the Application 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: "/dbbackups" + 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/postgresql/1.2.4/templates/backup-postgres-config.yaml b/stable/postgresql/1.2.4/templates/backup-postgres-config.yaml new file mode 100644 index 00000000000..e52eb2ed5a1 --- /dev/null +++ b/stable/postgresql/1.2.4/templates/backup-postgres-config.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: "postgres-backup-hook-config-map" + annotations: + rollme: {{ randAlphaNum 5 | quote }} +data: + entrypoint.sh: |- + #!/bin/sh + cmd="/docker-entrypoint.sh postgres" + eval "${cmd}" & disown; + until pg_isready; do + sleep 5; + done; + pg_dump -U {{ .Values.postgresqlUser }} -d {{ .Values.postgresqlDatabase }} > /dbbackups/$BACKUP_NAME; diff --git a/stable/postgresql/1.2.4/templates/common.yaml b/stable/postgresql/1.2.4/templates/common.yaml new file mode 100644 index 00000000000..9705d4f5fa6 --- /dev/null +++ b/stable/postgresql/1.2.4/templates/common.yaml @@ -0,0 +1,2 @@ + +{{ include "common.all" . }} diff --git a/stable/postgresql/1.2.4/templates/secret.yaml b/stable/postgresql/1.2.4/templates/secret.yaml new file mode 100644 index 00000000000..be7022c005f --- /dev/null +++ b/stable/postgresql/1.2.4/templates/secret.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "common.names.fullname" . }} + labels: + {{- include "common.labels" . | nindent 4 }} + annotations: + {{- with .Values.annotations }} + {{- toYaml . | nindent 4 }} + {{- end }} +type: Opaque +data: + postgresql-password: {{ ( .Values.postgresqlPassword | default "empty" ) | b64enc | quote }} diff --git a/stable/postgresql/1.2.4/templates/upgrade-backup-postgres-hook.yaml b/stable/postgresql/1.2.4/templates/upgrade-backup-postgres-hook.yaml new file mode 100644 index 00000000000..516ee5180a6 --- /dev/null +++ b/stable/postgresql/1.2.4/templates/upgrade-backup-postgres-hook.yaml @@ -0,0 +1,56 @@ +{{- if and ( .Values.enableUpgradeBackup ) ( .Values.ixChartContext ) -}} +{{- if .Values.ixChartContext.isUpgrade -}} +{{- $upgradeDict := .Values.ixChartContext.upgradeMetadata -}} +{{ $values := (. | mustDeepCopy) }} +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: "pre-upgrade-hook2" + annotations: + "helm.sh/hook": pre-upgrade + "helm.sh/hook-weight": "1" + "helm.sh/hook-delete-policy": hook-succeeded + rollme: {{ randAlphaNum 5 | quote }} +spec: + template: + metadata: + name: "pre-upgrade-hook2" + spec: + restartPolicy: Never + containers: + - name: {{ .Chart.Name }}-postgres-backup + image: {{ printf "%v:%v" .Values.image.repository .Values.image.tag}} + imagePullPolicy: {{ .Values.image.pullPolicy }} + env: + - name: BACKUP_NAME + value: {{- printf "postgres-backup-from-%s-to-%s-revision-%d" $upgradeDict.oldChartVersion $upgradeDict.newChartVersion (int64 $upgradeDict.preUpgradeRevision) -}} + - name: POSTGRES_USER + value: {{ .Values.postgresqlUsername | quote }} + - name: POSTGRES_DB + value: {{ .Values.postgresqlDatabase | quote }} + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: {{ ( .Values.existingSecret | default ( include "common.names.fullname" . ) ) | quote }} + key: "postgresql-password" + command: + - "/bin/backup_entrypoint.sh" + volumeMounts: + - name: backup-script-configmap + mountPath: /bin/backup_entrypoint.sh + readOnly: true + subPath: entrypoint.sh + {{- with (include "common.controller.volumeMounts" . | trim) }} + {{ nindent 4 . }} + {{- end }} + volumes: + - name: backup-script-configmap + configMap: + defaultMode: 0700 + name: "postgres-backup-hook-config-map" + {{- with (include "common.controller.volumes" . | trim) }} + {{- nindent 2 . }} + {{- end }} +{{- end -}} +{{- end -}} diff --git a/stable/postgresql/1.2.4/test_values.yaml b/stable/postgresql/1.2.4/test_values.yaml new file mode 100644 index 00000000000..d4da044db4c --- /dev/null +++ b/stable/postgresql/1.2.4/test_values.yaml @@ -0,0 +1,50 @@ +image: + repository: postgres + pullPolicy: IfNotPresent + tag: "13.4" + +strategy: + type: Recreate + + +service: + main: + enabled: true + ports: + main: + port: 5432 + +## TODO: Fix the backup-on-upgrade system +enableUpgradeBackup: false + +persistence: + db: + enabled: true + mountPath: "/var/lib/postgresql/data" + type: pvc + accessMode: ReadWriteOnce + size: "100Gi" + dbbackups: + enabled: true + mountPath: "/dbbackups" + type: pvc + accessMode: ReadWriteOnce + size: "100Gi" + +postgresqlPassword: "testpass" +postgresqlUsername: "test" +postgresqlDatabase: "test" +existingSecret: "" + + +envValueFrom: + POSTGRES_PASSWORD: + secretKeyRef: + name: '{{ ( tpl .Values.existingSecret $ ) | default ( include "common.names.fullname" . ) }}' + key: "postgresql-password" + +envTpl: + POSTGRES_USER: "{{ .Values.postgresqlUsername }}" + POSTGRES_DB: "{{ .Values.postgresqlDatabase }}" +# POSTGRESQL_POSTGRES_PASSWORD: "{{ .Values.postgrespassword }}" +# POSTGRESQL_PASSWORD: "{{ .Values.password }}" diff --git a/stable/postgresql/1.2.4/values.yaml b/stable/postgresql/1.2.4/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/pretend-youre-xyzzy/1.6.3/CONFIG.md b/stable/pretend-youre-xyzzy/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/pretend-youre-xyzzy/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/pretend-youre-xyzzy/1.6.3/Chart.lock b/stable/pretend-youre-xyzzy/1.6.3/Chart.lock new file mode 100644 index 00000000000..ca70e7e9822 --- /dev/null +++ b/stable/pretend-youre-xyzzy/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:40:00.273689289Z" diff --git a/stable/pretend-youre-xyzzy/1.6.3/Chart.yaml b/stable/pretend-youre-xyzzy/1.6.3/Chart.yaml new file mode 100644 index 00000000000..98c36a3f864 --- /dev/null +++ b/stable/pretend-youre-xyzzy/1.6.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/pretend-youre-xyzzy/1.6.3/README.md b/stable/pretend-youre-xyzzy/1.6.3/README.md new file mode 100644 index 00000000000..5b5a70262b8 --- /dev/null +++ b/stable/pretend-youre-xyzzy/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/pretend-youre-xyzzy/1.6.3/app-readme.md b/stable/pretend-youre-xyzzy/1.6.3/app-readme.md new file mode 100644 index 00000000000..5422ff0e917 --- /dev/null +++ b/stable/pretend-youre-xyzzy/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +pretend-youre-xyzzy, a cards against humanity clone + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +pretend-youre-xyzzy, a cards against humanity clone diff --git a/stable/pretend-youre-xyzzy/1.6.3/charts/common-6.10.7.tgz b/stable/pretend-youre-xyzzy/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/pretend-youre-xyzzy/1.6.3/ix_values.yaml b/stable/pretend-youre-xyzzy/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..bb58fc2f436 --- /dev/null +++ b/stable/pretend-youre-xyzzy/1.6.3/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/stable/pretend-youre-xyzzy/1.6.3/questions.yaml b/stable/pretend-youre-xyzzy/1.6.3/questions.yaml new file mode 100644 index 00000000000..e02b945b11f --- /dev/null +++ b/stable/pretend-youre-xyzzy/1.6.3/questions.yaml @@ -0,0 +1,570 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/pretend-youre-xyzzy/1.6.3/templates/common.yaml b/stable/pretend-youre-xyzzy/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/pretend-youre-xyzzy/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/pretend-youre-xyzzy/1.6.3/test_values.yaml b/stable/pretend-youre-xyzzy/1.6.3/test_values.yaml new file mode 100644 index 00000000000..2d19c5fed92 --- /dev/null +++ b/stable/pretend-youre-xyzzy/1.6.3/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/stable/pretend-youre-xyzzy/1.6.3/values.yaml b/stable/pretend-youre-xyzzy/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/protonmail-bridge/1.6.3/CONFIG.md b/stable/protonmail-bridge/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/protonmail-bridge/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/protonmail-bridge/1.6.3/Chart.lock b/stable/protonmail-bridge/1.6.3/Chart.lock new file mode 100644 index 00000000000..958b1b0b595 --- /dev/null +++ b/stable/protonmail-bridge/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:40:04.370934585Z" diff --git a/stable/protonmail-bridge/1.6.3/Chart.yaml b/stable/protonmail-bridge/1.6.3/Chart.yaml new file mode 100644 index 00000000000..d4e914b0014 --- /dev/null +++ b/stable/protonmail-bridge/1.6.3/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/protonmail-bridge/1.6.3/README.md b/stable/protonmail-bridge/1.6.3/README.md new file mode 100644 index 00000000000..f4a424dbb14 --- /dev/null +++ b/stable/protonmail-bridge/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/protonmail-bridge/1.6.3/app-readme.md b/stable/protonmail-bridge/1.6.3/app-readme.md new file mode 100644 index 00000000000..981006447c1 --- /dev/null +++ b/stable/protonmail-bridge/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +Container for protonmail bridge to work on the network. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Container for protonmail bridge to work on the network. diff --git a/stable/protonmail-bridge/1.6.3/charts/common-6.10.7.tgz b/stable/protonmail-bridge/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/protonmail-bridge/1.6.3/ix_values.yaml b/stable/protonmail-bridge/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..01362256313 --- /dev/null +++ b/stable/protonmail-bridge/1.6.3/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/stable/protonmail-bridge/1.6.3/questions.yaml b/stable/protonmail-bridge/1.6.3/questions.yaml new file mode 100644 index 00000000000..deafae200b3 --- /dev/null +++ b/stable/protonmail-bridge/1.6.3/questions.yaml @@ -0,0 +1,698 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/protonmail-bridge/1.6.3/templates/common.yaml b/stable/protonmail-bridge/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/protonmail-bridge/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/protonmail-bridge/1.6.3/test_values.yaml b/stable/protonmail-bridge/1.6.3/test_values.yaml new file mode 100644 index 00000000000..20981bd1060 --- /dev/null +++ b/stable/protonmail-bridge/1.6.3/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/stable/protonmail-bridge/1.6.3/values.yaml b/stable/protonmail-bridge/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/prowlarr/1.8.3/CONFIG.md b/stable/prowlarr/1.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/prowlarr/1.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/prowlarr/1.8.3/Chart.lock b/stable/prowlarr/1.8.3/Chart.lock new file mode 100644 index 00000000000..7a27af0e5c2 --- /dev/null +++ b/stable/prowlarr/1.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:40:08.400383984Z" diff --git a/stable/prowlarr/1.8.3/Chart.yaml b/stable/prowlarr/1.8.3/Chart.yaml new file mode 100644 index 00000000000..52e3b36d6b6 --- /dev/null +++ b/stable/prowlarr/1.8.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/prowlarr/1.8.3/README.md b/stable/prowlarr/1.8.3/README.md new file mode 100644 index 00000000000..af19b813f73 --- /dev/null +++ b/stable/prowlarr/1.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.8.2](https://img.shields.io/badge/Version-1.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/prowlarr/1.8.3/app-readme.md b/stable/prowlarr/1.8.3/app-readme.md new file mode 100644 index 00000000000..4fc956fbab1 --- /dev/null +++ b/stable/prowlarr/1.8.3/app-readme.md @@ -0,0 +1,4 @@ +Indexer manager/proxy built on the popular arr net base stack to integrate with your various PVR apps. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Indexer manager/proxy built on the popular arr net base stack to integrate diff --git a/stable/prowlarr/1.8.3/charts/common-6.10.7.tgz b/stable/prowlarr/1.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/prowlarr/1.8.3/ix_values.yaml b/stable/prowlarr/1.8.3/ix_values.yaml new file mode 100644 index 00000000000..583b7d6a87b --- /dev/null +++ b/stable/prowlarr/1.8.3/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.1.875 + # -- 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/stable/prowlarr/1.8.3/questions.yaml b/stable/prowlarr/1.8.3/questions.yaml new file mode 100644 index 00000000000..6716e3cdd5a --- /dev/null +++ b/stable/prowlarr/1.8.3/questions.yaml @@ -0,0 +1,688 @@ +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: 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 + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/prowlarr/1.8.3/templates/common.yaml b/stable/prowlarr/1.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/prowlarr/1.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/prowlarr/1.8.3/test_values.yaml b/stable/prowlarr/1.8.3/test_values.yaml new file mode 100644 index 00000000000..5f9da2fbb7f --- /dev/null +++ b/stable/prowlarr/1.8.3/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.1.875 + # -- 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/stable/prowlarr/1.8.3/values.yaml b/stable/prowlarr/1.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/pyload/1.6.3/CONFIG.md b/stable/pyload/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/pyload/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/pyload/1.6.3/Chart.lock b/stable/pyload/1.6.3/Chart.lock new file mode 100644 index 00000000000..9d4fc8fa959 --- /dev/null +++ b/stable/pyload/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:40:12.276468978Z" diff --git a/stable/pyload/1.6.3/Chart.yaml b/stable/pyload/1.6.3/Chart.yaml new file mode 100644 index 00000000000..e634bdbb37a --- /dev/null +++ b/stable/pyload/1.6.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/pyload/1.6.3/README.md b/stable/pyload/1.6.3/README.md new file mode 100644 index 00000000000..4924e6c4c02 --- /dev/null +++ b/stable/pyload/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/pyload/1.6.3/app-readme.md b/stable/pyload/1.6.3/app-readme.md new file mode 100644 index 00000000000..9257e28618f --- /dev/null +++ b/stable/pyload/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +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. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +pyLoad is a Free and Open Source download manager written in Python and diff --git a/stable/pyload/1.6.3/charts/common-6.10.7.tgz b/stable/pyload/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/pyload/1.6.3/ix_values.yaml b/stable/pyload/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..997d5e1d399 --- /dev/null +++ b/stable/pyload/1.6.3/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/stable/pyload/1.6.3/questions.yaml b/stable/pyload/1.6.3/questions.yaml new file mode 100644 index 00000000000..604c20ff354 --- /dev/null +++ b/stable/pyload/1.6.3/questions.yaml @@ -0,0 +1,698 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/pyload/1.6.3/templates/common.yaml b/stable/pyload/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/pyload/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/pyload/1.6.3/test_values.yaml b/stable/pyload/1.6.3/test_values.yaml new file mode 100644 index 00000000000..ce7c08b017d --- /dev/null +++ b/stable/pyload/1.6.3/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/stable/pyload/1.6.3/values.yaml b/stable/pyload/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/qbittorrent/6.8.3/CONFIG.md b/stable/qbittorrent/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/qbittorrent/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/qbittorrent/6.8.3/Chart.lock b/stable/qbittorrent/6.8.3/Chart.lock new file mode 100644 index 00000000000..7b3f6bbe48a --- /dev/null +++ b/stable/qbittorrent/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:40:16.189134128Z" diff --git a/stable/qbittorrent/6.8.3/Chart.yaml b/stable/qbittorrent/6.8.3/Chart.yaml new file mode 100644 index 00000000000..1d589120222 --- /dev/null +++ b/stable/qbittorrent/6.8.3/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/qbittorrent/6.8.3/README.md b/stable/qbittorrent/6.8.3/README.md new file mode 100644 index 00000000000..11150a679dd --- /dev/null +++ b/stable/qbittorrent/6.8.3/README.md @@ -0,0 +1,38 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/qbittorrent/6.8.3/app-readme.md b/stable/qbittorrent/6.8.3/app-readme.md new file mode 100644 index 00000000000..808f09ea068 --- /dev/null +++ b/stable/qbittorrent/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/qbittorrent/6.8.3/charts/common-6.10.7.tgz b/stable/qbittorrent/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/qbittorrent/6.8.3/ix_values.yaml b/stable/qbittorrent/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..5d593f0e21d --- /dev/null +++ b/stable/qbittorrent/6.8.3/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.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/stable/qbittorrent/6.8.3/questions.yaml b/stable/qbittorrent/6.8.3/questions.yaml new file mode 100644 index 00000000000..e1893dc0395 --- /dev/null +++ b/stable/qbittorrent/6.8.3/questions.yaml @@ -0,0 +1,832 @@ +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 + - 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 + - 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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/qbittorrent/6.8.3/templates/_configmap.tpl b/stable/qbittorrent/6.8.3/templates/_configmap.tpl new file mode 100644 index 00000000000..d52c601514c --- /dev/null +++ b/stable/qbittorrent/6.8.3/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/stable/qbittorrent/6.8.3/templates/common.yaml b/stable/qbittorrent/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..bcb4715aa18 --- /dev/null +++ b/stable/qbittorrent/6.8.3/templates/common.yaml @@ -0,0 +1,6 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} + + +{{/* Render the configmap */}} +{{ include "qbittorrent.configmap" . }} diff --git a/stable/qbittorrent/6.8.3/test_values.yaml b/stable/qbittorrent/6.8.3/test_values.yaml new file mode 100644 index 00000000000..fa1fdc5ef72 --- /dev/null +++ b/stable/qbittorrent/6.8.3/test_values.yaml @@ -0,0 +1,52 @@ +# Default values for qbittorrent. + +image: + repository: ghcr.io/k8s-at-home/qbittorrent + pullPolicy: IfNotPresent + tag: v4.3.7 + +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/stable/qbittorrent/6.8.3/values.yaml b/stable/qbittorrent/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/radarr/6.8.3/CONFIG.md b/stable/radarr/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/radarr/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/radarr/6.8.3/Chart.lock new file mode 100644 index 00000000000..12f9d2aa608 --- /dev/null +++ b/stable/radarr/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:40:20.217560994Z" diff --git a/stable/radarr/6.8.3/Chart.yaml b/stable/radarr/6.8.3/Chart.yaml new file mode 100644 index 00000000000..89f7e692087 --- /dev/null +++ b/stable/radarr/6.8.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/radarr/6.8.3/README.md b/stable/radarr/6.8.3/README.md new file mode 100644 index 00000000000..0e07205b25a --- /dev/null +++ b/stable/radarr/6.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/radarr/6.8.3/app-readme.md new file mode 100644 index 00000000000..47308820016 --- /dev/null +++ b/stable/radarr/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/radarr/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/radarr/6.8.3/ix_values.yaml b/stable/radarr/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..095e494f526 --- /dev/null +++ b/stable/radarr/6.8.3/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.8.3/questions.yaml b/stable/radarr/6.8.3/questions.yaml new file mode 100644 index 00000000000..44c5d212ca9 --- /dev/null +++ b/stable/radarr/6.8.3/questions.yaml @@ -0,0 +1,686 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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.8.3/templates/common.yaml b/stable/radarr/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/radarr/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/radarr/6.8.3/test_values.yaml b/stable/radarr/6.8.3/test_values.yaml new file mode 100644 index 00000000000..64bfadaa7d0 --- /dev/null +++ b/stable/radarr/6.8.3/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.8.3/values.yaml b/stable/radarr/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/readarr/6.8.3/CONFIG.md b/stable/readarr/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/readarr/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/readarr/6.8.3/Chart.lock b/stable/readarr/6.8.3/Chart.lock new file mode 100644 index 00000000000..75cc2c048e3 --- /dev/null +++ b/stable/readarr/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:40:24.268469884Z" diff --git a/stable/readarr/6.8.3/Chart.yaml b/stable/readarr/6.8.3/Chart.yaml new file mode 100644 index 00000000000..0c54e1c2f51 --- /dev/null +++ b/stable/readarr/6.8.3/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/readarr/6.8.3/README.md b/stable/readarr/6.8.3/README.md new file mode 100644 index 00000000000..b1d31e470bd --- /dev/null +++ b/stable/readarr/6.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/readarr/6.8.3/app-readme.md b/stable/readarr/6.8.3/app-readme.md new file mode 100644 index 00000000000..d38457d5c3c --- /dev/null +++ b/stable/readarr/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/readarr/6.8.3/charts/common-6.10.7.tgz b/stable/readarr/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/readarr/6.8.3/ix_values.yaml b/stable/readarr/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..297cee9e7f3 --- /dev/null +++ b/stable/readarr/6.8.3/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.944 + +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/stable/readarr/6.8.3/questions.yaml b/stable/readarr/6.8.3/questions.yaml new file mode 100644 index 00000000000..c5513c60fa9 --- /dev/null +++ b/stable/readarr/6.8.3/questions.yaml @@ -0,0 +1,687 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/readarr/6.8.3/templates/common.yaml b/stable/readarr/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/readarr/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/readarr/6.8.3/test_values.yaml b/stable/readarr/6.8.3/test_values.yaml new file mode 100644 index 00000000000..9486b83c42d --- /dev/null +++ b/stable/readarr/6.8.3/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.944 + +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/stable/readarr/6.8.3/values.yaml b/stable/readarr/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/reg/1.8.3/CONFIG.md b/stable/reg/1.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/reg/1.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/reg/1.8.3/Chart.lock b/stable/reg/1.8.3/Chart.lock new file mode 100644 index 00000000000..b40c15b961c --- /dev/null +++ b/stable/reg/1.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:40:28.41605887Z" diff --git a/stable/reg/1.8.3/Chart.yaml b/stable/reg/1.8.3/Chart.yaml new file mode 100644 index 00000000000..85c3c08d96a --- /dev/null +++ b/stable/reg/1.8.3/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/reg/1.8.3/README.md b/stable/reg/1.8.3/README.md new file mode 100644 index 00000000000..745c6a2c995 --- /dev/null +++ b/stable/reg/1.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.8.2](https://img.shields.io/badge/Version-1.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/reg/1.8.3/app-readme.md b/stable/reg/1.8.3/app-readme.md new file mode 100644 index 00000000000..911c539f018 --- /dev/null +++ b/stable/reg/1.8.3/app-readme.md @@ -0,0 +1,4 @@ +Docker registry v2 command line client and repo listing generator with security checks. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Docker registry v2 command line client and repo listing generator with diff --git a/stable/reg/1.8.3/charts/common-6.10.7.tgz b/stable/reg/1.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/reg/1.8.3/ci/ct-values.yaml b/stable/reg/1.8.3/ci/ct-values.yaml new file mode 100644 index 00000000000..7ec97337b23 --- /dev/null +++ b/stable/reg/1.8.3/ci/ct-values.yaml @@ -0,0 +1,2 @@ +env: + EXTRA_ARGS: "server --registry r.j3ss.co" diff --git a/stable/reg/1.8.3/ix_values.yaml b/stable/reg/1.8.3/ix_values.yaml new file mode 100644 index 00000000000..6ad228ab223 --- /dev/null +++ b/stable/reg/1.8.3/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/stable/reg/1.8.3/questions.yaml b/stable/reg/1.8.3/questions.yaml new file mode 100644 index 00000000000..998db405de8 --- /dev/null +++ b/stable/reg/1.8.3/questions.yaml @@ -0,0 +1,682 @@ +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 + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/reg/1.8.3/templates/common.yaml b/stable/reg/1.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/reg/1.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/reg/1.8.3/test_values.yaml b/stable/reg/1.8.3/test_values.yaml new file mode 100644 index 00000000000..93668d4a17f --- /dev/null +++ b/stable/reg/1.8.3/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/stable/reg/1.8.3/values.yaml b/stable/reg/1.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/resilio-sync/1.6.3/CONFIG.md b/stable/resilio-sync/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/resilio-sync/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/resilio-sync/1.6.3/Chart.lock b/stable/resilio-sync/1.6.3/Chart.lock new file mode 100644 index 00000000000..a038493b90d --- /dev/null +++ b/stable/resilio-sync/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:40:32.389873053Z" diff --git a/stable/resilio-sync/1.6.3/Chart.yaml b/stable/resilio-sync/1.6.3/Chart.yaml new file mode 100644 index 00000000000..0bcbfe8e993 --- /dev/null +++ b/stable/resilio-sync/1.6.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/resilio-sync/1.6.3/README.md b/stable/resilio-sync/1.6.3/README.md new file mode 100644 index 00000000000..71b606b424a --- /dev/null +++ b/stable/resilio-sync/1.6.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/resilio-sync/1.6.3/app-readme.md b/stable/resilio-sync/1.6.3/app-readme.md new file mode 100644 index 00000000000..1d2798897c2 --- /dev/null +++ b/stable/resilio-sync/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +Resilio Sync is a fast, reliable, and simple file sync and share solution, powered by P2P technology + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Resilio Sync is a fast, reliable, and simple file sync and share solution, diff --git a/stable/resilio-sync/1.6.3/charts/common-6.10.7.tgz b/stable/resilio-sync/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/resilio-sync/1.6.3/ix_values.yaml b/stable/resilio-sync/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..72df9483018 --- /dev/null +++ b/stable/resilio-sync/1.6.3/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/stable/resilio-sync/1.6.3/questions.yaml b/stable/resilio-sync/1.6.3/questions.yaml new file mode 100644 index 00000000000..b839b1d1ed5 --- /dev/null +++ b/stable/resilio-sync/1.6.3/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 + - 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 + - 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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: true + + - 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: 568 + - variable: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/resilio-sync/1.6.3/templates/common.yaml b/stable/resilio-sync/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/resilio-sync/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/resilio-sync/1.6.3/test_values.yaml b/stable/resilio-sync/1.6.3/test_values.yaml new file mode 100644 index 00000000000..7e0d5117ab5 --- /dev/null +++ b/stable/resilio-sync/1.6.3/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/stable/resilio-sync/1.6.3/values.yaml b/stable/resilio-sync/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/sabnzbd/6.8.3/CONFIG.md b/stable/sabnzbd/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/sabnzbd/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/sabnzbd/6.8.3/Chart.lock b/stable/sabnzbd/6.8.3/Chart.lock new file mode 100644 index 00000000000..3e6f906f5cf --- /dev/null +++ b/stable/sabnzbd/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:40:36.463680187Z" diff --git a/stable/sabnzbd/6.8.3/Chart.yaml b/stable/sabnzbd/6.8.3/Chart.yaml new file mode 100644 index 00000000000..84c1a84e9d1 --- /dev/null +++ b/stable/sabnzbd/6.8.3/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/sabnzbd/6.8.3/README.md b/stable/sabnzbd/6.8.3/README.md new file mode 100644 index 00000000000..a6c506a539c --- /dev/null +++ b/stable/sabnzbd/6.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/sabnzbd/6.8.3/app-readme.md b/stable/sabnzbd/6.8.3/app-readme.md new file mode 100644 index 00000000000..aee67ae1e57 --- /dev/null +++ b/stable/sabnzbd/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/sabnzbd/6.8.3/charts/common-6.10.7.tgz b/stable/sabnzbd/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/sabnzbd/6.8.3/ix_values.yaml b/stable/sabnzbd/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..30d7a90daa6 --- /dev/null +++ b/stable/sabnzbd/6.8.3/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/stable/sabnzbd/6.8.3/questions.yaml b/stable/sabnzbd/6.8.3/questions.yaml new file mode 100644 index 00000000000..6c2588fb069 --- /dev/null +++ b/stable/sabnzbd/6.8.3/questions.yaml @@ -0,0 +1,694 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/sabnzbd/6.8.3/templates/common.yaml b/stable/sabnzbd/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/sabnzbd/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/sabnzbd/6.8.3/test_values.yaml b/stable/sabnzbd/6.8.3/test_values.yaml new file mode 100644 index 00000000000..975c096f802 --- /dev/null +++ b/stable/sabnzbd/6.8.3/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/stable/sabnzbd/6.8.3/values.yaml b/stable/sabnzbd/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/ser2sock/1.6.3/CONFIG.md b/stable/ser2sock/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/ser2sock/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/ser2sock/1.6.3/Chart.lock b/stable/ser2sock/1.6.3/Chart.lock new file mode 100644 index 00000000000..780efedfd8c --- /dev/null +++ b/stable/ser2sock/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:40:40.533332475Z" diff --git a/stable/ser2sock/1.6.3/Chart.yaml b/stable/ser2sock/1.6.3/Chart.yaml new file mode 100644 index 00000000000..51071748c6e --- /dev/null +++ b/stable/ser2sock/1.6.3/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/ser2sock/1.6.3/README.md b/stable/ser2sock/1.6.3/README.md new file mode 100644 index 00000000000..ce010105006 --- /dev/null +++ b/stable/ser2sock/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/ser2sock/1.6.3/app-readme.md b/stable/ser2sock/1.6.3/app-readme.md new file mode 100644 index 00000000000..275a6b7f550 --- /dev/null +++ b/stable/ser2sock/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +Serial to Socket Redirector + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Serial to Socket Redirector diff --git a/stable/ser2sock/1.6.3/charts/common-6.10.7.tgz b/stable/ser2sock/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/ser2sock/1.6.3/ix_values.yaml b/stable/ser2sock/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..3aab2b9436f --- /dev/null +++ b/stable/ser2sock/1.6.3/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/stable/ser2sock/1.6.3/questions.yaml b/stable/ser2sock/1.6.3/questions.yaml new file mode 100644 index 00000000000..1d74113b7e3 --- /dev/null +++ b/stable/ser2sock/1.6.3/questions.yaml @@ -0,0 +1,747 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/stable/ser2sock/1.6.3/templates/common.yaml b/stable/ser2sock/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/ser2sock/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/ser2sock/1.6.3/test_values.yaml b/stable/ser2sock/1.6.3/test_values.yaml new file mode 100644 index 00000000000..9359ad10eb8 --- /dev/null +++ b/stable/ser2sock/1.6.3/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/stable/ser2sock/1.6.3/values.yaml b/stable/ser2sock/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/sonarr/6.8.3/CONFIG.md b/stable/sonarr/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/sonarr/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/sonarr/6.8.3/Chart.lock new file mode 100644 index 00000000000..5195a3e5223 --- /dev/null +++ b/stable/sonarr/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:40:44.510259732Z" diff --git a/stable/sonarr/6.8.3/Chart.yaml b/stable/sonarr/6.8.3/Chart.yaml new file mode 100644 index 00000000000..b4fe6e192b4 --- /dev/null +++ b/stable/sonarr/6.8.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/sonarr/6.8.3/README.md b/stable/sonarr/6.8.3/README.md new file mode 100644 index 00000000000..f2d0fec36d4 --- /dev/null +++ b/stable/sonarr/6.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/sonarr/6.8.3/app-readme.md new file mode 100644 index 00000000000..b8333e42789 --- /dev/null +++ b/stable/sonarr/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/sonarr/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/sonarr/6.8.3/ix_values.yaml b/stable/sonarr/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..9d410bd464d --- /dev/null +++ b/stable/sonarr/6.8.3/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.8.3/questions.yaml b/stable/sonarr/6.8.3/questions.yaml new file mode 100644 index 00000000000..4cc6f73ff76 --- /dev/null +++ b/stable/sonarr/6.8.3/questions.yaml @@ -0,0 +1,686 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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.8.3/templates/common.yaml b/stable/sonarr/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/sonarr/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/sonarr/6.8.3/test_values.yaml b/stable/sonarr/6.8.3/test_values.yaml new file mode 100644 index 00000000000..4715fabc443 --- /dev/null +++ b/stable/sonarr/6.8.3/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.8.3/values.yaml b/stable/sonarr/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/stash/1.6.3/CONFIG.md b/stable/stash/1.6.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/stash/1.6.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/stash/1.6.3/Chart.lock b/stable/stash/1.6.3/Chart.lock new file mode 100644 index 00000000000..6eeb952e046 --- /dev/null +++ b/stable/stash/1.6.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 +generated: "2021-08-28T12:40:48.472455315Z" diff --git a/stable/stash/1.6.3/Chart.yaml b/stable/stash/1.6.3/Chart.yaml new file mode 100644 index 00000000000..2b6f1da3f54 --- /dev/null +++ b/stable/stash/1.6.3/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org + version: 6.10.7 +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.6.3 diff --git a/stable/stash/1.6.3/README.md b/stable/stash/1.6.3/README.md new file mode 100644 index 00000000000..ca9467c0e51 --- /dev/null +++ b/stable/stash/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/stash/1.6.3/app-readme.md b/stable/stash/1.6.3/app-readme.md new file mode 100644 index 00000000000..3bc1ec0fd7b --- /dev/null +++ b/stable/stash/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +An organizer for your porn, written in Go + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +An organizer for your porn, written in Go diff --git a/stable/stash/1.6.3/charts/common-6.10.7.tgz b/stable/stash/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/stash/1.6.3/ci/ct-values.yaml b/stable/stash/1.6.3/ci/ct-values.yaml new file mode 100644 index 00000000000..322b5784ed3 --- /dev/null +++ b/stable/stash/1.6.3/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/stable/stash/1.6.3/ix_values.yaml b/stable/stash/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..d447043b538 --- /dev/null +++ b/stable/stash/1.6.3/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/stable/stash/1.6.3/questions.yaml b/stable/stash/1.6.3/questions.yaml new file mode 100644 index 00000000000..5833eeb30f6 --- /dev/null +++ b/stable/stash/1.6.3/questions.yaml @@ -0,0 +1,691 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/stash/1.6.3/templates/common.yaml b/stable/stash/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/stash/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/stash/1.6.3/test_values.yaml b/stable/stash/1.6.3/test_values.yaml new file mode 100644 index 00000000000..bee17c83061 --- /dev/null +++ b/stable/stash/1.6.3/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/stable/stash/1.6.3/values.yaml b/stable/stash/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/syncthing/6.8.3/CONFIG.md b/stable/syncthing/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/syncthing/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/syncthing/6.8.3/Chart.lock new file mode 100644 index 00000000000..fbed129a253 --- /dev/null +++ b/stable/syncthing/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:40:52.399891706Z" diff --git a/stable/syncthing/6.8.3/Chart.yaml b/stable/syncthing/6.8.3/Chart.yaml new file mode 100644 index 00000000000..02e1682cda6 --- /dev/null +++ b/stable/syncthing/6.8.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/syncthing/6.8.3/README.md b/stable/syncthing/6.8.3/README.md new file mode 100644 index 00000000000..78938bfb8ec --- /dev/null +++ b/stable/syncthing/6.8.3/README.md @@ -0,0 +1,44 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/syncthing/6.8.3/app-readme.md new file mode 100644 index 00000000000..9b6ba169503 --- /dev/null +++ b/stable/syncthing/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/syncthing/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 zcmV)tK$pKCiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POw$ciT3yFpTf7kNyfQlRmZkSd{!FPOd)J`?+2xZF4tCePXA5 zpWE$8U=p%WQzVxJ<*07nzx_SbdXlXoE zNnr7p@!GiT#{HW-FvmZlqQqG`0gJr>%yacK%~CXoQ5h9DC+y9)RT|O1K!Ps{SS-Ob zE5LbCAvS!2`Wb7Js*ez z98p9P1YAG@i!$V(suC4ZmJ*Z_2DKVJJvtQu6{*H{9k1>%PNA>VS+9$aC#Z0iGuY*kz!cx{>OjpdtmWmq7`JBqls+d zU?JOc819b4r-NSoFXsOOCKW30NC33Y|AXD#gRwpTpYHBH%>Vm%E|cs6CX)dGkHByU z&JY1G1=#`>1&$G$;ADnCUZ5%d2(l^rHLa3_4n#3*e-Nb&D6||(2`&&T17bAADW=k6 z02F|_=73J@B1;lfC@?667YSmJ>aXDdhz~KJ95&LrD4_ErWZ!>;364R=uQdTT zpLBo;yg%$sU{fePADF)DF^VvuJs6-))n6CA;E0(M(CR^^ukj1eeF0SUTX zvZCK+1$eHADR;nvag)mo#>}@UDi9oDJ&O~d@ zkQ3Ms>2s7If|?*|@Eq84#tI4s;L9{C=vcue{U+(BW2w+V&=*?sYaUye=I|q^Qn-LP zp<|8J(tfW3rmTuf4uJh-Rn@xIs++@t$O!}LUut^1<2SklB`&Q1kW*H zz0N;;&)>hIuP0!CFu-$oSx;E@iw=>j#IzhAFXD$)ia@&b5qN36&#NQ>d6wXaR;RyC z*^kL!z)H!vE{5EE4%2w6+*Tq+bS)c=Z2cXGLKE=wFAfl}xGY;L)6cBtpl!b9Sv<(I z_}H401J9Hc#b4Faj+Z=+V*tVTS%H6}1SH@zi@|Y4vND1RDh7|he@P05L-3z5E|~!P z+W?9(IA!cqf^7@mN7QIeqtz-~|81 z8hVO~2&IIM0$T7{UG6oSXT`F$=%7T!0!QdLin1ytwcyWDgr^vl;ChD03>5$ZQ4~O4 z7L>EBN@8$<0GAo@0EoY2vn4dGR{+TXjAQyg+7A{?hg6j?&Szr%5lfd%4aq=N3fc5> z3et>#k`0wu5Cw3_mYE#@IUrnuOOzriUt&;|IK4F1L_p9yPar``rwalxO5T-RKvAT5 zmRGbCV^CBe0in6RTF7)8n(VpMH4z zd;;dnVGhfZYT=@}uOUtWN*B1uQYIP~u)uVDmmxS8Op+s>w(xA368KRr(v!g>aJ&u9 z|7QZ;ou5z!Y;$bSC*bRw8xX!l34$dG-%zH1`tA$&b6%FV@<&P<>j>G_H$Oao@&3*6>la*h05HWUiQl5B z{4L&`LNc4Mc@U;qj3^fd1KF!$VW3ifiZ5TooYm*G(x%BJe4aDM4Sc%mC-s-KNVPbeMLKW7{l}u6XyZ9K#Nteq+GLUk1+j&sR9TD#hkbOhv(V-l{VcRcuC{WGO)(iP8d3xq2qQi_e;#))UU0 zu3WV$Sz7R@dRyQHPSB;Us}%^wKcva>ZI+R5af0|%ufIb&15ahe7gX(o+^)u3>LM}0 zQxq+u1o>!F1$4cY&vCl21G?uvk)=yOHGmNOU%H-)1qskq8^r*pa?z){D=dd}BW2ds z)oBd{jAJY&OLS{YH4rDh(;~Y-YW6X<@ee&lD__cFUA{mmLbdk^UZ50}<&btHW`C6g z7Np9DIYnQNwk<`TuAvtw$*u>yfYO6s2~Z$+&`ry@p#UIh&^C!LYAZ-$fE{oJ$25f) zTYIi*exRQ|P*F(5^ffML^sQJ3=(_@B*Qo-2s$lcQryjrpc1ic!+$cmFN0vFF>VC>} zP`*m2g{vmiY;$maavHGr+`w{va#|yJIi;Ja^Yc@I0hd%qkJav<%?0{>ME^Nc(rcSH zIfrB>>$p&l0c99>e50O5pMgMOhk`6R;;f=BU6-O7hpcWAUEg zIm#;1C_jZbsS0#HD^N-4oq#8U+6WOte5;|ZW|@1etIu~b*cJ4L(Z0%PH`%t~;qC_h zg^l+!z9OtV+QmxZ9_ytJbi*TEzws~DODk19CPy))fd^2j4?ZshQ$(Gp(QBs94D}l8s^tjUH)2v z3BCH8C@^6rRGc=ZX$jc2zvO>wZE(!iy6$VbLFV(7O)Na8WJ(j{RwcAyt~~D0nZ^uF zBnrcDTN`)Ga7PFKoS$*P6zobcJK8p!nFg~oS=OIfEm&M3s%c9SIB4;sLA7CJ=XQZ= zI>jG3csXr(*WuD&gmtE8$*tP@O2vaFC&d2y<*8QXw8$2e2yJ(v+wZSuIGV8?_XS-! z{#D@u#k^e(Q?MVVuj29h4T!VAVQO-H;9pav0ZY&K9M9Pj$>pEFMCRW)~S}rd# zl0{h(YTwSPoWann@gL|C_F;$r|BU`|escPO*{VLgdw%*sug+IH`bn&NIlN8*q>E>L zT9L-!5|Mi5;gq0)4yAW*U$L)jp4R3bt@WJX34?AmN$uk6iOEiYSW_*{Pb|Fx3==`tVhUNoOp~b3~P53ZMQKsB2v6thBDlKMH)OjAb}k);u^bD)i>~44j=D zzj~o)t;g_IiE?(nyls#}Y0N4D*g2axfS60{D2<0zDVDG){)pn&byd0I59z$Y>F@%U zIMP_H&7VI6*EMilrrd#6DFwDEpykMBXN41xUgGqlrzlCvA&i)V0G&<2o#?4j@fLKk zv&cS^@)3B;ftUJ;74wt*4^}`2s7@gR)?V3?N0tazbwGquJ8T{=C?1sAs!*K)BIomRwGKWm#qqc`_V3GpX*t>E` zT_ARr9ie(CP&5`4ejMBzGSlYzLDqC_Yw16Kb!HEj5d1wOGjUeWTq3A=;3JFnKwf0b ze+8Po!~26ITpVyz$`gPOUt`n^Nm6PQaYrEKsl!xW2)=vwvbF}9GCe{C!BeUYOEVem zp9m)C1Qo=v>Y2m;ksN8RL2Ro=IUOq{p&V{e+TPJwPBQ7vL?v)7R%jbgg4mHTP6hQ8 z&OED9LKm5LXMYDVVtVF!8lXmPQw!u6yh>odmfjU{7WOU**QTyRLFGp0ujx0xdaBW* zP9=qRMT1tuip~7I%COa#%`5a!d38**(e1kLnKD6Z)s(5o<;0yYq8)(dIaxl(#SWWD zR5(*QxOG-DGUW?h<(Xzhq+C&R=5BoY;|UP1m9)@LI7ygTW;#u}R6g*9P;R-ZMd7?r zetru6PfY(N8J|ep)|@5P97%1;Jja)-uI>QyVf3GrocG!EJ(;2Ry!zih?1-YmDTS8& zdib@N-ldM|q9SH@@b|ANMI0d`j=NZaM?jo~YaJrCxOl3AtsOX7briFcn<3pqaH!G| zqH)Hs;x>WfYu_cDk*t812%ISAEMYO2;!6Vn+ZC0Fd3=5te%Jx=GKF&-(ItcXNK(166&OLh{%%(i3)M6*n7C0woHICU6Y&l~DPT^x*DL+(yn zpo+O=0rU}96vV z8rxlbFaUfAH5X+F%Iads&y~_r4oju9#Px)gmL`Bn35qP^I$~K}sHsD{a#&UuOux}K zR?OS!b*A5>k+O|g!}E2$C(ndl!4_-okUP&}q^3!2wz?1}eWHta-^Hl-s{p!^If=s< z)f5gng{5@c8d54sZcKuzX%p}k!T6^F6Z8XJKh2Xj$OT|FRW!<0(CrH zAwYX%Mi-n5M6MA^0Zepfr-8=mRXDBK%kagx*ls^VrX<7@*CJXkbCPshzK?iq$KG&` zVq7spLcm@BgL>V9fXwr03AWxIzaCz|=!*81@@?Ceb3*`CN1VK)C1Bd$v~H7;%$+K!wEQMNRQYvYpJk@L(aTZl{`y-U!tdI(($qv5j4g#-o#F(*yY9uYF&Cw;C zEb6i4Rl`}q;apz9X&DuoHvDg_o@(vAJ0N>+jy#i7@;|uP=-dOv@y~F3rq4ZO)?;ClPBJDaYA0OH+#1ERW0H-lt;JAVb z?WrrSU?UhYjfucCLg9cnf~i;XR!=EzX2g&{?!>MyMD#6tsjCoyp+f}hySDB>dIWwb z08=bMf=j|Ka`1LjIbP)rEZS?OsF4{uQ|7@;m(kH9`Y*?o725;)>rDL8{K5H% zE&-gf)6=C!6DX?W7HG1 z?SY0wv+2Am`2u;IU|1q`^H9hFl#&ATwUqa59+&z32?uNVLF(2)UQa)pc zAduF_D4PfJ-Szc#XuKa7x@3XMtSTZTmHQHm_+8}EbAcfo$SUd@`y=oZ0##YTBw2z2 zMcI6g(wLcIGzZ7pB~?`C2Spi35L}2OROaeN2YZCGs^qYvS%x(mT~(qYZpR_wP;@Vw;31Jt+A3dsx*#Tu0%_sq{af)d_hjO1BXKJe~ z+oDygQr=$9&S{n;*)>itIrxN5;~fCwU#pVv<3Ct}6j3n-izUD7S)h5gkn2~GEWt&= z4$R<`paOhdv-@jq@{c3#f_!bXO`y=AN zsC%xX_b^F9l5a8$Oh^2uy(drhtoSbnyNBb4_%HYI+}w=58Hk(Oq*&$|U43gaDjggu z+7pw6A$UpnjjjTvF)ElTq@sT%eBUKU61ad=|CEsvxM4~L`UnT#j6QuD+}sSgPZt6K zM;5{)3Bd3ZT?y#d(Kp~VDlWzSr!0brI98F~c4@4W%D=^OoAS*_1BKHlsp1-wpoCq+ z3_u7zv4eAg^zRksH|DhlwL;4mkqHD(LHMIYp+`#yg>ubdxuKag1Ylm2u7yJ<8cnMg z8$qC>m;&@KS6SxjAJpL`0$IyVnqDvjzk?K~F+u;PD z9ivgS6{i7a3ULCq@&c!13W7Ho0Z;_Dv5DFGs@x8Iq;Bh-COf;?^9`!m9t4%)EQb!N z-F3t;>s?-)!qf833f8D+r{(o9cc7;wT+po6d)pi4SwUdpCCF2YZxm56$7M;?e;)~6 zCZmts|Mq1{P%)+Ym6HU$5uaPqyPxLzujbpvw1BSlfA7$a|Mq16aQ|WbzmJEl|7`oC zJejCaKy33wm%odoLQJM9tw2TH0@=l{C?dk43>I}nAG$G8&fB^U;a~U7L!PrS=8RW&sCNK zmi8;&6LUzS*(X3t%<63~%1`GfVcKgt|SRPU~m?)o_oo?{n3^P_2 z^zz*TrbY+==Ga|>MbB(9Y>Ho5L%9#J4RZBMj4nd8QIcn|qZ2iFpIcu3(H_V8uk`y( zDF7Yo|Ng<#C-(aP4OSiHDge-h52(>V{iUp1syCzLqr5gVn zetf6J)McIDqDPnzIW;=0GZtRA8;bS9Y55)SSYAw?94T=iUzrCSvZOly7#dPbe&#SJI0ahR)p^O$H$0kYeT?K>GSiG$ zAVd9{f>0lr%lnqck{*g1)d6_Cy{%Cz=zULVq@-As2RfcW;21U}w9zO790-13{mbD6 zU@OKE0fFj16W_K4+h-N8s{<3W=uRp|Kkk6XB+ccsvE6x;>|V6z$TvK|yW- zsfc~G7=E<~KtK}Ss2F_&CZ8K)$I+9H3MS45N`|!!VkbqG-qYy8nuo5z&_;RZD2Px& zzR!{v6@iAw$u@f+pn|AVoyWIU!n7aSp93MQNL8eb%OrNB1TMb1Q_8#A#8_gx(C6|3J&S zVjx+#UAInlhSfSj(2*stI$I*HN6Y$py&C2fT9%F`{0^qLD2W5O31Fy=wJ-OyZu3u5 z|H~KA{rdmx?v0-|{C}PvJm`P-@i6n%%RE;d+)CdntG$LPaNzB$`*F@19uT&GZ&}+v_cZv^K27=0)wfM9 z0Uh#x{A7G+%m2ftdk^yeJ|1!Y!;&Es%B2I4OiR$@m+n&4cbwO#qZ$tQ^BmJ~Yxxg3 z{8xnr4U?j9Q2X?0P?7?tm(K-x9;@P>CA0nz;>$Jvd0^3dv;XZKjBWq#C*y;M`F}4@ zL;sVpY;URWDUZ@N1E7lP+|&Liqe^KSpnPTRujSzN?61XVO?Q)UT=qXbD2Ac8Sy|}V zZnn)vXrS$HBb1HlYa=vU*J&fXorzF&u!*j(npjs~)$%jYEI)QAZ9Z7L24$PI=S&XC zE@My2ShS5j9fPr9>`^q_k*!A~y@9gL)FbQZrXGu>pU>2zTJT`$xy|EU|3!k#O{f8# z`u|h={O|B!@4^53ULH;V*KZuHybmz1E4A+j^s=k$3rs9;Hsr|V*cKSKwHjVh4KIz} zPE%jtj=?ei>)THo+5>dV|AWJWU0eTu`sBg>doRx|{6Dqy?HhFfHLl%tdVp$F`~h7+ zS906Dy+Haxy*Lf$!*yIae@LIB1l^%4r#=^Y_;OYZ-PsBro&DT1yIelQ92SJ<&1iGj zRHeK<*bekQJt@U1{bt4K-tK_e+fUNrsrleK+37kdBVJj-qSV;24*eDp(YM*Iy86hY z<=JkN`*p?Wqir2pM1+kCZ!K2=jRC{PfYH_)1xPVa=a(LB$_grfb5k3^l-Q|D%TSr@ zJC!+$lXJk_izKz%{7PLjNnz%`0ffQ|`PJcXc62%HT zsL{K`h<2-$v18Zrc|K*rFc=2S%2ebA0qZmo5r7p{VS61_0IhR#({vdF0sd&l_X@0J z{JiE+MgkB+z=U46+~L#ZcY(UUjY32J7lyjg`|q;?|CXf$CZ}0^T#<}<;1##n6Li`C z_wD;%d%K5+PapLE`*>RQe`sm{Gc_bYp7BI4d{FrJ0hJ0b-FF*c#IYFa3Z7gDBwn0e zHf*a*q|b8rMu_xowZN#!(|z@??AoT()QuK<7l=T)W%0}?_x43KV!d68T!R>@bJn`I zXvzV(HdpjLr`D@e)yw?(GOsl&jdoW@an6F@m71^fngN*O^sQ?Lp+nKiXrOil0Qj*R zKwU-yurB~0Qs78uvwP5S%1=(;y(2imzcD@V6crIl39RoV4TWm|RxG>&a~-x-h$yer z8;;<3f#^!2A?e_57e$T*r?rJV@bV@b$%DhK+s+soI=FgPhEa;cD2=8e&PI#fKrGj9c;MAzLSQtTqm(>X*+(5qHvTxItG2mC`1Far zRGU$`8jA!v;A{4kwdB*MuU*bXcP*y;^M7;q06XUY)2D~F|M%gO{RjL1y*w+;f0!hV z`+=LV{5S58X{Yv7+g??fztQgc$+|Tlt;|9>0=X{k)H@I12@%>pF~i0=fd0L43&_NJ z)Z*dc@QW~9G8Qf$pKbZx?PcEJ%8_mJFuu0Ha(SQ#N077H$Aqf;wu?-+k5jmnKP5TVt(Dy>%?-1B7&QRd zK6j?wmqBl0H*ah10M?2B#rm;PHfUzOZ59JT9mzc^;s9)0CVwkdXeUjQp3Pvdw?WFG zPISz?Z=cMa-7#OWC+7V+VcyCA`5LVE6VcA~6>xePE`^k10BqB@bK`}QLS3A54O|y2 z-7?;+(T_`x0jR-O?X~r6S1eVR1gYx?8NzjOp>=pnW%{zU?xB9;WKWI;MWUItp~x!2 z0xrww*<~P(gZLcL!fMy{rr;V~lqjkSq=Fy!L!%GLNu#5Ta~7qONJ=&l?nxWO_39uI z*g2s&lxC)AjXUlt4dV?vDYC)?ki>s-XayLss{$}Ib50vTROOH-_s~vk*kK*XDYqW` zPPH1h+$r%jOh+68Jq>a5C~DXYD8M*nL=Xt@#|RZ9aAR`GL>5z_PNVE2hBa0zr<(0M z)AqS@1DiKzC<8oEUmDxl$GeE|CPdd)4(l3;(Fm58+Lol%4#BqEZX4@gWx{%w1EvBM*|m-M6=rA_`kCY_x7XS8VzAZvSF?d zU^ON;zb~1gWFD5Y(JafZf(ghAG!&C&AQi11{fI?J_n5YL$t8%%PXqRD=^uYIEohqPON4n`L^9hI|S2L!_? z_(dxOi%ZKhPMb&XcfjLWK4;pXHJYqtdI+LfcAbLZTYb1pzKQ|eO>a@z%4a*X0nGAw zs1jL%-$BV$ule@I&O>-(UY;NZB zP~_}%C`K}wrv&IN=}{*euSHH)=U%Wkt8UGv8-7FjIJt()l1}0&DvT85DV6msxvfb4 zj);EQSi*R$Dol=eN?T8uJIXUv*0rUu3pwtux)C4oeC#fmW?-83w-mpE>H3-#7J(ws zxcO4$@-|_}@6Fl4jU_I?R)b{T@<2oy4*Kk3JQzGw8mY)vz~kO}s5aMGhF653vVu4E zd8U(api-l!83F7j4{NV_ZQ<(a65Bj3d2r*|%;Vqx@yuHHaR2whC4ph02Q z&B+l69;aE1-s3!|+b9}$aImknJ0n??C9Dd|BW;#H)xT?>sO+V$M)f;ElZ9n)qlGFp zE%5Y>E3>3BzF!u$$y|;P`uaRiOi?cye+0H_LoY4#*lVz6<=rr>Z?0ubD{XSyvm8p| z8|LGhrAJ_kN1fn>wz=Wd3$ur1j`xi?4C3>NZmwt#C0TY=1|Z+QpNZRG0Vv}xT1T{W~bVC@b(=gr0=^$iF%ry@j?O2U|2|)7- zrp;(P1t}7v!X6X4dEFpHZ?s4|>W3h{Te6AgBz=>`%)%QOZI&oC5f`SSq-Dm)3b3Vv z=jRYo1O(ropPvToWVyY}S>p)XlqE-=$}5iQ`t;j?F6pybxUF}CPKsXH8h{+Wt4p^X zvP?S=w6SQiwO^a8Ny5QExaVfW$yYm=7i zfPWQhR*@x%*gqFAjgOOj2H#Y3@I*g@k|fA}5+@_Za8zf9oU_IWR&JiAnBSC9A?J1% z?ORnOjg#5QX!O-$^3{T!%PJB$QV#yH=oAf-f+=*7vdR#2Z+Jj=pib>e>euH+_6{Z`_``-Xo=kudZo?FzgYJ^F_4U z`P0otTzhZoz-cT_gsWsQ47SadNn)GMtny1MN}CCFYm~EQRv3;H7FKt$8X8@f_&Veq za`uwt_6(EgbUtN;!d+hByh_EXiQiGm8DK?gsR>3fSskg!yKwb+$`wMn?{I28m#sGc zoBHr+rK2Z#P}7KCuzKVI6(m4(OFgQ!O2*1-1ud|{6|57epg}`3RDs>ijW`9}5ek|$ z`vfU);M;7R0tW(5sDj21jUoKxq@G~)Z^Ow?E7oA|7oYV;%$ zu;n6Ro|)Pu4`!;;T-UYUaT(zkwZUP1<2(OjdmHo!DC*GwbvCT)gJUg!W`w_+8>yFB z-`o7^Z)*wBZHrqT>zvVN+se`>$ZfxFAp3{Of}$*=8KN{XqnJx6=+;_qb2l{>1}QsDjOYi{vL>Ui~zb7OT+B4NBvhTA{faq{-{& zJTR?B3LA!^6nl-dlICR*?E~nC?d56EQSwy=9WVSR#Ec7d}k2vD&D3& z%Eq1-a5}{i_x>^&WPEaR%2Bxur%vM;+gZGY>7~5<iGH?+_oFUDeeYzGjq& zIlCQCSwI5OZtJDNE@y>ypxpZF1kFGBxZ;M>hb3N#qT)iFmgWF?dAe%I(?+xN>LS7A z>`g}AA{Z}^<5;8)cN=osD}!h>#)Z-d1^g!@|-m}zn-6*YUfb3jsN`Qbl^JDwN3##Po~-+7&z(* zwHo2z&sH6nRf<}5peItw$rUQs&+xXlRU_pqtqIMOzLveXJ*Mm9FVCv9?fXoZk!>;8 z^|-Bm4XHICsXO+0#~S9<@Lr@bzgoFz9q)0&*i~JWh)>WVfNHV}bJGyu+_?(LHb6h|9g4t%u24D+Dz0i`wzIp3zS+mpx$;Jd$-@r!gR_6Vpj?#DMmv>jM~|k3_04B zdWj=mIqwo*(8gdZL8%F=HKIIUC79Jr5=hxAO;Z01zAFD2{54S5c==edc^mobZQaPaAp~@;|{BqX-pb^q&5Ewuxl09rAx~{M63>@^o+a zA^+pOJT9q?3ZgQ*>eg-*1fsXGTX~%trgw_q`z(o3VLC8KJHD^5mC?`;78-SppgzOe zB(4hikXT+5GOUKTxE^G~W!&jUo=My7uo~wS3ja;7q>eRcm2PF*JZV^sy8$DRH==Hh zBQA;STt!&58%GCpSi%Lw36C)L7;J-p6qOhWyso6|pXpcSKhppN!{LzaEmuxW{MZhT zavMiSZrU?V>m(_aBO^)5FcRB3cY~Q}Df$Om@&;@7rhf+)hX*K)%wqux@d_>5AQpH5 z3F-^-=Hb%SANlE6|2Gl-wbTD|_lceV{c!Ig{_Fiba{pIgv_S0s?ucI=##2BC0G{Fq z66Qt~iD1eo_HXzs8Lb_7_gKpur~X@1q|U37JVz)$$?~OkbE;m|P$teI4;Yi(IaiyjM- z*xg{J8bM z8KerJ=ErlF_W$wW-V@vYbGZAE|KnaBDnP*r_tVtzvH71tOt#H`BS7;S0-*E!uMz*_>C^G}VgBF8!{+~Sl4RH5AJqjCHZqa-KjU`L z7^R_i>N}%&U)7-WBPr>u5T59jG`yk2FK4O-$nsmZ6knj7VZuBwvb?}ld8zGw?1;_I zUb0fF^w{Keqquu~AVdyMFGDJjcqSp!zFngE0u?9OJZC}V|8qCo{g1$5rR(HqXkO(L z6tGl-K}W14&a9IeimnthO2Y9iS7S$=>|tnoB(EOoeY>55!ojZ&FZQ5eZsuu||H98} zZ3|$R{2w>%e@}KF^1t58qw9a-zQSs%pFI1ZlTY4wW#gwUgDCwj@;i8sQyl(!si59HG*#;Yi zPWsaJJos9^+GbsLaXF2U*)n^1WL?H@ke|Gbxn$*C6~ zbC|{r|34nU-6x)O!J@eeTqfBC_cm7wyX~2#xq65!Edj4(`E)oy9f2)%Wx?@TZX5U~ z!*>nm38O4#zi;}oML=5B@w zo@0Vyy00TMT!O8OCF|nnZ_a30oL;hk+}q*citL0Pa$Z2KEjUaE+6MZV{`J z(pdt?h!@nh51HCYNEPf#m@zC~=o*ATTRw5%j-mgscsAsmICYuO64hH4T={9S9N1Jr@8ca0nQeI>^Dv~9LARQEPkjOPNOG%L>2`bpV&aMHXN}n%thap9hU6&J)BV&{& z*>bLqVl7k9^Ty{J^LDTwFhuh#Es+N<`+9~}23rzH(6mYzU>D>wQNRUz*y2i000aw| z;279Ax4tU310O{$sr;wh=(OqoG62LK+kc*n8|QzAPo6yZf8EQ&q}yv$T=I1y$s(AD z6;Aj;$en=*=EA=T!Rj|&sJq~#$~{Yk0BGnl0&bnWF%}Lut+lEW6^<%f*&LHv@8dP? zFnDv?_PDM+uS&xBL3O0-0uy9YrK2-IDbJt~1hs>;q{hJHl0WR{=o`Sw0WBioD_jzO zAD%_R<53Dl3J``kN5yj-5p{9Oz5^uFVq${ko(PHzM^m+&=&FpJtE`c>!TT`m$w?tI`A)hB+C}|=qE~0 zqn{+#6ri>~5`~TaQBG;HdtR{1bn%wMLe3fk0X1d4i~F3=@`WucSL5w$+;PYevdxP#=_K zm5b7oBamn`nnCsLBz>U+oeSvEZDCkVJkE3ahQ-M&Pz)|r3mrgK>(aVl-GCS^EUr8O zdt*KO9KOBi7gC@8@r%-t`{pof;5088Qr#8!@_bLJ7o#p?1Iv(%Y z`G5C!AL2jU%X7oi51!8um_wY_`8K5`J_ah7r?PB)Gg1Z<+fk@Cvrup+5*ptEYDp5i z?+-H>CsKGCSym^^bShOLS|BV?o|Twn#Zo)DX`J?(bqKuNHXQ)i`_n2(w0Lu7om_pi z0+s2zQz#WUnPXH}C9iNAzbrveGF?-(Q$*7aeUYj_djv&?=GY9TCTWDlrHpH?@|&(l z-R5YswL4bIdU>mWZw8hGPf@gtWX^c?b4ADl08qMMm9*{26ft0hTrs z9*g@Eyqj4)m4{z|u@mu|yNh19*T{O(TYM7jmA^PWj^Sh!cZ_Tcg2jWTa1mDj;FKRr zmpO{?bjc8oIEZOh(5Z-vETvkm+QJ2GBFHTpP`c17$%#d$6~7YZumDVsz~d|HgPMeo z7v>jD%wl$T)XoX4TNdiXs;=gVAl+>1kxjuI<|^3%fSM10yff%9VQ5AQtqXaFJZ=`( zh@Zn;!qtv-?NfJAfQNJr%qe1UN=C&C-4Nwec7dhB$^xy)a5Zn_bUEyrZQ>BI4n@ro z_$Oc!qMb(2l~<4jh;(ps+lJ;?m>(OH&%sP%^=PB6o|dB1EyxZ_mU}Hn=|Zj=^~BL; z6K)sqYqZzU+k*a`G{OV%`I3@njBkxTtopRnBI8L^B4#+9_{o318 zNp2u-xZl@WIg32TBbAT>&$U6kXDLffC;l3Wo@TxVCI)UZ2mQ^BrbXR`=pws79aN9L z832BeRkH2Mc~PM^$7g`$RRNbMMFk`%2Fw_gPBY#}T2l6m$~D8L{s0(uminVKO9#xS zirJ7GW~4eUCo8Ha=BoiotFHE{NeZiIWWiA#^w=u3g68^Q?0I_Zl*->7v%MhPwROLXWk;VNqx3`Wq#h#JbQFIAZ{1GBH}N@p7UWVmeGI(G0~^ zf(i-Cc+nruEGx+yel?Gl(0;B4LvAMI->tRvbEmYdO>XLkVVpCHxDOYtR%mcUqL6QK zQIel9nSIYoS}LBWLTAh4w5$^;s2?ki79RRk_-($zskqo)E7$gC4>5FVE0ZjrbH4M9Xgz44)#Dc4V7`sL=j9(q7{*O0=6Wj+eR?=)*08W+1g62cw6(Q#?yQJA14@! zoDka2_2ovI#YkN=`}Ap`|6U(D)G~(1zt@LKvIG@%h9K?dim)FP*)^XY`rq170K4x0 zK0Ro}e}A(3aR2LG9=37jF}0P#C+|5J3SSR(k69M9D>}K1=APiP8O`05&`+~?c|x~) zBEg#>;DN(6jzu%)W)t&9i7L!ta1T)7X(Hb7+QU_CV*Kg=`bcY!3Y5mE;7+!}Udw?i z*2i5@7MY*u-apAManw)h3)Ae-$_XmtB8ZTMwyW>b@n?PhFC(SYm%$%L$2+$d)~u_~}4Z^Uv) z|27=_dB^Hs*4;c5u#}jn#$4x)SSw$X5M!a*Y!` z>t(a?b?!ceqmi1={1Sj|51qk`ko-GDCV{Kh?9x(=$RU|cL>hk9GWx>hI^+W&6Vlco z&Uu<*4+Jl_SsO@{pJmZidn;O5YV^6LmpHH~9xy#dG{9N8vo)(j&%5EehLVKJY{M{l zjuN;$Ls6E-rO}Oa8i$TTpq;G}Jk>R;0-etaRL-&_Zo;-p^aM=s9Ay>pl5BqO2{cCq zW~N~`Oyjc~V$Xeq`_Ij+|DF1uewuqrEwDrX+uODCzwPagpFHS)_wukU>W|#K**;MTO-B;}@$k2Gr0v=Jd@eT{R|0_4ahcCLzPLZ5tHOzd$g{N>(YT z-GqaD5d{K~ely&GNnZ4lP&`2?^dov!zJ|~Ox|wy(B%kRy44hQmwo;^n2!;XAlMmE8 z?rm2WVGwISJ%01eAW5UTtS;(G;>W~r19mJJ7K{SH_=hxEN;d}ns{@Kp4BAWZO?Q|C zBkX_%-WrmN$nb>Z1NkI@cz!PBqA~au5mA1B1{0+=u!u!MdbyG`6J=o~KW8>CkZ@n1UE4vPdFYx?>VZT^JGO=N2Sfa-b&B7%0 zBQ6O}FWK^83Qrbk`x-7wkQZo*3IJ1J7ROUSW{};)EfJ9phz&B2+E8}H+!}oYejqbc zT;mb}P6i7KhrsENC)`GFp|x9>x}uR;s}@U(@2$jCm8M-rYu}a?DXUMfc=2sFy~$Ji zT&ZCk*aShABI?6!GkBU6BAI;)L7g>RN~v0)Rb}#Ht?Y24T}1y>EO$Jm|~GdauGN$e+BEa;d7-7ev&qgq_M!h1US8KDY8kmSWa4QIaRIY~25A zoLG5V!VSO1h>&+P^um1kIOCRJm&=FiQjjwgSc3#J7Fcsd=x1@+xbfu+c!d5J&QLPP zmuXg@&Ex3M|He=D?f74NhldaOf9~aZ1Wq9#s7P6a2|faN=!}aBCoxVhK@OuUc!|nz z@CcmGsA|HG{7X>IP?CVlB)b4}NTL}|FLywJ5=ig@F&U-3hiN=`1X6U#9KGnoMN|9{ z#as&gbvp#iQjn#rCMAi^W02q!g@f?<+50n+6=?8CMyvnv;%)wa@?e#t-@5@8@|W;`$8+fBjh{$leY2!|^X$GeYumG8*CeWmwKwFzFCy zqYD^cqLC;(WMzjqoo2-xa&O)Le@T`JI+`Ys49kC2ut3}3uRotNH6p?PlrnqxhhRM33)FX~|Mu_P{q1+~;pbl*C4bZo5&D(&7h@SYvlx}ASfGN%z4&?j zi%IZs2rDuRx~lD3)zU0QZIz_K;&*V7WpreGV5wMJYb?O;A}0tffAguOa3dOtLEOvf zn~a=_Os$xig zjyKrUV|WNCBtS1Xxv(zJ7C>vV9CnOfkkC_kBX~uS$8!HMeO>O znQQ8yLZ$_4*l(Dz6M5PCjUY=hXU8U9shl~gry8qtD*PN$JQ3d?x|!`P(`Pssmw`RR=*J&iBMD&? zp|X6P*?`|782?mYf__LNZNKY)(AB+;Dz(#+**W}kE4C8LEP9d562h4U(9nJ$y0 z7nM9&XQ-X!IVY;C$_l&?ReZeQpS6}{aSws)h*;q($!~W_%~0Oa@KSCS@7NvL#oaF4 zwQZ@rqRX#b)!iSrSGK*e<*ulsn&lYYQm;TT#w+l!F5i!db@^4fXw_VijaKd6e6;HI zXJkoWL8`nb8)fN!Oq8WNSlHx(QL&YS4fY#Vd$Z4|)q{Bj$`c$x{iF6x#tHLC0Xyoh zx0o=fC^dm!9Cxl(&B8)A>nh(Z-g??*`dMPy?JoM3$YosVQ?lEZ(#LY*g5S$LVx_$6 z&tEHtpKl_%QtElMladsWpv$F$@V8l#;Pmoc9z&vO8hW4*=df}5YCB2}hATaTUrj?IU+EI1cIuhwEsLq$$S`RQ3)2i;S>GXOgmjlv*J3-;$KIq^hhLGEl0fC z_GdaQR{p;wDM#v#{d@X5yv#O(qy7AMe{bK8|G)cW?_m6J{(B#faPCm2z18k&{I8(xu#}A+I<~76lYrON%9o@-B$^ehAf7HqWrYa}2HS%HlLTt#bB;=K zM!!+fP(=jXFj%a3$Ud;&>{u5_eBt*fnX^}ePlLgq+Yn#$F8iAh> zND+#82Ii?evnCn1!qFATraXfvh07uCfJ}Po((1uw#y$q%I!nJM;400o0ldg60*lq%0C_5Tm;B-{Zf=>>hb!k<~K*B!0!X+oN1<8%5zcY+J^~AITf?=fa zasS9^RsbF&heWg^xF9vU!JK#Xk^YuNwAo@@CXvYaxI_87 zZB)fmR{O6<^pgd)rs7+OlQ-G*7AlJHMNwqM*0u@8xONRdZ7_TdQ#?gHn7vM)d|!s& zA+n|C#N7cwa}t~69G4|3nBEb-$;gX&PL^9ulxEF39^MXk&ofcl6+*hl-wL=^FZ30z zCfX|1b8u+g6)Cb5hM!jX?4`zFB&5_7i=P|UgB=L zO=t^P02q-9CeI;(EYm<^#>=NJCm3nt^f3sCq5pmdT%lz>@N0k$%1n%mvLlg-Ys-Ak zpoa9<)^@nXiQjHg&SoGKvLH)HYrhH#PeOz3YYe;FYh^BDY zl+P5zErc^HF3Y1bK_~|}_;&#c^gfv5T!(i-47@s=PQE}72_#meL1Y(*^ z3y+MZW2s$0v)Z?o&b0Quie`%Nk1CgG+wM##zepFim&sm{{32agKzfK~^KlF67wMuQ zr~iSLjA=?zJHga)5v7Ze|9!+hzR#xbQM%AYDMQm}z>SPnI1#b5R81E--zFJsw9P}# zl$Jd@2>1FBF%^IVR^EmB?^%{KxavWDk!8sdGphB$eZe6IqJj(g%hb`M9^^PBM+dzc zjZ@xaPmBN0i;sDNBTUpWxO>H>NYBoX&tIOrfAQu=v;TL1_4)m`Z-00lsw6xiOK0>J zP5B>Gk{&U!oMthP!`7o6HT1?P+5v%un-;M!=#76lZ??IM<8OX={^I?cGS{lhV{`uZ~l1$!nfRF88V;ue}4Msry-2zIQ`IrNCAkFsIBO{ zzDee5{E?ApE(Zj4{)!Z(Th0@wYk5{goRW?5eDB>_Jce^XTbRSMsRobab|A>9p>xmGl?s zqNk2t>z=P+&K1NfwAGl!O{Lebu)jzbJ@j>z$FQfy&ivpCfs1GKlSp2}+<`|_lJPfq z{hxWL?q6)B-dUUOU!?mT@a$Uv@3{9nAiL7h)cO5>`Tx;R?nbGG@#K2ES$u%BiThx? z7yaH&?}NH8j*jisYncBmdf^vvq%dx95A`Bl?3f5Qxr3rTu-^HDe={Xq%lSjq@5W|} zmtaG<&qm9&vEm>mfT{I64#*P_1iGd~Tg<<@^=zJ4P%0B=FHYXRIIlGu{IcEA7i79HPIA1Iz%_q$tA*JE|3(dfF3W*XM!Dzq`-&V0<)6zyIs83k^O zZTma#u#_}EO3$vI#x=J+O_DGH!5q?kl<{Q(#ybs!6CRyiUky%}wk!3#22z;>NW3g#bhG9WxeF7 zqr7nZO*Aq5JpQGlqG!dEqj(220166?HSU&3#Q66kk&{eA)M9wxSxt_>_!f$Th1huS zY3AB$1%>TzdoL2!P$KFpH~NijB{zh|FgXGr6cX*4&cq(qDu<{3h}DsAqRbjFnxR!H z02Oyn-aj(oB@oYl!eqvm{nsiY^ol67P|_oQ-@;)(l2^kfKwSrW4bx?FAmHE71nhq2 zru0n2mtK)VBev-T%$MvB#~>8ZtAqJcURjT%_O|1yt-t zFe3BZLl;_Xm@Exzj23>DDUPusAJ(y;d}FE6+&lj~qf<~|b?ez`1p5jI5={uYvdtjS zftFQ7L9=w>|1B4Noi1kCU^fnTn&eD?x{s)9QZHnb)8^4gH!>;FXM$x_M2kWJfHKq5sgwqr*4p z5DU3SX_imtAyaSjAV=roNKZ<;e+N$<@_*dR)A#-#u&(so#T7si8|V)109ue6mjHoziSLhg50E#%|3yHXUGAHJ z4W`mR&zCt`_q2vR-Xj~Xjeg66H@J`EYwCc1!)Tt)xX)$`T#d8&8qEag0j%`x!gGk` zS$c+AF8&!g%Z_4Jq14ajSEEC#uQygv=RPcHkfAqcgZwxX8QIQ!ZVNUcdJ4DOQDQ={ zkIWjklKiBo?Xiyv(|N)m;)_1-(6l>qcJ;CLvMn4cil(wxAW{{nM}q@*wqcz2+9n#e z?qo;Za=$otyCl#-V@p4r5>!lKgl<0F=yOB}9%Hb|clDI!7cZ>sae@fiVz_pIvsK%T zecY8c=opdxy+phWy|S6t!+8I>wV#K_(En#yfq$c0`Q&|`#qVK7vND2eZwET^KaBUD z?%MhPp6nky=>PZed@1_>_iE^!X7RBac$?k~bfNh(?F>A;=(kPiWMp&C(9L`Lr!Y84 z#22tcKdQr7?JBmYPpLG#l0L1w@u(l~7R1vM_h#gr#q(-H_nm~{^sS8LravwRwAb)s zYgzYp$9=WR`%oRk)HU0=AeHfYz1I)Ucvr1XMLiByB*xUqd1qM8%sVdTPr&Yui_sIX z?`|63PMje^XHL0#3&qW5t)ajecu5N6&)ojq*{Ek1>LHfrdNr?J;Tt z(2Z7`E1N)9k82OQy1@D#RxQ2K!%3>&Li`$$0!N=~C2leQ$zZ1DuDY?{ad~-i`tBXU z3I2@*kvv63gi-=8Q6Kr-Pa^v;9375*LRPh5Vm0C>i1I3!fWvX~CaTt`*Jz#<%R6pY z3zDO!w`tm(0SqSKsjqb>+57^h{nUf?JLi5{Ejx4vv@_sgEu%hr?&tghj_5vNtGzCt6vqox zz)Pgf3Jo5Mg>rb%ae=PqGO8xhj@G{I2h-u5J%;^Hq^a0!^xsbV-_zZvcKqLirw{Re z@8|ha?0+KR%%<&qHrPLteNVK#pFOX^sHXj{$xDa5Zo~I81y0Yk`|q=|{q`pJ81LZ% z(4lU6ZD4}FR-4yzT=q12{j9~>;t7Ks7c@Olefm(sO;nU?$7w8`mYpQ|11-5p;}=3Z z3LB}Nj(9dFw$$)cPQ9xeDVmN(d~TZBM+c9%HOpfFD^KlHpoAy~bNnOQE> ztC*E7q8#4yqQu)OL2`3$Rnqt91uf>k{?H^^=?{Nx@x|}Eb(O$&465rp8gvl07@9vh zT5sO>rOHejp=?%}T(U_ZB*(3I zQ#)8gmDqqX%9SpAN$XQzww^94M|nLO*8s(Wuyxw4|1eR>k z2E6vG^H*oB7NgT5Tj2Os5xLh`l}V!3WctUEWB=A#u~b|;;(rbuwLOa<z45I0#M`!t)td8pW#j*VJFwMg$Ugq=IpjH^7A3BDpFIqh>($DU6#~q+Ydl!*o zA9TI-biJ0voh}<|*inqo6G@wM8%fHu97Ww~A_voAF(64v2bT^`05=UF9bi_swdjZ` zDsLbLTYpmPYFiuzj}FynT0NWFtR8I<7;Y1s^_FC8()iMEtUcWQ`eGl$|074m9G4~S z?)SfD7n||}>G1zJJUo12`F|Wf89&5-xR>Wk@&7ojhu(i@7n^ni@j(AGd4rfN=;svT zV_VZV#LHlYxm{t1(r9eQr%&4(6W^c5}%UB;R1 zmxrV4Ri1?eyJFZngQ z@a;*y&$27AANlX>!rF@rVMVf`w)D52^U?{o%HBkyYQ5Voen8!(zgFqQL)MkYX>7#= z-fR|ofySRDS^5WA^Wl#zS#B>QZYPu4B#X1ou3()E5!IU6HryrziKGeeuSHAq!jhu@xZg7$zu9#%4Td#y{w3CH`9yC$k-iql2+Ba#tUrlnuSyM|o z$>wvI#$C68Yjvil4zh~wv4YOAx~{RBjKDxl^sGQL?d>Hjpsc3^*VMep; zIt9bGVDjYf8TeZC*Vjx>us+do{dH#+WIw0m<(52)&rnnqm@H4Sl%S9PjZ5?9wnO)9 zfD2)gWY?z!Uf={>q8DWZ6Lu9<<}EXTcrY~>AMFO{WDJPOqce_DRXbi0D?Ij{7kd|&>npQ_2ure!m z038gi+-G1d)*rJ0cDH=zIBIjV#aK9ryvXVfmB!12|aG+b^J%jZXi7cE-~`-@y4AJ_3FN zKtK0+^*AyCXy%QOE5h~-Is=*IG3!VmC=wN(RnsZ{=*`&Og?0zHicn?whXpDM9HXOQ zJ8cc3-e{HG2^uy)R5Ou+i)%(Q!avLIAzws2J&V^S8e(U>ty|3J zGm;hXl71>TkrKv#r&hzWVz!rCO>rIH1O!7zRuT4Xlk=z4a60CXMUo?t=UD_3^grL8 zZCKbCbe)|Xzj`sGNc^PXk3&&s7|~ZlpEP2_Qpx4JA$ZtA=!4{0Rr0tNy<3T&mMx|+ z*N=|q>|5dPV~xZJK&-)Rah_lQ)}w}J2dqiVhW3T#{x6F+9sBPuo%_H2y{CJ2{=b9q zlf8%i-+eq^%>FNnH@?}^K>n$Ac3IqW8>chKv1c>*NB@)o%-2!o{0@?|7|`-#wd!#0 ze0>bY1ne4$PmUry#rzI)Ym&D@W=Gi9)dB%?|4*h4e1U1Vd;8VUH#;3kxeI?Ve*dng zF(cSTL`1H$;_3^S6zpl887WSjbK{&U%T8%*Fwty^PHeI4!J{`>>cl19KZt`rtT<3(U_D`Q9LJcF29p!zR)*lEN(fL*|ryyB2Z?jgQ>(gKF?iu&hPdb$Shp`1tgty8wMK?KA&p z`V3hdzzGNvc!82KXe|uD6r&`5i>B>BwX!_S_8bvN85nXbtn!E3F9hG*_Hw7KAbPYz zc~{Qbrb%~nHWhT){lBFcYq@P#U$0}+Az%r`31ly{K@@!YtRmTz%m3CQc~Rf%T16hK z%W`eUAL@!$J1;!y8Dp}*v*r1b3JK7eM!wUOB5NzcGa zYBe(mv@vzYO}dR{s;z2FqEjvEwoBW}OOd&(thXl3myQ*QzA^k-Rz;%wh_G|@MhO^2 zs4QP+^!r-`;F^^z`J)(dHnMb5S68b;pbN3$aP`+={-FWgNJ- zsB5hpUhCFt6ys_RTH;gV-_R>O$HcdE)CvFjTShU5duLI2gOe>o4of*B25_)xw>VCqCHxymZ;>NG$)*joT}{l5H(!zI z`iwP@wE>J{b|9iV#s3Tz0?bb3GETZvQewct@MCSQ!b5E$^QqUsIveic7H72tm z!+EE4?ltL@CC(Y3;5jZ(M5rk5ZjpfYCo^2SqJcGogsBdFFkn6yFdqzGI4ejgQ@pstzU|i`ik*u|25>I2} zq_kR>>Li>|ZpuSQde*6ctM5-P3I61O$S+ z+ScS)>%YM0KWqO&w=U!FaNxd-BU9%H_+QKh=l(=}-5Whcz23jKbOdVRv;@0rZfo&8 z%)0ur;i~B0By~w{6Hc48%qVG_&P*^~J6dfkR||qsQ?yf^JGZY9%Cc62)y-?V9C0rW zR{V`xnzUs#adOq)>8|RnxlDi|y5*SgGm8xhtwMKlT6YUP5jqs$9i1vYS&XxV&6prf zhBLAJxmmr+M$EDKT7U7+I?0Jo^=AP^A zt!>!-?|&Kh|3tpUP2U0R$p5l`c+j~2_jG^!aR2Wv9NqUt*9XRdI_7*GChWMvgmeu1kXeT9lf^bdbYmKgup z_}N&WxV>7=0r=W3zBXH5m+B#2wAK?<@8}l9wsh08v5|8a&h^ip8(}?&WZPXonJht* zO{IszFZ}YSCa28V+{dKNbM=4PNkq$*O6h7Z0tX?-ipl2=x1l+ZCCEeBS4eVfHb z;R?1R&-RXQ>2%a}9NLx?{e8jL!`g?Woocgx@!;o_np4 zP$nQaKRLC09`gi8n9%p0E2BPflnbaw9Of$6zCS-dT~YWcY^?6;=+0JK5Dau@E8=_i z{PxVGb=}zbmoHaRKZwgsi%Z%0K4~Tg&HA$JI88Ic(mZTHA@^qpsj*l^~JX_@n#@wbka>g3W%ooDijII!>j576)7U93~?qcn?nCD%V>t!b|jb) zl9$SL1l*Cd^lE=SmQcdd)7lTfx z6P-MdYlqn#mjU76C4X>n_U3DD!ZuJ=y}e=^YA=84^Q9c{|f*B|Nq!>UvB_} F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/syncthing/6.8.3/ix_values.yaml b/stable/syncthing/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..701758ecde7 --- /dev/null +++ b/stable/syncthing/6.8.3/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.18" + +## +# 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.8.3/questions.yaml b/stable/syncthing/6.8.3/questions.yaml new file mode 100644 index 00000000000..6196e178139 --- /dev/null +++ b/stable/syncthing/6.8.3/questions.yaml @@ -0,0 +1,944 @@ +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 + - 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 + - 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 + - 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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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.8.3/templates/common.yaml b/stable/syncthing/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/syncthing/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/syncthing/6.8.3/test_values.yaml b/stable/syncthing/6.8.3/test_values.yaml new file mode 100644 index 00000000000..73758cf2210 --- /dev/null +++ b/stable/syncthing/6.8.3/test_values.yaml @@ -0,0 +1,38 @@ +# Default values for Syncthing. + +image: + repository: syncthing/syncthing + pullPolicy: IfNotPresent + tag: "1.18" + +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.8.3/values.yaml b/stable/syncthing/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/tautulli/6.8.3/CONFIG.md b/stable/tautulli/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/tautulli/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/tautulli/6.8.3/Chart.lock new file mode 100644 index 00000000000..a07399c7eb0 --- /dev/null +++ b/stable/tautulli/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:40:56.302655715Z" diff --git a/stable/tautulli/6.8.3/Chart.yaml b/stable/tautulli/6.8.3/Chart.yaml new file mode 100644 index 00000000000..5f1e70fd084 --- /dev/null +++ b/stable/tautulli/6.8.3/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/tautulli/6.8.3/README.md b/stable/tautulli/6.8.3/README.md new file mode 100644 index 00000000000..7c309665fef --- /dev/null +++ b/stable/tautulli/6.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/tautulli/6.8.3/app-readme.md new file mode 100644 index 00000000000..36c08b5c9b7 --- /dev/null +++ b/stable/tautulli/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/tautulli/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/tautulli/6.8.3/ix_values.yaml b/stable/tautulli/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..5fea4cd85e4 --- /dev/null +++ b/stable/tautulli/6.8.3/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.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/stable/tautulli/6.8.3/questions.yaml b/stable/tautulli/6.8.3/questions.yaml new file mode 100644 index 00000000000..017623df4dc --- /dev/null +++ b/stable/tautulli/6.8.3/questions.yaml @@ -0,0 +1,686 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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.8.3/templates/common.yaml b/stable/tautulli/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/tautulli/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/tautulli/6.8.3/test_values.yaml b/stable/tautulli/6.8.3/test_values.yaml new file mode 100644 index 00000000000..751715bdf18 --- /dev/null +++ b/stable/tautulli/6.8.3/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Tautulli. + +image: + repository: ghcr.io/k8s-at-home/tautulli + pullPolicy: IfNotPresent + tag: v2.7.5 + +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.8.3/values.yaml b/stable/tautulli/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/thelounge/1.8.3/CONFIG.md b/stable/thelounge/1.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/thelounge/1.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/thelounge/1.8.3/Chart.lock b/stable/thelounge/1.8.3/Chart.lock new file mode 100644 index 00000000000..1226ba07611 --- /dev/null +++ b/stable/thelounge/1.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:41:00.286560817Z" diff --git a/stable/thelounge/1.8.3/Chart.yaml b/stable/thelounge/1.8.3/Chart.yaml new file mode 100644 index 00000000000..2b045b8ab28 --- /dev/null +++ b/stable/thelounge/1.8.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/thelounge/1.8.3/README.md b/stable/thelounge/1.8.3/README.md new file mode 100644 index 00000000000..6f6694d6f08 --- /dev/null +++ b/stable/thelounge/1.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 1.8.2](https://img.shields.io/badge/Version-1.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/thelounge/1.8.3/app-readme.md b/stable/thelounge/1.8.3/app-readme.md new file mode 100644 index 00000000000..cd1a83c63c2 --- /dev/null +++ b/stable/thelounge/1.8.3/app-readme.md @@ -0,0 +1,4 @@ +The Lounge, modern web IRC client designed for self-hosting + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +The Lounge, modern web IRC client designed for self-hosting diff --git a/stable/thelounge/1.8.3/charts/common-6.10.7.tgz b/stable/thelounge/1.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/thelounge/1.8.3/ix_values.yaml b/stable/thelounge/1.8.3/ix_values.yaml new file mode 100644 index 00000000000..12e3b82367b --- /dev/null +++ b/stable/thelounge/1.8.3/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/stable/thelounge/1.8.3/questions.yaml b/stable/thelounge/1.8.3/questions.yaml new file mode 100644 index 00000000000..f981499bc35 --- /dev/null +++ b/stable/thelounge/1.8.3/questions.yaml @@ -0,0 +1,644 @@ +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 + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/thelounge/1.8.3/templates/common.yaml b/stable/thelounge/1.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/thelounge/1.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/thelounge/1.8.3/test_values.yaml b/stable/thelounge/1.8.3/test_values.yaml new file mode 100644 index 00000000000..b92da5d94e9 --- /dev/null +++ b/stable/thelounge/1.8.3/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/stable/thelounge/1.8.3/values.yaml b/stable/thelounge/1.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/traefik/6.10.3/CONFIG.md b/stable/traefik/6.10.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/traefik/6.10.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.10.3/Chart.lock b/stable/traefik/6.10.3/Chart.lock new file mode 100644 index 00000000000..61f87530529 --- /dev/null +++ b/stable/traefik/6.10.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:41:04.370714052Z" diff --git a/stable/traefik/6.10.3/Chart.yaml b/stable/traefik/6.10.3/Chart.yaml new file mode 100644 index 00000000000..dbdfd4c63f5 --- /dev/null +++ b/stable/traefik/6.10.3/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: '2.4' +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.10.3 diff --git a/stable/traefik/6.10.3/LICENSE b/stable/traefik/6.10.3/LICENSE new file mode 100644 index 00000000000..907ff83212c --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/README.md b/stable/traefik/6.10.3/README.md new file mode 100644 index 00000000000..15d301efaff --- /dev/null +++ b/stable/traefik/6.10.3/README.md @@ -0,0 +1,44 @@ +# Introduction + +![Version: 6.10.2](https://img.shields.io/badge/Version-6.10.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.10.3/app-readme.md b/stable/traefik/6.10.3/app-readme.md new file mode 100644 index 00000000000..6ac1d9a76a4 --- /dev/null +++ b/stable/traefik/6.10.3/app-readme.md @@ -0,0 +1,4 @@ +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.10.3/charts/common-6.10.7.tgz b/stable/traefik/6.10.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/traefik/6.10.3/crds/ingressroute.yaml b/stable/traefik/6.10.3/crds/ingressroute.yaml new file mode 100644 index 00000000000..9422be3c878 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/crds/ingressroutetcp.yaml b/stable/traefik/6.10.3/crds/ingressroutetcp.yaml new file mode 100644 index 00000000000..b50eb9dcc46 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/crds/ingressrouteudp.yaml b/stable/traefik/6.10.3/crds/ingressrouteudp.yaml new file mode 100644 index 00000000000..d7c2624b576 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/crds/middlewares.yaml b/stable/traefik/6.10.3/crds/middlewares.yaml new file mode 100644 index 00000000000..513b36f5d8a --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/crds/serverstransports.yaml b/stable/traefik/6.10.3/crds/serverstransports.yaml new file mode 100644 index 00000000000..689a57f71bd --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/crds/tlsoptions.yaml b/stable/traefik/6.10.3/crds/tlsoptions.yaml new file mode 100644 index 00000000000..a0c2573fb93 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/crds/tlsstores.yaml b/stable/traefik/6.10.3/crds/tlsstores.yaml new file mode 100644 index 00000000000..f9a40052ba6 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/crds/traefikservices.yaml b/stable/traefik/6.10.3/crds/traefikservices.yaml new file mode 100644 index 00000000000..59fa4839477 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/ix_values.yaml b/stable/traefik/6.10.3/ix_values.yaml new file mode 100644 index 00000000000..0a43b81babd --- /dev/null +++ b/stable/traefik/6.10.3/ix_values.yaml @@ -0,0 +1,332 @@ +# 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] + +portalhook: + enabled: true diff --git a/stable/traefik/6.10.3/questions.yaml b/stable/traefik/6.10.3/questions.yaml new file mode 100644 index 00000000000..5871a42de51 --- /dev/null +++ b/stable/traefik/6.10.3/questions.yaml @@ -0,0 +1,508 @@ +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: pilot + label: "Traefik Pilot" + group: "App Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + - variable: token + label: "token" + schema: + type: string + default: "" + - variable: dashboard + label: "Pilot Dashboard" + schema: + type: boolean + default: false + + - 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: chain + label: "chain" + schema: + type: list + default: [] + items: + - variable: chainEntry + label: "" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: middlewares + label: "Middlewares to Chain" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + required: true + default: "" + + - variable: redirectScheme + label: "redirectScheme" + schema: + type: list + default: [] + items: + - variable: redirectSchemeEntry + label: "" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: scheme + label: "Scheme" + schema: + type: string + required: true + default: "https" + enum: + - value: "https" + description: "https" + - value: "http" + description: "http" + - variable: permanent + label: "Permanent" + schema: + type: boolean + required: true + default: false + + - variable: rateLimit + label: "rateLimit" + schema: + type: list + default: [] + items: + - variable: rateLimitEntry + label: "" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: average + label: "Average" + schema: + type: int + required: true + default: 300 + - variable: burst + label: "Burst" + schema: + type: int + required: true + default: 200 + + - 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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.10.3/templates/_helpers.tpl b/stable/traefik/6.10.3/templates/_helpers.tpl new file mode 100644 index 00000000000..f7b055fa82e --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/_podtemplate.tpl b/stable/traefik/6.10.3/templates/_podtemplate.tpl new file mode 100644 index 00000000000..9e8fe8aca34 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/custom/common.yaml b/stable/traefik/6.10.3/templates/custom/common.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/traefik/6.10.3/templates/custom/middleware-namespace.yaml b/stable/traefik/6.10.3/templates/custom/middleware-namespace.yaml new file mode 100644 index 00000000000..16156ee5e12 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/custom/middlewares/basic-middleware.yaml b/stable/traefik/6.10.3/templates/custom/middlewares/basic-middleware.yaml new file mode 100644 index 00000000000..98f7d1c170c --- /dev/null +++ b/stable/traefik/6.10.3/templates/custom/middlewares/basic-middleware.yaml @@ -0,0 +1,58 @@ +--- +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.10.3/templates/custom/middlewares/basicauth.yaml b/stable/traefik/6.10.3/templates/custom/middlewares/basicauth.yaml new file mode 100644 index 00000000000..4e0f326a2f4 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/custom/middlewares/chain.yaml b/stable/traefik/6.10.3/templates/custom/middlewares/chain.yaml new file mode 100644 index 00000000000..ef592c255ba --- /dev/null +++ b/stable/traefik/6.10.3/templates/custom/middlewares/chain.yaml @@ -0,0 +1,16 @@ +{{ range $index, $middlewareData := .Values.middlewares.chain }} + +--- +# Declaring the user list +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: traefikmiddlewares +spec: + chain: + middlewares: + {{ range $index, $chainData := .Values.middlewares.chainmiddlewares }} + - name: {{ printf "%v-%v@%v" "traefikmiddlewares" $chainData.name "kubernetescrd" }} + {{ end }} +{{ end }} diff --git a/stable/traefik/6.10.3/templates/custom/middlewares/forwardauth.yaml b/stable/traefik/6.10.3/templates/custom/middlewares/forwardauth.yaml new file mode 100644 index 00000000000..bb90d33775e --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/custom/middlewares/ratelimit.yaml b/stable/traefik/6.10.3/templates/custom/middlewares/ratelimit.yaml new file mode 100644 index 00000000000..b4bfa938e6e --- /dev/null +++ b/stable/traefik/6.10.3/templates/custom/middlewares/ratelimit.yaml @@ -0,0 +1,14 @@ +{{ range $index, $middlewareData := .Values.middlewares.rateLimit }} + +--- +# Declaring the user list +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: traefikmiddlewares +spec: + rateLimit: + average: {{ $middlewareData.average }} + burst: {{ $middlewareData.burst }} +{{ end }} diff --git a/stable/traefik/6.10.3/templates/custom/middlewares/redirectScheme.yaml b/stable/traefik/6.10.3/templates/custom/middlewares/redirectScheme.yaml new file mode 100644 index 00000000000..070c8fc4a90 --- /dev/null +++ b/stable/traefik/6.10.3/templates/custom/middlewares/redirectScheme.yaml @@ -0,0 +1,14 @@ +{{ range $index, $middlewareData := .Values.middlewares.redirectScheme }} + +--- +# Declaring the user list +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: traefikmiddlewares +spec: + redirectScheme: + scheme: {{ $middlewareData.scheme }} + permanent: {{ $middlewareData.permanent }} +{{ end }} diff --git a/stable/traefik/6.10.3/templates/custom/portal.yaml b/stable/traefik/6.10.3/templates/custom/portal.yaml new file mode 100644 index 00000000000..92e80f287a2 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/custom/portalhook.yaml b/stable/traefik/6.10.3/templates/custom/portalhook.yaml new file mode 100644 index 00000000000..5a9fee80da4 --- /dev/null +++ b/stable/traefik/6.10.3/templates/custom/portalhook.yaml @@ -0,0 +1,12 @@ +{{- if .Values.portalhook.enabled }} + +--- + +apiVersion: v1 +kind: ConfigMap +metadata: + name: portalhook + namespace: traefikmiddlewares +data: + websecureport: {{ .Values.ports.websecure.exposedPort | quote }} +{{- end }} diff --git a/stable/traefik/6.10.3/templates/daemonset.yaml b/stable/traefik/6.10.3/templates/daemonset.yaml new file mode 100644 index 00000000000..469e105c358 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/dashboard-hook-ingressroute.yaml b/stable/traefik/6.10.3/templates/dashboard-hook-ingressroute.yaml new file mode 100644 index 00000000000..ec278c26910 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/deployment.yaml b/stable/traefik/6.10.3/templates/deployment.yaml new file mode 100644 index 00000000000..494087cfd0a --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/gateway.yaml b/stable/traefik/6.10.3/templates/gateway.yaml new file mode 100644 index 00000000000..85194211fe5 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/gatewayclass.yaml b/stable/traefik/6.10.3/templates/gatewayclass.yaml new file mode 100644 index 00000000000..61bf007db1e --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/hpa.yaml b/stable/traefik/6.10.3/templates/hpa.yaml new file mode 100644 index 00000000000..bf37117de6a --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/ingressclass.yaml b/stable/traefik/6.10.3/templates/ingressclass.yaml new file mode 100644 index 00000000000..7c62458c82e --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/poddisruptionbudget.yaml b/stable/traefik/6.10.3/templates/poddisruptionbudget.yaml new file mode 100644 index 00000000000..9893e521759 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/rbac/clusterrole.yaml b/stable/traefik/6.10.3/templates/rbac/clusterrole.yaml new file mode 100644 index 00000000000..2c63e006414 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/rbac/clusterrolebinding.yaml b/stable/traefik/6.10.3/templates/rbac/clusterrolebinding.yaml new file mode 100644 index 00000000000..509e92ff2b7 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/rbac/podsecuritypolicy.yaml b/stable/traefik/6.10.3/templates/rbac/podsecuritypolicy.yaml new file mode 100644 index 00000000000..66bc1458d55 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/rbac/role.yaml b/stable/traefik/6.10.3/templates/rbac/role.yaml new file mode 100644 index 00000000000..6c763065d6f --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/rbac/rolebinding.yaml b/stable/traefik/6.10.3/templates/rbac/rolebinding.yaml new file mode 100644 index 00000000000..10416401867 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/rbac/serviceaccount.yaml b/stable/traefik/6.10.3/templates/rbac/serviceaccount.yaml new file mode 100644 index 00000000000..bcc941eec95 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/service.yaml b/stable/traefik/6.10.3/templates/service.yaml new file mode 100644 index 00000000000..745bb9102d7 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/templates/tlsoption.yaml b/stable/traefik/6.10.3/templates/tlsoption.yaml new file mode 100644 index 00000000000..ec46e8bbc94 --- /dev/null +++ b/stable/traefik/6.10.3/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.10.3/test_values.yaml b/stable/traefik/6.10.3/test_values.yaml new file mode 100644 index 00000000000..596cc786695 --- /dev/null +++ b/stable/traefik/6.10.3/test_values.yaml @@ -0,0 +1,438 @@ +# 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 + chain: [] + # middlewares: + # - name: compress + redirectScheme: [] + # scheme: https + # permanent: true + rateLimit: [] + # average: 300 + # burst: 200 + +portalhook: + enabled: true diff --git a/stable/traefik/6.10.3/values.yaml b/stable/traefik/6.10.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/transmission/6.8.3/CONFIG.md b/stable/transmission/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/transmission/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/transmission/6.8.3/Chart.lock new file mode 100644 index 00000000000..651a0611d87 --- /dev/null +++ b/stable/transmission/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:41:08.488108376Z" diff --git a/stable/transmission/6.8.3/Chart.yaml b/stable/transmission/6.8.3/Chart.yaml new file mode 100644 index 00000000000..1dba69d7b5f --- /dev/null +++ b/stable/transmission/6.8.3/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/transmission/6.8.3/README.md b/stable/transmission/6.8.3/README.md new file mode 100644 index 00000000000..c4a9d847130 --- /dev/null +++ b/stable/transmission/6.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/transmission/6.8.3/app-readme.md new file mode 100644 index 00000000000..98549f0fc93 --- /dev/null +++ b/stable/transmission/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/transmission/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/transmission/6.8.3/ix_values.yaml b/stable/transmission/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..aeea220e56b --- /dev/null +++ b/stable/transmission/6.8.3/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.8.3/questions.yaml b/stable/transmission/6.8.3/questions.yaml new file mode 100644 index 00000000000..62fde2f2b7f --- /dev/null +++ b/stable/transmission/6.8.3/questions.yaml @@ -0,0 +1,1173 @@ +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 + - 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 + - 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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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.8.3/templates/common.yaml b/stable/transmission/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/stable/transmission/6.8.3/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/stable/transmission/6.8.3/test_values.yaml b/stable/transmission/6.8.3/test_values.yaml new file mode 100644 index 00000000000..c2388fbd06c --- /dev/null +++ b/stable/transmission/6.8.3/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.8.3/values.yaml b/stable/transmission/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/truecommand/6.8.3/CONFIG.md b/stable/truecommand/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/truecommand/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/truecommand/6.8.3/Chart.lock new file mode 100644 index 00000000000..9b85a33e3d1 --- /dev/null +++ b/stable/truecommand/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:41:12.473288275Z" diff --git a/stable/truecommand/6.8.3/Chart.yaml b/stable/truecommand/6.8.3/Chart.yaml new file mode 100644 index 00000000000..f839180861b --- /dev/null +++ b/stable/truecommand/6.8.3/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: nightly +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/truecommand/6.8.3/README.md b/stable/truecommand/6.8.3/README.md new file mode 100644 index 00000000000..ac03efb3c09 --- /dev/null +++ b/stable/truecommand/6.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/truecommand/6.8.3/app-readme.md new file mode 100644 index 00000000000..2ec511489ba --- /dev/null +++ b/stable/truecommand/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/truecommand/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/truecommand/6.8.3/ix_values.yaml b/stable/truecommand/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..feeb16a6372 --- /dev/null +++ b/stable/truecommand/6.8.3/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.8.3/questions.yaml b/stable/truecommand/6.8.3/questions.yaml new file mode 100644 index 00000000000..c18e6ab176c --- /dev/null +++ b/stable/truecommand/6.8.3/questions.yaml @@ -0,0 +1,648 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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.8.3/templates/common.yaml b/stable/truecommand/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/truecommand/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/truecommand/6.8.3/test_values.yaml b/stable/truecommand/6.8.3/test_values.yaml new file mode 100644 index 00000000000..7710492dc3d --- /dev/null +++ b/stable/truecommand/6.8.3/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.8.3/values.yaml b/stable/truecommand/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/tvheadend/7.8.3/CONFIG.md b/stable/tvheadend/7.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/tvheadend/7.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/tvheadend/7.8.3/Chart.lock b/stable/tvheadend/7.8.3/Chart.lock new file mode 100644 index 00000000000..5aea004a3a5 --- /dev/null +++ b/stable/tvheadend/7.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:41:16.623163822Z" diff --git a/stable/tvheadend/7.8.3/Chart.yaml b/stable/tvheadend/7.8.3/Chart.yaml new file mode 100644 index 00000000000..d69ffadede1 --- /dev/null +++ b/stable/tvheadend/7.8.3/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/tvheadend/7.8.3/README.md b/stable/tvheadend/7.8.3/README.md new file mode 100644 index 00000000000..97ed23828f1 --- /dev/null +++ b/stable/tvheadend/7.8.3/README.md @@ -0,0 +1,42 @@ +# Introduction + +![Version: 7.8.2](https://img.shields.io/badge/Version-7.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/tvheadend/7.8.3/app-readme.md b/stable/tvheadend/7.8.3/app-readme.md new file mode 100644 index 00000000000..2434a94cc52 --- /dev/null +++ b/stable/tvheadend/7.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/tvheadend/7.8.3/charts/common-6.10.7.tgz b/stable/tvheadend/7.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/tvheadend/7.8.3/ix_values.yaml b/stable/tvheadend/7.8.3/ix_values.yaml new file mode 100644 index 00000000000..9f7637469cc --- /dev/null +++ b/stable/tvheadend/7.8.3/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/stable/tvheadend/7.8.3/questions.yaml b/stable/tvheadend/7.8.3/questions.yaml new file mode 100644 index 00000000000..3472c1472ee --- /dev/null +++ b/stable/tvheadend/7.8.3/questions.yaml @@ -0,0 +1,743 @@ +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 + - 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 + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/tvheadend/7.8.3/templates/common.yaml b/stable/tvheadend/7.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/tvheadend/7.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/tvheadend/7.8.3/test_values.yaml b/stable/tvheadend/7.8.3/test_values.yaml new file mode 100644 index 00000000000..2835710b41e --- /dev/null +++ b/stable/tvheadend/7.8.3/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/stable/tvheadend/7.8.3/values.yaml b/stable/tvheadend/7.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/unifi/6.8.3/CONFIG.md b/stable/unifi/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/unifi/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/unifi/6.8.3/Chart.lock b/stable/unifi/6.8.3/Chart.lock new file mode 100644 index 00000000000..0eb5a129d3e --- /dev/null +++ b/stable/unifi/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:41:20.817458178Z" diff --git a/stable/unifi/6.8.3/Chart.yaml b/stable/unifi/6.8.3/Chart.yaml new file mode 100644 index 00000000000..4fc3e5a23e8 --- /dev/null +++ b/stable/unifi/6.8.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/unifi/6.8.3/README.md b/stable/unifi/6.8.3/README.md new file mode 100644 index 00000000000..dca548474a2 --- /dev/null +++ b/stable/unifi/6.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/unifi/6.8.3/app-readme.md b/stable/unifi/6.8.3/app-readme.md new file mode 100644 index 00000000000..6d1448f6aa5 --- /dev/null +++ b/stable/unifi/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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/stable/unifi/6.8.3/charts/common-6.10.7.tgz b/stable/unifi/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/unifi/6.8.3/ix_values.yaml b/stable/unifi/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..c32ec8b42a3 --- /dev/null +++ b/stable/unifi/6.8.3/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/stable/unifi/6.8.3/questions.yaml b/stable/unifi/6.8.3/questions.yaml new file mode 100644 index 00000000000..9a8fd26eee7 --- /dev/null +++ b/stable/unifi/6.8.3/questions.yaml @@ -0,0 +1,839 @@ +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 + - 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 + - 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 + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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/unifi/6.8.3/templates/common.yaml b/stable/unifi/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/unifi/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/unifi/6.8.3/test_values.yaml b/stable/unifi/6.8.3/test_values.yaml new file mode 100644 index 00000000000..d308cc86b98 --- /dev/null +++ b/stable/unifi/6.8.3/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/stable/unifi/6.8.3/values.yaml b/stable/unifi/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/unpackerr/1.8.3/CONFIG.md b/stable/unpackerr/1.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/unpackerr/1.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/unpackerr/1.8.3/Chart.lock b/stable/unpackerr/1.8.3/Chart.lock new file mode 100644 index 00000000000..fd49bf73c32 --- /dev/null +++ b/stable/unpackerr/1.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:41:24.923769695Z" diff --git a/stable/unpackerr/1.8.3/Chart.yaml b/stable/unpackerr/1.8.3/Chart.yaml new file mode 100644 index 00000000000..4c2acf1ca73 --- /dev/null +++ b/stable/unpackerr/1.8.3/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/unpackerr/1.8.3/README.md b/stable/unpackerr/1.8.3/README.md new file mode 100644 index 00000000000..5ab1dc01328 --- /dev/null +++ b/stable/unpackerr/1.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.8.2](https://img.shields.io/badge/Version-1.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/unpackerr/1.8.3/app-readme.md b/stable/unpackerr/1.8.3/app-readme.md new file mode 100644 index 00000000000..ad2f49ba6ca --- /dev/null +++ b/stable/unpackerr/1.8.3/app-readme.md @@ -0,0 +1,4 @@ +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 + +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/stable/unpackerr/1.8.3/charts/common-6.10.7.tgz b/stable/unpackerr/1.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/unpackerr/1.8.3/ix_values.yaml b/stable/unpackerr/1.8.3/ix_values.yaml new file mode 100644 index 00000000000..f94e0877d86 --- /dev/null +++ b/stable/unpackerr/1.8.3/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/stable/unpackerr/1.8.3/questions.yaml b/stable/unpackerr/1.8.3/questions.yaml new file mode 100644 index 00000000000..4c69cfa2e05 --- /dev/null +++ b/stable/unpackerr/1.8.3/questions.yaml @@ -0,0 +1,560 @@ +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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/unpackerr/1.8.3/templates/common.yaml b/stable/unpackerr/1.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/unpackerr/1.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/unpackerr/1.8.3/test_values.yaml b/stable/unpackerr/1.8.3/test_values.yaml new file mode 100644 index 00000000000..7e289d84f91 --- /dev/null +++ b/stable/unpackerr/1.8.3/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/stable/unpackerr/1.8.3/values.yaml b/stable/unpackerr/1.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/vaultwarden/4.3.3/CONFIG.md b/stable/vaultwarden/4.3.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/vaultwarden/4.3.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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/4.3.3/Chart.lock b/stable/vaultwarden/4.3.3/Chart.lock new file mode 100644 index 00000000000..602599a91c7 --- /dev/null +++ b/stable/vaultwarden/4.3.3/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +- name: postgresql + repository: https://truecharts.org/ + version: 1.1.0 +digest: sha256:bfb287d37915d4e0a276787d4c3624a28b5d65086a10290dd5f78a22f57a1e2d +generated: "2021-08-28T12:41:29.639352066Z" diff --git a/stable/vaultwarden/4.3.3/Chart.yaml b/stable/vaultwarden/4.3.3/Chart.yaml new file mode 100644 index 00000000000..f6567c8a8a3 --- /dev/null +++ b/stable/vaultwarden/4.3.3/Chart.yaml @@ -0,0 +1,34 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +- condition: postgresql.enabled + name: postgresql + repository: https://truecharts.org/ + version: 1.1.0 +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: 4.3.3 diff --git a/stable/vaultwarden/4.3.3/README.md b/stable/vaultwarden/4.3.3/README.md new file mode 100644 index 00000000000..864d6028b26 --- /dev/null +++ b/stable/vaultwarden/4.3.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 4.3.2](https://img.shields.io/badge/Version-4.3.2-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://truecharts.org/ | common | 6.10.6 | +| https://truecharts.org/ | postgresql | 1.1.0 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/4.3.3/app-readme.md b/stable/vaultwarden/4.3.3/app-readme.md new file mode 100644 index 00000000000..badd081d742 --- /dev/null +++ b/stable/vaultwarden/4.3.3/app-readme.md @@ -0,0 +1,4 @@ +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/4.3.3/charts/common-6.10.7.tgz b/stable/vaultwarden/4.3.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/vaultwarden/4.3.3/charts/postgresql-1.1.0.tgz b/stable/vaultwarden/4.3.3/charts/postgresql-1.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..e02064f4a0fbbba046f937023554def8f68481d6 GIT binary patch literal 29484 zcmV)sK$yQDiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMa0ciXnIApU+`{uL;lZmq0IN&c2r@A>X?ZMV%falEmUe%{ON zNnjF^P*WsJfO1?X`?r4%z7iloiLxEH_g?Yzq!tMb27|$1Fc{3_8KIK`k>8X4(G(Um zyn(ai-yZfE34rP zgu>$A2KR2O-noB}2j=)KDhSTf5twg#FwgZ*SklakQI66Wr4dGCAAT1Oy%>?Gz&Yiw&Ljh#|KAth zG-JROoC&7W@-mFFnE|p7^PKc)flz-22}MPpPr8yFxeDSrKyz=!U94$?u65 zfSAHdNRSr*_WP>5M4FV}{Ow>E4)?=BF!;usL7Y;EQ&ezxXa;dI0yrIK|7nxX1Crbq zMTz+ABpv`|k&HmCpoVhw8%pB;B+)c0DN2I`U0&jJ5~hiU^{PlQB*X8%+i8I%idAyK zBUxEQV)PYNudlDes)QJ3dXu9OfO($a2(q#D^so=ZVL0&qY*t@Cj;A62lPtP=;5L@X z|H01opdtVFcGmL$F`h3X-|++yIs#-0xA*o(`@6ew4EInx+}#~N+ui-{yWI$WyF1+9 z+lhzKw>!_i+uI)O4|jHl`|)^t=es!G-~Vo~jfQAj)j$jc--%Mu*jjKK5pX-3ZqL{LgS04SV{fIr*`cYV(zl+Dn|4Fe@K zf!8Q15TwZSJc5cjj(9Un`CZyqw7_LQyL4iZ9!+ znq_55&mf(SfZw0Pf~kppW7@=!LZ6ou{m$nR{{^E65%MyNIW1uPOMxkRl|}+8!G9n| zy}{r|?DO_TFGwdebm{vx>{T5(gM=_8cLaQj2+biOzVZ1DL4{Zx_-FIeF%+7w{$@%-U!}IfBUcEjReJ8xm&*PEEq`-+3&OWTOxZ1fPasBPSSA!~0-Q!k86)6}Wh`WsNjNT(g#G1%5cI(3&)-PU zSLkL0{HixWE(zgtj4$%U!u8Gh$?FmD4NRIe0-rzoW}V~j+iED%@fsVt#{YfszDXP> z2!*TzfV-Yq-j@Fq&GH0NMEY_<>3vX?rDHs~^UAPH|J&cL$^Y%av%&sa{y)ZJ?f-|~ z6;9(3IO5~|66W3vQOE?`Nbeu@ObH~HOtb7ta!4?PIb(d7rWxgXKq=0OEJ;}9+gnh; zG(Jr7DLgG_U=Mr(zn2+h{O_rDP)duNJi{ps$#euh1suf2SN%(z_Q{n0ie~YF-;cBC z3KfA>K`&lHG@?07fdAw+n#G@e@IOI}Np_w7JO5Uu6el2`yvL+KFuwVB5NA>-kOZL| z?1^%5mLl<2K6xLPvm69(K&t=%pFe{jc7HdfJNO%@#CZS7_lHM6zd3t-yc(n zbXc(=EW^%5otTO>b!Uhk&<=^y9(7aG{3&HugK zVRQcPuIK+_JkIrB=+utI-ytlT%Jt{Z9smivM2TGeZ*PM}HSwJl{{&K;#wev=S5&QO z53Kezrc=F~8s9|)QHEy!1!sv1Ap43^rt(T7^{X8IULvhu|oAR@g&|`%1qb$E+yL&GP0?!m~mykx&z7}!+C%bfRZVIG~NSxcZ zo!c3IijrAKrhQh#9|5CQ^LucO@MKE;5%7n;<8zD>L{X4)Bbz@0{3R))2%#9o-M3F9 zM-jKa$!RQ5HTzf@Qr!InK*8XRA~rLqGX9;SIV$9*D60-I#haj7AVP7DbSms1L2bLJ zEqcQ6$SULoPU#rZSRG^O{_oj#Py#Kr=MkFdWF-;7AQ~xDV`&cLpn9y!!-6bK#C?@ zlLDK0fyVeFiUs?B)e8X=D3@cPEi41o)ho+7~EtfND+$Jmq?TYl*xy~Jg-V0<~adb%6%A556{8* z(cz1eEs!UODS!nUqky#s|NbIJye>egsTP9HWuf;*B(e zX$h15|K%0VS%t5+2S2hZq(9sZ6464yy+~Cj59bgkY{x4Xe2_^ZJWsiQ!MLPlfkfYO zI6(jtFv%oM2zq7Mb_y5~|w!L2eALZF#^GtX_<1F>Ouim|_ymklS_V%xvYNp}YBqURe zl9+@z>tDing8H&_APNUK9cRUivo%cqH=#EPIv6LA2ITh=7N`fldUsLx6JF8+D<2re zyR>mwb7No9L{&UsrI)tgd8XI8SGi{cSRfE1f+wkvi2ikfq5@2!25z zf+%;F)j!V zy#So^sffV4U+@)fgWU51a8#jmj7gLgaaB4NFT%;BPv4TWi=TeEparYMngkHM+yk33!bsQ%b;VL{KqDF$loL6dCtpz?s~d z{n_j4Kgwh1e|%E+F-5Zn_5okE{~PYt&;NIa>+}D|c_K*BBrC8mkp>`^rg?si?mfRB z_OMs!{_GB~AM0t(|Bvq<`Xb1Z`9Iv-->v)q4EOie^ZzlPjSXeh<)%t$%^=`y#RL2$ zN-3aINWlcLZB87E{SDKLvXbT{H+LxQL)7y&z;pTy0k2M9{1=!Zm{M*DwV?5>2tftg zsGPpK0O(_mA}Vc4Q69j{Y&U=Y6p8Sv`nO2)U>_zG_+fTqv{Ss}L0VrwYZLZKcrg#PR~Z$1tAZxiD|+E^_A_jdQ6 zHT=J~ch>sfqdb!$lb6oavABPvynDcNE?mVO2s37b&p$}}R!P|YPYQNk&#yxh$Jj1F z>hJ+^16Pv47{n+~vYQ!7X#V3XvQ|c#Nak zF@Xi_6j9a_wnD))2Iu1DBU#*cS;?xgfTZU%D;WJ*@w4h0qpJ=1nHMEfZk=RXbH4Us z0tm_>+rW$cyO3F~7N4g)%!QK`#HS_&D|As*7MR{Bd}mnL92V1rs9KTqGGw)LyS8rP zHIhLpc&TI5O7n9*gg2m275cF#ESVW5Nftq=fGC!7X-7Zd=^W#T$`?}{$0)Vjb|9sN z;TmINCNH2Go-GQ86aK~bOn(@Y2%;uuCeb~ndTAu3r;vqeD}LfZF{T13adp@HCVF|9 zWeI|*%SorIWcIG|t!dESlvS$Bo#?xOn5=9oy`(*pNX}$snJ%s6Anjxz0o zi&N?z*+(80?*JNS^5xC^@K+KHy1}XHJ=nsU*&)a%rQ>6E=&4Uqu>Ehx$UUFv#xVDHP#E# zr0fe!sDp5*PPk6QcTqP{4H%t$_p5w^DVnuv8uRBA&77Ks#!dIE+W;6N?HunW7EHTq z@V7$b6wVyn?`qye!odZ0n|y+`Hp%3qbSG3<<$Iu7>gt`*RaXP=gzlMjEno$dTac__In4-_yG#qch1*qI z;|D)wgo3IQKn=IWMhhiKj1aGeDnNE$+qTR&hFnywPPdAUbf@Y zKIZ15$G@RziKlhnw{Q<-_dpI#W8TOiG1 zbjCg1(Z@U^$hMFuJ20DDyeK&5VW+mhiwwq>Fkw1vA*<ywWv-zu{FtV$^t`mByld z)$1m7x5`_MfY1U@B`sX_n?zn*x`Mh8ttQwd#VfdM1io*jrwjC=8YUkmM!Dx_tsH5B z11@~qTX&Ui=KwOzuHWPF2)ujeGj8y=fPcXLu{!kYulHe|Mf5-)#msqrM%o38ECbl2 zTSkf{g})#r3=P&vhj*^3HO+Q8nOeBfL8~^#Z6|@*o2BX}zr(Xkq<%xVsd1C^Txv`= ztXkGB@ioGebU)?rLCYsoLyO zYrzT@kH~h6J8u0Km#&~rGr~iqbc5Pf+CEq1V|bK6(!LWj#@;NyY~aB!ut;$_8G*x8 z`pgQSMmmM5xWN_t_Yddb8Yc<3ED*fnai%U|boJGPY`fVw-Ouizkz7baL=C5+Rw^Ef z%h@<;x*)aFP*>uXL4v61fy9&!d429d=%pEE0nzR+W>oy1Rzj%)UqlAFG|~Dw1*1VL zcI|Vp=8ypCl#LFK8&=y&%ro7C2S7scqm3XdlQ(r9o+F2&5k8yz_niV&%ilY{P4JY(&)g0}t2!9#eA8>+JLw$J-8+v!B%b=ZS(Ur?- z$^~yxS>se-3Jc-H+3{FlN%;!$_emCAtpa*M1*S6$-Ilw6%B@!~`$_S5kI zZ-!!A&f1l5sf2--yxfCGG_BbE6G*g|Xx3TGxXYS@QRRqfSD1Jaz{-G11zoB!B}sM- zvI4}IK>qivOeoG11kT)F_*r&gU#%bltx$C$u1=1v2hblIFrlGxr zX-9@wUc-U?YT#R|Sh_m?W5FRl{sZwqn&ph`Z||@b|ALI6@+G-?rPFw{*hXZ4xx3m& zB=EI)WNjXC6u6y)?p3Nlav-W4)e`XNoY26 z857nP7z@RJ6bsBEBgNVbW5ZjUVb*4twHd~N-P#PZHp4U^ugx$WK(Ea(Ycq^|?ySr$ zy%^E$;_BM`QbAsuU+U(UqrZr9xwgNo?Jrh0>-HC~t~krUmX=v%L43@IigB3W8KzDT z7!?%r1uFp*D&QzfNjb~wSF<0|t`g;C>);-pz4;;rhV8*%&{!?(b%zPVR=k9)1g{TY zei`%_)40%Lt12RkNAR^M17S02Z`!AtBvKqPU)zZd3tz_!&h z^uRd)m*#)jtLOjSWuMpazaQbT6WOU`Uoy#Wf<42=!->P*m7#$J0(#AmAKQSddVFDhVoN z_81Pe>_6Mz9SolB?Ri(|<~l24GV%gYHRc5h(?BHO2xLwU@2b2+x})Dz*(1O4bgImP z14A>2lMxqo|5+1gDr<{D004N#tXe@0n#OWkV6AkNCkzz=O z-+i~!0!tK=y--J>yo=sk^=Ci)E*y50x2^O40h2&2p8vbUK_mb7{_bF%|LIYlNs?Vc zo&jhB1OYfl6u=Z@b5s;K7OCs`*(^`i&vwBgA+|_0B-!?rENwwy5d903)ot zr#CFRuuZ5mqmZgoHr9Amuy4TW>jpev)*6A^&n7^=cUT3Ms9=I|#+D}{xfKr`FQUJ< zQLM}-1&omy@Li-sssi$pEimWQ6cU0HQ$;%mn{tQJe$6u1a^mqH(RI8T<&!RL274wT$1ZfFWfu5dipK zwW`L@*6QZ4plZT^>X)7#G8q5^QXr;!XDOIs!jl|xYYZQC@!==&o||AsV8=*$#zFC4 zM*cH98Jb;+!img$X1~wNBmp_klV&GP^E_Tk&2^m`3#RcV>1h$8@|)?C1Wy*?4n0i} zu$YhqmDy)r(_1uO^DOrAEIzEwNv~x}%Hl7oX(vh^#xa24r>ww#Fa#2Cmc`((q#21| zf(mZ~{HMY&2*7{Dm~a91HxJ4(IOXKjf=!)3ix68QM(B#ir0AXD^tGPUV1v)=8T@F! z;a&1CFl^*f~v-N(G0*?$Cj$WbVyYN<6w5JzcL+~id3*(JYiiLP*xvjGvACzw!R zQf-6NHNCma;v0d0IEYbnHj~jb; zj%PhQzey?ls21sww*d}&;NrhW;LXJmBS25Ib}aKGz83kR!&8xv@EdOf9O)w7hA^0+ zbS|x(S1o##sVTGmc)~60VI-8vP!>jN&%UnTJaZC6K2_# z(0oK;*1mu#9hi_P6u@|fQV#5~PIo_L0 zFiIqP9HZmxI=zNP3=Yqp^Ni{U>221PPNg5>tk1J=Q%J5zAE&>ehz2pFFo4yS)V?vQ zfg067#D5F&EDj9YP~T3Asrq{Q>iFdS>EX*0Av*vVW0b@)Bc>QE{^ktQ>4?vRFwJ7b zsKC=!3SeSkkonkN!kpI^wbe$6eF75i3rN z$759RB&JM8aOS?e5%MLPqPS!-U)AGoaHqTpup#4p2dpnaRABD3r52GS$*zf-^E~=J zhy)HAs>oBJe`>Js`ic#15W{qWimW6-g-9E8^pOoHrreW<^Dse_;&kGv7i#JLWr|WM z>WoAJUmWQ53lvB^FuCx^y5D^@oo-4YLEuBSBN&Pg=D3Kxy%%Dgt zm&_4JNs?t(We!BPex^W>Y=*$kda5y~WllIQB2clANdTB4P@Fml4&{w$Nv4iRhiZ8d zUc!B;TyXT{LdB5F#%@{68CtH2go)vI?+P^jwaU`(5Drn6MkuGGuj&P zSWjppw%x+ohYP*%1N-!W$t@;RuQ8djw<@pNO;#2lyG}LmGYwm;6sGSghfTD1J?|Wk zxXNR&GKEoybiK+{h}wOw;xr3uhzj-08+bluJD-b-GuZ+rA|tHYs`I(PzV~@VX)S7c zqRTn=BNKI8P4|7d`(NoI zgy*}k)}>&mz-$?NW^Tvh$;b3(UJDjih-umi1p!+AXkcxb#Kk7Q9FOrwo#I`m=jUBB z2~j(MtH~{7Md>%>gwDZbR5>fMIYYwOU6{spkpquyk1vsS6%_q)*lpWkN@M&2aK?dH z1*yL46W!v83rr^_!O^0Y!PPuX(w$kFZFLNmUM50#V@ifp%)OMstt1={4qw9MoEA%1 z+<)k5VL3XN~)WzJz3rt=SM3Hz`m{(sK? zxHvldzzs_u-W;EOFsqBzj(w8rUJkEQ0NLVM9WA6Wm>^osJe6D!ym|eCf93PEvdtL1 z7YNJDKz5h(F20(W{J4g9wWe4I1En>Kd9Q^{dy0TzoZ(+Wdvrfkpg(YDKzXhc%azj@ z1}$T7TDu5jET=dn6u}r|W1}5b`a{l};G+?;5tauOj6$)Tdg^$Ch@msZ8DGIG+$*f> z{Gf=Z5|f;19?;90m9dYFlFCYA2|{90>b|BjZ53mXxlNdLu$pNK(~;L$nQ=NP5Fsxx zq01L$9tWXago)3F2_-eb#GS*DA^P!+wO#vtLeYYei$3L1kVfhAA% z@#I2bDy!aCWsqRngsE!fi>nNpxQlcK&WG6;%y1kh=o%J?D1kr=h{pKJ{Brdz;gCoU z*|ZWzyU@JFE+LDHq6EOyP!y_@QWGYdu`tgOQ;HdUp58aRyG+UrelZ8L@i2~;xKpdhLuCTgM}|J{ujRWu4KD7P^gwq24^JJhCrTFhe;N}Djj44sT|U2g%kr&sZQ*Zd80;Q zb_VG*1l>>q+9uJr-U*Wk_b`i@s>QSs!-E+7?EnnJ;chT!K)T>trZet6X?-;Iu#J|K zfVFc*b4gtwe()TjiWMAT8pPRcXUJTe>jv4-wQEcN#f$SgyM*BTj85gjI`>~-;z4j0 z8-cvYxU&hgM@NhYO^A-T9l(VGJ&4-Jz^5L5-Y3^C_()E7R%r` z@;*+PQntvvIsYES;&$i#G(a;0T|)~LEwn0u-Fo_^kgK)648wb4w?sh|M(1zXw|4c^ zz(=1-N>_*mu9g*>J7tk@p)p%j=%DhNEwN57)_q&UcF7`5kL!FMZ2=VmVN1u4VR#7Z ztYKuz=cdXt&WcF;jpp1p`0VWwkbaP?&@VVixLD>oO?smp)(ffJ3RR22In_>i8vZX_ z|E8IkNW#{fCFKk$ZOT5!SF5h+t@5G&9}J!M+4w!3qW7Zu-#%=~qSAwemHa07Mow>H zwscuidpN}VmkcA(ppMPKmv4C%ZVZUr;^MIhw(_==fjIcdO~5u00;&q6)Hq{Uaho98 zTf9q9(fy9JCzZ4qjPb+*z;{Iiarev*!G|pn-=uJcBerA+hh|1hOccdpM>QRm>%*3H zT%bXq!lB^Hel_8dY=%Uj2$T>cKu+)+rB=8zNBuJ8h7c5kO#_V{XH5Y*Et7=p4lPK0 zz2qk$+-ys?Ks3$tR>IXA(WVJQ=y`$3>hfUZ8VcXn0+rl{3ZRdea1M!2<9hH2jGnAmwF{*P_m7 zr6sN=tgN4P`*eORnD-8!H`yq`LM}Wm&b^^JTRs&!k?#7i-}? zJIi9Er%7eDx|An_YcKh6m6yzLhov|A9te_#@V!#l9xvdX(TfCPsx%(c2?X=2;3pOqm8)rZQ69 z2Lb8|=lWIMIs8a#NNPz@EWk!&$`+hUM6VG_0ZdG1C(j`DDwNjbhNcI7Y5u|LgOr%4-B*+$* zMUf1~x1rC&A?G5Y+KMm=vNv)JDo&FZTEK?lIHBQ4@9S&~V5MiwJOl~5zaNW7IG zndZdkc8|4H&3UngieIb)mPt|HJs9a%I!=pNaCf%{#wX#*J-Z2%Q+ahcs6{CXo{JL*zAz7*Z%a&dr60z2z@W z6`~#;Y{OpnH#Wel0&vAr#OL17F6<&}LZcPqwN}*V6rGE|S7?9xM=X9>T5vQ)Fc0Lr zfSY?I)lZqGCiFK(@F+_OEg(+ms*dpDwgpZn0h$YoKpzr(V|%*PqN7a z;KpHcJSw>To@X>-*mT|yu|OUs7!stf2})UjQd(f~wvTAk7pBJm%wV1~argX8*{nq& zb?@at?m@sf4kQ8r%{Z+QjRKBCz-Bi8Gk^l~e$O-dp>HtmG7eD&`7`Z~1UdzLP#!guM|U!X6;xV2nh2t6I~OI_sJ0KXtml9Gp> zE>M)sW+;uhDaLSctXxvfICL}v34(KZgvwpr7_&z>D~W&|O*3rR=t_c$P`Jp!gk%7x zO!V>d<0+GGL|E|%D9V(nPsW88c}Fh6l=9o$8ygieTY!|&lp*jEr z{)@i(+J6s|B&7M>!@w+w|Fpf=i2wF%e{W|U|K%~B+uQzAPu|p~#Z8{E1--J&GFH&h zo;ZVq;5ikS#0r$gsNmL>lKqv4t(@W;a0!`8t0E@|TbBy-5qeMipFexIw}EgIL%JEmk|9r+otyPNSrZtCl1t{2HbY zLhzZN#mh#&FR{2WZ**uOw0s`fK=2rZZ&ed!w1iOV>jIV=nq5Nz7Dd_e8aSIVHVSfY z3Ct$O0R8SN%Wn_(Rd@+s)pDa|77W2Bkm59EOW>etjGM@pHmKs*ENibScc12rO_L86 zw`dhz*ro+$3~>TB^8%-I4E)oK0w{yq)REczn)LiORD0&2sljfJd;@E~twAK5=Fow) zyN+bD&gJF7J}d96P~&=j0AI1Wqj^@s1+CWm*8YZhR#2F^+SPD=jFr5*d9I zF1^oFii$B)*_7xdVDx%LdkE!p_A==k{dpQV#z%xTr@~DyX zp?8JTcvNBF%@BpcaHTA3j!7%F^eRA)UQDGAUh5hxzT2{K*A&itN9mB_(*4g`9B9UG z*SErAQiA_9T^Cza4WmeSofTI}24g3hi;y%uDGfZ@@ieeh7v0>^#cpq1?YYVdz{(^h zMq&nOG<{(V&7#2xRoxekvDz2l6<+JkP<-VQTX6>Oz@ z4VdN-0Bqj92Z_F|qfy8BMU9oaAlpFKycg+0)Zmgliyeb#!27f1RTK2_RYVp&bR(!E0(Ub1n4Gu z4LaMQY?X(=?X7`U2X?eV;MR;Ek_PDaMLpfj3J~(}wIDRY;A#>$V(i*D8I`K`XYk`2 zBc?7N`~`Z14N+iY!aC>Sb(ce_y|AghRz}y#=)aIM+C~3U*Lm)G2DDWF+o{`s277zM zwf^@Q57Ym^Ykra=^u6cuUa?Z`)V)O&;8dKjv?+1gKy01h{3zok%WM7BwQp#^w@z0I zm`)IQ!pd)fC+e>A=s=4D^~yfrP$l*GM_@@U^;y7R;52AyR~IGwPenA->KMtnWTqLd zfeg)?4^n;LUi6zSmh@0w()PiVUeCZ*;`^TA$WWs9?9*Xp*YVpRA>J5I9I837ekpXxlhvl3?fF#hzUtfFO+Htwg?gD(j2wM)8c2va9$FC1^RdRk@RI@&wkaAN0N?L|d$Y|N_FU*qA^92I zR26+i!d}%oH5j$tNrVn+@@i>Mg@`yh1m`(S=W7j0-{?z-<75!E1lr)4GR$ zy6AuTJo=LUKf~?8vxfiA{$=T z0F}mY_V&mWujZZOri@~xwS?V7zgJN!dERC5UAS8C7d@%U@oMG`#Jb+|#Aw&hAsKQ( zT|?v$8|B;8ikkdywp3r{h3eo|`c_%(jh1{zyIplZL0QWKqAuVUtnGjHH29Z&y2yW_ z(A|9rSR(%idxQP@{(onGo&WDq9(n%5lOYt^r328+NYKpeQ;4r_^It?S{X+J??cKq4!~VCkp8t>X zH1t0e9`}y=p7tnRWB}BGqC49ERG=zD15~eS`)kFjE&FTv+0fk-9GCsijI&|sZM7_P zd^fwuMrbwL-A1T7)73_3_im|;@NOnTJ-~KzUDd>@`l^;6&#?T|qjL*pUB;A)tUc$7 zC6^g{7Vu)-*t3Kg8^#`u!xysk7^pXzTx9A|^-NPwjii5`sYmxl>Q)aHN z1}xS8pViO*wui&D|M#OjhW>BfI9hohU|&~SydN;juCgz%TRD9oM=r;@j)`U~zDI?ey;KGdD|088fo?*8tu?*F;FySD#6%5w+*Pa}Q%gF1j(*Y1{jfErl* z6S{z|U=3MCD%USZ~&R6j0?B<@i%;hu8VL?SI zjztcex>V~3E(ZFTo|JNxK3#FTFLuD}>?i5))LgqxE_Iz$L9}Y|r!?=>4*lj4HMiNW zx+dqb@_e@`{JLWFv2GojN0jqLYb{p+g8)H;VT|=g1JVRE>1776s>P|ly{(L3TI^J% zRrF2%oynZ}(FNe{MGD)V_|vEYK7rrM%yjhzRooi0bu&Ip^~gwBBR6V1He(&Bv$sc1 zqDaio{zaO^aHMrRQRtxmOVeHd{ZCne|Hx7bld~*7ENRAl@`|N< zf@SvqoyPsIy`BB-wf_GY&qDnl*0lerW&n_9B6o~nf%bhssUuc*-3C~3ECN%(QwxD= z7pIekZIz4kX%0`NNMEiNST#ikvF?>!+ms5s{(SoqQK+^oE%V2{ebJq`-!4V1LA!I2H`58skIvq_p*X>Ra6Rx06%k4)tnMTQQni0A7hca^hwCat zl$ZLAXy9;;*h*qFvV^+JFmfz73wtPHIX`44MZCHD_OkA&%;vi>)N-gGku zF0=o$Z}$4XyR*Nx|3AvJ()xcQ831Sw=(6yO#2P=odA@wjcZF3_leV@w#JqXa<^JPI zqxO-NEXTE4`&ZwRFiLS4rO`OVS${tC<#K&0V!0kt3Zv-^rSw=QG<7W5_+!9UZF`IG z`7?j1H=}AbmN|LAH~cH_$>-1CxSWf=w3u3D{@?W;;F9_O?AiXa`uX4X_S*jcD9=js zA0|oTe&9n`{u}qlj8l82ZLg}#-x_!QRNV@YQD&|kfm|1Ns-1`Qgb3?CF+t-T!2I60 z1!T8+u)xE^;TK`KWXxSYK0Wo`?PcDe%0b=cVSQZy%jJP09YM}39}}kT*Ii_m`#6O? zbAY6ReqI@S+s3j^p&C97O4;8RP|SfslW>kg9a?ZWsn~#c`e{kZIy{jayFt*Jqm?LD zkym@n(%~RB|w&0blpGu4lVqsk$UcRY%GYp^Hncqs3HaE?f6K)Nh>ZDQ?gx z+KC{FtfV~PvWlKfe0dxs=7AG8gbM1rTXM-n9#f&p%-n_y z@2pWycf0LOyUm>&i0m~Z+cSCYAao#8gR9ng0yGD?r z?r>*){`)A;9sED*Yyf`CE~`ATW$MY?jv`W&OyA1&jwKc#M_7L6`LB8V-`cAGmR;WQ z+;>uBWzOpD?SEUp3!|Dv>AZRSN>n@mF`fYb?8oQFzIx}Xc3Zon-vluxKeC?<7nU#(r8*a9RHu}(!Kqt zwnhOgX%^%r18bgq_ajn1sG?k-YqP0wltmN3dDpk zJ>%_-z$u!eLVl|9HjfM~T+p5%D)Nh(BsbPUJmXGmFv)R>Mmyn-@r@B2)|H9?^e=JR zC)3*7AgaCiyrxX?C50;I+v`qpxGYHrbm@v z0c7mbI^8y1r&b4MCa5+<)(#2LYMjsmv1e-icLH(@^QeZ&g*3HoY@Smhv zjNaqiulguEx4XMz^gE+jlqI|hPfcx?KQq4@pP0O5ulm(HiBqi=@74%aYFpsh8&_sY zZG4{;b(6W`5BB;ZPi*lnJAVK+D?=|U^rY2b&C9!C)V{fvE~B(f?Up4_A>S|`S0p_E zn(!R7c^i4i%etTO8E*9I_2zs87R8Bc}tAO*z+E;26hh?28YYS1{{@#$%8o z$rW{;FwN^0B4(#$+R=6h@_S7-iJYXTSdq#@$MRFk3Z9!M~)k)YhhrvX}tXyM20pB&GJ%=na4g~A1 z7_zlnpK6nYH{YdaN_;u0uh1M9I~Ku&baEA|fenJdb4TjXBF16&5&$ccmg|6j6>C`+kFI>E~A(-ixgHY9K&S>MVcX`IZC z`u(rxqp#=uTvnqX8WrH5$U!kcxf$ut+`p`(|KBkV^b-AlXM2069{*!!dv~q>KgP4N z|8Er^`fYU|`-^x3>(J4+Zdcvzv*JWhnGq#yV_yJrg7rZcPhvarcI5vty3XU(jz94Tt8x{FoN*t#UvAt%e#mn^qu zm}<_XQ&#A<$raAaRGyl&J4!hNtQbAD!AK(OBNcTQt~yV-LMU%LoVuUO)*}C#>hNi$ zqbGGx(}-WNdgKBfBtQ;J#nnb7Yvrv4EvSbpxKE&h1`f?o1@&QW#3@)Fp`cl_OOOIb zdk-6@z|lZUsDj21gCOFxq?%yWZ_CNgDApkFUqA)=mwr~!|Lz(GdWrtG|7^dm|7~v% z*ZF@RE*Cwt~5!_5|>n>7?YZNQUQEWSmc$j+yDK}a-3j85FvYXX z%^Ik1?vkbWYh;wP?|>K|K)2SOpZQBlzQ|zwJxpL4p<*#!b+$DsDmvKjEaY9q7b%6R zvlj&%k8vcNx@-bjpPZC(R9@7kiQ_rnFuaE8MBQm>`#Nfyw{6f`Sv;_ZYT014b%P-8 z!*)34aRy|+YcDNwIV&s%DvY{L(Be}YRorm8kfc?j=x`5b#AcA^XRAgsZFD;?FB43r zrx|^XV0?2J$1)?Ju=cimwWzxogw;4-$41Vm`})d=wK7^Lvsd=PYEZLPhvvzc2!dl@ z4G623W{jnJFhkv%>kP*_P+EAB)N+L6{CaV8W*je7ru&PdGtYHWTQlx2J#bnC!D^$b zP-zDa`fOJ5R+XsL=X5etoLZrB^JuQu)16eWj4m_}@D^;b>pWeZYPGCNy|&M68R^Nn zZiZuRS9})68Fhy=U$Ta^DsCrfEN)CbwCeVxVZ$mf2@(@D08meMX+;VE&Yi1}TJDVb zz2XdCG{;5Lu6bTf;BN=O@H=Sd+ofS7Z(AZt-eLd$UMTI|tpH2*|HGZVdi;r6N$89TI%V=i_3j@1GP?w-G ziRwaajnq!fRak}A;%1NqmldEJdNyu%Yt^z->-KLuCH1R7>vS7E+tR!mb$yPY=tR{U zM_dY*U0s?#8>VB%mT(SnA|gyZ0X^W;qLiE<>MG3so_BYtPIFD{JYF<`@u$2fwN zyU|24m@bOjH+(f2Z5()ZSj!xzzMD*>&Pqa$5z3FU{KmLBQ>|+1{8V7UV7dLLy{h7a9vb0KYD~3S`eYWpmTXAC; z78BlBEB7+>yB4X6qRS{H7PHk!Wh{b!Ia=M3G%HMHJw*Xd0seSYeI*O& zR&l(`Lqor`{TiwO-DW#rQyd_qPz+#HWJa*}HVJC-#dTI( zB^iuEk|TM6qtoTCTl<3Q(sT|?$nr(->RS@dhgK4YRHSYYyY=5PoC1Ff_;-NqI6>2P ziViebvHO35m|SiCTOoTp3xK8Pe~tJLJ3G&I*7N@{9zOpMlO($aKbMzC+Q?+y_e|J9 zW0Z!iQ{NfI`KkhC9!aTF?eNH~WV9Qq_SH-^0M-0fYl<&0&M;w~7g=6lro2>kKYqkk z&t9=ouguugRi}h|v@b;tPA4G~NFtMrZQmwnHb=!#Hp_Vs@&6cx!|!~Dm2N3TL;EV1 z#DJ%o^OwZO5yU#0qUcH!gHX}l&1&SRg8f^)blPs0hWhR;rl9l$t3pbxHOz;3R+InI zMQB9};4=9?XxRU@w}XCG|xsT+@+TNY)IWZz|c|JLIaha;LP zX2K%|Bs|P>CExiePhRtQpBo7XnpN7aqc!2oUS7qj7$vcA zGfeOdQxvm(9i3tVHZO1Z5FekOv$8my@PN#{(0e`xg;)Uu5E+1(NN(WoFa_5*N!S*# zBn(diAV*$eyO?DvCn1Av(uICSj`V(F2!4=>;2wzA8sM7z)+kcrIn}%6d?&73sOt54 zt?gN8*P^T65twD(H~c~M*h|M)OEsu@fJ#iwR&DmVe8BvOBXG?^m)N^aL0;8jb#F2kjnrVUZ1V#w>|H}vddw+HL zqIy*q>r!Psj3OR7pJuFgOL{`AI;XYSYnW~Af}yw+ZjGMK1hCYFu-67PwS&quSXW<= zm4EnM0ks-T4C_)}WH~C58xTRp6pBgInyHiH^9z8>7^Id;zivoTXjkQA^S zN3k_i&~fAQt$mHO9WX?*EG4J~F8_LtRt8Hbq-b0w9Iy-Wxh&v<9V~FArvQREOmGb9 zZEk)|dVU*5E~)%4xzSlo|5qUa9@PG`H)x#yZEx?c{l6aN;nM9TDkfr`NU{hfa)pzA z5Nc;2gL#N=Qn0ogFZ88hTIMZFg#>8nGZJotWDl ztnYDEdsY(4>A`fQ>jG0$$I5KZ0;N5JLf}^p)(RV|C71l+Kl@JsF9(c>bT2TW;^H)q zgeIcY$+Qo=;T#pmIHLOERQ(Q+&Y4fqtR;dTZ=Ijl%Rdr0in@J0_O;jGS3slRAZR%RBMFofcRExDy|u6r$Lh`Ntw&i zqXUo_INCwg>q*)|M{_Qq2X}>0>*8Uavo}0WVu4~X(LHnkS#3zGf>j4%G_O%*4{Q&> z_O7#&s>~+S)gwsFZw9EAo33~29rvmI@$Ahqc2&g;`%+%k(B9nz!@;xFdsabe@0n0E zAnzZWd`>1+Q`+Rq#{6(33iO-cd=o?M(ey93`&mC-_kVi(+<&iA@;y-g*ZrO0Zax3& zV7T`Ge3a)_q@25$A~1tEt@14@OMDD;Fh_0KdfL|ple(i&WoBXEjubSp1vC=lEx$j^ zWt>dmXl2*tVOgk zcc)M(a8`~mG=5HiPq?nB`zfO-hixH^z~WGQ4$ZL{bxYw0i;0SBT};SBVE1si z)wMfbs`m0uk-@B15z^w^_5eWXoL4foCs*iZOJ2AzcPA*F8wrq%neas3 zpAf^$>*+k~5==c2yS=;U)HeU?ha#JG!+@2vlVIvwBr-I>&*N3=wRhu(NYD|JUpVSan1N?2HxebBu8WNv>kq!s2@Fze}5%?)~$lhV~a8S9v9 z@Yxv5V6J1v185wjtE+boOMtQ0H-=CQ$dhJq1Nj-u69h(bMY)O6WjHrwP`Tout*G|)Z)n-J^S*j(w^ctAb}HG6evj`i({ zHTfLGw1n^??5b%g2fYT_VGvpv^3U)LK+E4)6AfKdutFa zyaUojc8Qi?-GAxKmKiekXc8tFI_on$4|KFKvUCk6Y;{a7MAy%&Oa%618 zmu#h@DT>Pk6$+O1qC1>vM(C-yn#D>OKUagHv|#o3!rJD!LrN->i~eC5XRIRb!=+j; z3^+2Qzz?_}^cPI0KZ%mHNNz0^mi9bONfmKj|5%Y*MCeQDxAy|4@?vwP=G8y9Aj77% zHpz)OXT4bwt;njlMDwYc16v^5hN?K`q6j87(i+J;0h-K79)Mp=<{dK{C$7u&`2$y{=Pp{nkA^HQi&KpSA@M*|L*zR zN&j0h3f!{$pU-w1@xRykzaHt~+f5NuSu1?X&)rh^I;eYmKW<#n$W=7&1e0boZ&yMu z)9Bz1-Q5xi+ztT_9IjD3nzgV!*f$DvVF5#U07_2-`A*ahRyF1b*Kzcb)$SK4jZq<- zETy4Q0N12dLCZxyWX1ub&%85FbaH_@o$T{9!$xVCpv^2Hn~lSs>Z7sEw;irum4)yC zB_PhY>5Y^*rw(f`mR%ZWg^{Er1e>}9_?m1PpMdbu7Pm{B&7ZhxeD@8!br<>1ZCDQ%|7mCc z*>)rT%g%cL|0s`;|9nJciWs){PqGP)x=DR$&D8M3Y}>>Db$P7$G!LxjBs zOqFNQw*rgSTQnCSqn-?%XBWO-nnEKxgCmTKt4CF4LmQ7?Gq$1ZKz4~#LPjBOw6m66 z6?lXWA#LH5RZ2K4_foR4DO_LV@EnO{O$5O8JLxE?)VK!Vb#0(>A(Vsa=U| zfyh_=#pqf`QMH%N&R0pkbQ_HvUiKFs^jh%rr9`xBFc#p;?Lw&kH3k)?^&0rE$#In=`g*j1H>pX`fF*-cqk_ zP(Z%}f0_|q$*2G*p!tSZSLBg+lcv0&6-6bQzz(&R=R{)=Br zptOm>`VxG*{F=OV?c4xgW661Bx$p@_K1v{-T_`DNG2c9*+F{KiqS6ND5p7%tvue2t zG{>Az0baD40gd5h-&==RwOQAid9BtFZhl=hObZ5TZKMAyKX+dLA1?my&hCE0{=c`g zyI%hvWjEo71zvox>=*M$ zCAM1{mgY%Av#?S9hzZ5%gfAbq@Z^z}ui*^=d4a~L05Ao1aXbce3i(Y;f~a!aYoK|s zsL3TUm-_BRH6{oMGSnXw^rh+O4BZ5^l!5k zDXGh-w6@o4xTNBxucWy4ZvB<)q;d{NSG&Dq=50>OWv z7kGy2r+UstbYWLJ{HH2As&&_4(cJAy$!f2{E2y7hkaDG}RW}>-u7sb;F@@Ixsy{EJ ziz>yfX|kk9V%WI<)i|+g?TIk_S{$J+6_|y^@^LOK!7i5%*KHPOD5wSsb}XpoiqOsC z^5DjozrfR~|AkYO%_L~>ZNtDH?|BoOgTIc`k zlf&beC*dr+Dv-dFE*g5+Vi6ApgeoKl*TQNNF8 zlaNe#FyRnq{Yw~6P+t}fc-a7_3B5_s!8n05AitNeKt1r)y9=&HB>1v` z#my4ntZX2QE`{xRKa{ETTM$*a1JXrNA|3*Oc;3^eKV>tN!wDKaeG2|VwLQUfT3&`x zHtW-(L~;VaJSTlxAk?2hLQx@S#NRw`V*|W|Sh*s5-X|b4{hiF1F7gSyDH8C>`vig@ z2!QyX`h&l(S^=K`|BnNGEtI$!N*S_M80QiA@VA3uINT2h!QcZgDpVNO^v~!9d;;>= z^H}bA*SID6Cf<;}~( z^Pj;dKveeV5B^}V?d$JO|Lsr0{p}O@@a|Vf$+yNKLbtN*#dt=>EJg$sb5!uS2k!>I z+6V^$Ea}u=R&7|TmS!nhR7n{uK7q?DW1R7Ur{Y{#V-7yaoDi)1?dJuB8__5%DIj7v2k0Z508k>PB`MxVo-&{$J0Sr+SCWSI?^Oi-n7xo$a7DPpXUsx_ou5*R=%j`?pnL$0gX7HG6@u zQ~^_*G?5X!+N)MEwpz-J@khQ=oS|Zd36V5)BH75`(y}O-H%pyZn-`zkM6g!D^|B^Y zgSG)(L1*u(p?A^87pdZRRJ`x2W_MGnmny%to7v7XUD(084BUc@dHf+Xk`P7_BIIRO z2mBhr_?H4x^eT;v{jLMTvf*`9shpPV!4aPqwnp$DHB5&;;>9(ta9*Z7(_xZy!crt_ z42`oq=R|c?S%DU^N*gW2XQO9X+(95aB387O6nD9lW~lCHv|?T>zGQb)FYb2Xu53$- zE4uv3b={r8;>vYzY_%&|Qmy6~zMx)#V2oFwVO72x5v%g6Qn6NZMKacEccx>lUUxzg z3JY519m%LlcO#-Iy@Z5KDp(a4Qm{dOt7>QRS+zP4uRwW%BWQj!zNzS1EmEK!b+xsa zG^l7bL0lYnu2#*$Qa4*xez|z-Xq)L~iCJuSF}Fl6<4Tv3%WWxLEGI7boy;S(lxN-P zTg&0rHW6JZ)mpR@LJLUI&c>nurdI(d`FkQ$nX87RcbHcnq{M@cVO>G2LrnpL6p z#!RUfnU7|O!WdErO2Tk|H$}-Th_i@*`7qowkIjtJr8Fz9vn>9tuS@r3l1==tQ(!#fl5LZFS@~?x zaXRrm?|=A<4of+&Fy1axOnp(;C{JjCXf!Q&K|H?clM++pdp*zNl0ff#E)b#T>>Cpe zWkkU(hsBGB`~&~Zk9C1+FZ>B5Gycl^?0Mrdjld?a0iHGi_rN)#WzPTJ?15YFe+b|L z;nnYhUl2$UibV$A zu{yJ+8MwmH70AXSgCv71AZ~$7dFrz2{v_iceQ=$n-%xOsX4e2-W+eq#S@2Ipbf5KB zcYTwBr*a&_i=IW%*JZj%w?K-nHyxDfbt0!|i<^=*6?BdYPg?}@cS6YjY7Hn*5pzl9 z0sQV)QBoH`A9EB@6ieuKfzK5nUmkw@Bk9K}Adf(bldU=w{`T`$RrwsJlLU#>PyVQ? ztXjMErJ?Mge~HsRnfjj{K&#Tal+_6T_yQAwWsZ1l8@o$UKw`WzwV_y5K z1NNx~w!-2Eh?CRodJ`2zcv2KuvDvf1Sl6xrs0@ZLVT#8{L}54aQ}0RmBchvTPSh>n zHz%=;&LJVF;Ce@Rn$eS4PH#4wP1-f9cz9djy~spZuMo05{-!Uqda17n9lxsV_rjwo zPT~Tkn=K8fDKR=Q8htnTRf3ny2NZMG2zNY;P91+LId#rPFK2WEDQ9J2$NifPk+&!L9w*Jdx= z6v+3Q7&Jo{G)eh;2@~PVv)LSztr|Y{iJ<@L$tmAeP#+c(at|rpDxw+Od&*}9;ts+Y z787zn5`=PqQ*jhxicJBvDqb(Snvmv=-EtUP3dZN9%`tJ)XmKs3{{_S}pB61Ln(@+N z0nKaQSvs@Yk1Cp3ga52@nf2|93FVV?es`JNDw0pqc@0Ph(QH3%L4A_W8*=(*bi;|J zCAAYwB^OaT55?aH{Nwv<{2rxqQ!G<}(6$pJU2b!q!jK=x$?SL4r9$B4Exj#GND+o{ty6GR3C%8S8Uek`NiSI^P~4Cr*G}?-vYJI?|*px>Sd_2$Aml&&ucUme=tdU zz{PT!#Uc({hkjJh8(g#n{948s`|8>g8=p$|NV0S;~7prbU;!9VkjCbx~OlX`4WHR zDB8(esNtG3#Q`&tKL-uL$t7{d376HF2p%t?@X9 z(a{-erq#YJqj4L3n{3`*xk15Yl?{rm_4I!oJ)P-FEowUB&V^b!t9xf9{Un`t)X^*5 z^CirMf_Q~C8?(5n^tLPPC+WO{zOEDSb=26oA6y~Z5~=7^BQIg@Xh&93@i#>McOq2x zuXUx~S)1)&l=~fM*|z{OaPPN3c4anGC8qoJ-`OX3r*y|eRyffu!61voz2EDEf9s%k zX}W70OSV@pVg62z!mr>!xA=g2sFQTQWjFYcJ18~+_d9=R-%Lr@a`7?kHuHFo-MNTDP`jPyA5s*n3ucNqAl`oP+`^SHYOb;YY&jZRm6)X6`&$4_$=dNAS6ea!AD+FPw;40v5^ z*T0JaOKJ0?^6ctpTyxvg6bd8Y&mh}JSzktAu+?aAB%-sMtHBZXmgHL+dx^4q&~rtVXB)s!u#R`Dms7 zDu=uSUe}G@Jx0RB?7VGh{!=k~b9~lz!nG7LR`=eB2_XMc8pK~@$uw&|-ipaZ_=5FP zq>gHZ)80k9g?EErmsD(7@e~(tfd)W{p|!@{u@TAt?Tx5OW;C?G@F2399DuF z*87%j-dn9;u-p6I359zo5!IC&^TxK88&YE!9e@wI5#yT9sLt0qho||-)lqDs>>4nd zqE#vY9d}RNKeFK^5YK+WbSjqpmpUT!icJ`yr2FE&g~NWNu7-_(z7F;hrZ-JSz<;0- z82;$S^jyZ5UJ*kpw&@7WZulP#CX~^u{n?Fd$+rqkGeUDnr$G!UyxT~q*oX_M$iO!W z=-7>*PiJ`xUTFTnXc?`>Xx>gTO)*~N!+k6$Pitzl@Xo);*c6nly7g?$!EFU3iZ%pO z+2#-!qh%%4&}zEy|NQ^id)D5zb!6{P(KWDpdM@lVPST_>;15CiM%xYQoV&n1yJ!`g zZggTxzLK0aE&AUVd`ZK{P}IYT+gP6ri{uPPhBxsL2RR}%%ct^^$=f{0!PzL{iHY^!%anxI#+x723c!6w zQ2pGGNBkd8+0r5aupA%nUfixo+uIuUpjS3r8hyc&H`uS^OY8z%VN`Et>~}K? zEaPsz1TzX?0xPI4JPXM(i6_Jn_@~q?8_!sW4BpMx!vpk(lP$2bUzQkX!0B{IkBO+r zHo@E$bVOhYw`Q2ABj{IVMpP1xN}(QOSg6hu3KCm=-vOjMb$9t#dzlJH($p08Qj)LJ z7?I$DjVX*vFEvq#x|1KOp}x4ZyCl#>qjSF~&Ph5Cr{w#O?{JR@#-l7&`CqxEdEkYn z9xq5v9x+(`z&fkn4L$A}EINjyzn2I~&}*G|9>)9omVS0mh5Ub&q|rC3+%G<^lG(>_ zohR8etf>xE)PLANI2r2oe-92$cJlvSJli7wzbY2mc``dKmRZ-zKoyvWq!}Qz@KX~i z32EvK)wHKSg~3Szz6>++zs2P&2*notDVB;?(vP-^NBN*C2r?79GIGK4d6}bQH(^oy zLFRIUkIez?UHH}6)~@c@L#xn-${?z&>864d#>?{_UYzkyRUeCT9n?fdmC5RJ z1H+xTIYh7k?O?%P=>lB2t`Tr$gZ3U)j<4e3B;|Jyzax1XP4DX@c9{QUGE-HnHV!<_ zFVD{Z_#=-N(KnVv@|>ho66fJ(;=`Z)I5Gxde7uh_*9NK`PX zcVwBQw;P_91IYNK$<&r?z}_f0!De@sEH9(jPdsSmBU&Kgxlx>(X1I@i4TJKNYnWNcU&8xSZ7k51S)Y;koPP&nswX^h z_vM@7^oFG2X99Kw7?0&bIXRq3OGM%7^DCKD?Ecr0S{2M3;gio&Lh^>Om!I0uEwC*Y zc(yPQ$iks3@~#Mtkckl*qYiyZbqrf#HLnf4navA`D={<){7|%R@f|!PCr=4tc+LXYHTqSOTscdI6U$@Vbu?gqhML6qkw|h9k1OTuT785 zPLIrPj+9jzEyMJd9bltzaaOpJTR=9614vGqQ-XAYQPX4p;_YNpX(P$(;_XEK<+fj;-e7eSOFEIH)qGJpxT)K99ViIhajVfczhJifQR*409cb~ z+VO!Tf1i|DJ-3eJ_d_&q#ll2^j zJ3Tg9*in?!6APDfTfWF9D>AJX6ZtR>i$T7~=;DIIiNRF^NX0PqZ7mQm1%)PJ(B-G% zTy^DPKx8OmYUOTrSv_1C7@8z!ZHPvf#uvY}wu}AR+NZ+*V@1+slx1`QeEci9Y~}}2 z;s5dEaCoBme;f>tpX~fU?&8@N|Bv%>p}k2iyLJOXMt?}&ASwy`oI)_NnZ6+?ff?wO zWF(%F4OF>%lU$anb$4pW8>`MoLzXt_NNPO*VtklxA*B*jD6KRXZ3xWTMt`SCn55u|BB?X;rq14}a67#I^$) zG)*irZ!2E%gL)y?*x*>uzy#ggifJ9xw`e;qCfUbnDJ7jH%VikPs-l5QamG^ysUv&T zkU8qh8uet1IZ{~S91K1LqbJ8t13}Gy#oFI=#r;b!tBeFrTc;@F zPFBfmLZ<69%5Tq-I456mox%*NwuptsaC_lmk$gE%qnl_!K9lF!G+eMKQCU(<83YNT z-V#cxBz%#*Oq2DhYkJN3u;b(7<2xbF@$s>ZIPCA{#5w;Q;eH`Llp*oW-ucVd&weI4 z?39nYS3WkU7EJkia;O8Mg|Fx@52FgvUpA{P$qRIxGP4|96PM5ATsJEz7hn{q?S$H? zbr73Gd*9b-KiyM(|I6jNoa@D`R8QSo;EMeJPfmtUwEN$~qv0<9=bb!TbpNXs=wo%> zHgFH@g7U!bgDs@+z87|q(Rx4ZCOrN5K3ulABgQpE@4Ec_v1Eb=>g^tvAN2?-1(@bB zX(=El3e`>4^Lg|Yt=L=zwjbDy*zR`Sud(aYD>|?S+HJ#Uadw_8qUr6nY{H6d z*gIRSvz(+aqEyp*DMN`lNm_0mFBt9iy#hkU#JtzaY`zQQb+`aFMJu$K{DR~6No<8B z{@<~KUzQydYoHx7IGxQRidwihD=zfgnjanBX99$iKTPs4kERuu450<@!fjGgO4`Xx z1V&U{QyT#WbsLAvXbN*>7zliFB7kM7D4ZrfAxLRPA^!hvBX_isOP>`wV4d9t{bSra zTzt*!QQ1ZJi|5Jv%DmENC~*dp|H-MnjZxJ(=@nG7Z4HYP{vAWYMOLbW?KRB?!QYm=7_c`!>ibK z=&^#*dC2|%i>UYGURkormw#%Od{f5t)ZxcPu$1fiqX^M)(*hCC7?A~>mRB5wym(`a zHep@Z2?2tfBw*{&VRRS1kLtw1N;GNWnOLVd%@hQ6NR@eWnnNRZw%SLL zdaSfNla{xZ6N&z#__fpp0)0f-y}HpNoK8uWy-Vo(4b zjw1AOX@_OTX4(~^EsiGhaN_&zBB3i!z(RBwxfUy&CyI7fMW#55AY3N@i}S|-SM4TM zGvV*{>%7h_Hf2 zLI7H3P{ssk=iv={2=X^0HCXgP}6gP0uuUfGcDATu&3EsCX)piujPwT z(0iOOS3^@LEbyE@=x#@a1a(zZheEk5dXqfN$$Y(- z5JZ0gZm}!_Q6@TM%)7^&=P2k2>H^i|6nwv)^8GaZg{m(5FQcA47)O>)5#w)-f^&DQ zzWf@VtR8;fhK@icOpUSI_BP0*q4tHxhOHy6Bvo;4bsU$qOlhf`&eUO0J6dTgFAfBy zrqKEHtk{K4L!{)Wa2U6IWFWD^>B2ZtL!>Wf3T>TdoP5SZq;%4%Nj; z?K80JS0z#U5Gz<#+L7!)O8e1>sCbh9dc{+urI& zFa3D>X=tY*UP(vKFusy{wtpMjuxrGBx#Ryt1-^DMfED#W4v&wt_`iewql3d;{NG(X z?)bm?Qik%~T_m8W4cT=xpg!zFiU<^Q_lpWN2xUeFnzRH^?mdf(-9%M&*UwzxgmZ&M zA5v;lE6GggKNYD=M3e1MTkgo?SrE)uUy+5To2D<(z>@%*K}{CH(HA#c(0vOU@*TRhG|^Ai>%`_J>6Go&W20) z8i@$=K$5AuIGU_LkB%jR;g$z~0zRegW*?I_D z30(uya-g+`Y8G3CHEc(SddF2d2)fJw>nPFgJAApUF(Bm@suTN$A7STdk|)z-(ee~S z4=_2tZ(2S3StCao1-*;2bIs>*wTPxsPX9+jMlp7@5~Gg!n027Ny0|#6$@~gvtZ#jA zlX?e&0&Y?h-XG7J6O;C}L*s9@ms9W9W!LOdete9Z$wkwimz~COlCxR@9SGzoHv>?# zL7Ve7Fs9)au>t1h1FlQ%<_oVg_ND+dKGOGIo`z%|UGK?a``7DBlEx$_*=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.6.3 diff --git a/stable/xteve/1.6.3/README.md b/stable/xteve/1.6.3/README.md new file mode 100644 index 00000000000..f38d78f9424 --- /dev/null +++ b/stable/xteve/1.6.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 1.6.2](https://img.shields.io/badge/Version-1.6.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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/xteve/1.6.3/app-readme.md b/stable/xteve/1.6.3/app-readme.md new file mode 100644 index 00000000000..cb6dd4c03dc --- /dev/null +++ b/stable/xteve/1.6.3/app-readme.md @@ -0,0 +1,4 @@ +M3U Proxy for Plex DVR and Emby Live TV. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +M3U Proxy for Plex DVR and Emby Live TV. diff --git a/stable/xteve/1.6.3/charts/common-6.10.7.tgz b/stable/xteve/1.6.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/xteve/1.6.3/ix_values.yaml b/stable/xteve/1.6.3/ix_values.yaml new file mode 100644 index 00000000000..ad5c311aa5b --- /dev/null +++ b/stable/xteve/1.6.3/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/stable/xteve/1.6.3/questions.yaml b/stable/xteve/1.6.3/questions.yaml new file mode 100644 index 00000000000..1055ca1f390 --- /dev/null +++ b/stable/xteve/1.6.3/questions.yaml @@ -0,0 +1,686 @@ +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 + + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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/xteve/1.6.3/templates/common.yaml b/stable/xteve/1.6.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/xteve/1.6.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/xteve/1.6.3/test_values.yaml b/stable/xteve/1.6.3/test_values.yaml new file mode 100644 index 00000000000..16d4e2ce37e --- /dev/null +++ b/stable/xteve/1.6.3/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/stable/xteve/1.6.3/values.yaml b/stable/xteve/1.6.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/zwavejs2mqtt/6.8.3/CONFIG.md b/stable/zwavejs2mqtt/6.8.3/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/stable/zwavejs2mqtt/6.8.3/CONFIG.md @@ -0,0 +1,8 @@ +# 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 Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### 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.8.3/Chart.lock b/stable/zwavejs2mqtt/6.8.3/Chart.lock new file mode 100644 index 00000000000..cde089b9ec9 --- /dev/null +++ b/stable/zwavejs2mqtt/6.8.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 +generated: "2021-08-28T12:41:38.446522583Z" diff --git a/stable/zwavejs2mqtt/6.8.3/Chart.yaml b/stable/zwavejs2mqtt/6.8.3/Chart.yaml new file mode 100644 index 00000000000..e7c4fe807f0 --- /dev/null +++ b/stable/zwavejs2mqtt/6.8.3/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +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.8.3 diff --git a/stable/zwavejs2mqtt/6.8.3/README.md b/stable/zwavejs2mqtt/6.8.3/README.md new file mode 100644 index 00000000000..7fa4dd2e330 --- /dev/null +++ b/stable/zwavejs2mqtt/6.8.3/README.md @@ -0,0 +1,43 @@ +# Introduction + +![Version: 6.8.2](https://img.shields.io/badge/Version-6.8.2-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.10.6 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- 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.8.3/app-readme.md b/stable/zwavejs2mqtt/6.8.3/app-readme.md new file mode 100644 index 00000000000..309c7f0168f --- /dev/null +++ b/stable/zwavejs2mqtt/6.8.3/app-readme.md @@ -0,0 +1,4 @@ +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.8.3/charts/common-6.10.7.tgz b/stable/zwavejs2mqtt/6.8.3/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/stable/zwavejs2mqtt/6.8.3/ix_values.yaml b/stable/zwavejs2mqtt/6.8.3/ix_values.yaml new file mode 100644 index 00000000000..4ab2b7e7fde --- /dev/null +++ b/stable/zwavejs2mqtt/6.8.3/ix_values.yaml @@ -0,0 +1,58 @@ +## +# 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.4.6 + +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.8.3/questions.yaml b/stable/zwavejs2mqtt/6.8.3/questions.yaml new file mode 100644 index 00000000000..44f5af2983f --- /dev/null +++ b/stable/zwavejs2mqtt/6.8.3/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: 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 + - 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: "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: 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 + - 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: Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: 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: supplementalGroups + label: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + schema: + type: int + - 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.8.3/templates/common.yaml b/stable/zwavejs2mqtt/6.8.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/zwavejs2mqtt/6.8.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/zwavejs2mqtt/6.8.3/test_values.yaml b/stable/zwavejs2mqtt/6.8.3/test_values.yaml new file mode 100644 index 00000000000..c39efcf3a64 --- /dev/null +++ b/stable/zwavejs2mqtt/6.8.3/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.4.6 + +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.8.3/values.yaml b/stable/zwavejs2mqtt/6.8.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d